Connecting Tech Pros Worldwide Forums | Help | Site Map

Problems linking C++ code s on the Cray X1

Rob Ratcliff
Guest
 
Posts: n/a
#1: Jul 22 '05
I'm compiling the latest version of a CORBA ORB called MICO on a Cray
X1. It makes heavy use of templates and namespaces.
Up until the link step, the C++ source code compiled flawlessly. But,
when it tried to link, I got the attached warnings and then an error.
Any ideas why the linker wouldn't see the objects in the library? They
look like pretty long names,
so maybe there is some type of symbol length or mangling issue going
on? The mangled names appear in the ".ti" files as well.
Anybody have similar problems with linking similar C++ code on the Cray?

I'm not an expert C++ programmer, but I have a lot of tenacity and
energy. :-)
So if you have any ideas I can try out no matter how obscure, please
let me know.

CC -I. -I../idl -I../include -O2 -L. -L../idl -L../orb main.o -L.
-lidl -lmicoir2.3.11 -lmico2.3.11 -ldl -lelf -lm -o ird
ld-400 ld: WARNING
Unresolved text symbol
"release__34ObjVar__tm__20_Q2_5CORBA9StringDefSFPZ 1Z_v" -- First
referenced in "../idl/libidl.a:db.o".
ld-400 ld: WARNING
Unresolved text symbol
"release__36ObjVar__tm__22_Q2_5CORBA10WstringDefSF PZ1Z_v" -- First
referenced in "../idl/libidl.a:db.o".
ld-400 ld: WARNING
Unresolved text symbol
"release__37ObjVar__tm__23_Q2_5CORBA11SequenceDefS FPZ1Z_v" -- First
referenced in "../idl/libidl.a:db.o".
ld-400 ld: WARNING
Unresolved text symbol
"release__33ObjVar__tm__19_Q2_5CORBA8FixedDefSFPZ1 Z_v" -- First
referenced in "../idl/libidl.a:db.o".
ld-400 ld: WARNING
Unresolved text symbol
"release__33ObjVar__tm__19_Q2_5CORBA8ArrayDefSFPZ1 Z_v" -- First
referenced in "../idl/libidl.a:db.o".
ld-400 ld: WARNING
Unresolved text symbol
"release__38ObjVar__tm__24_Q2_5CORBA12PrimitiveDef SFPZ1Z_v" -- First
referenced in "../idl/libidl.a:db.o".
ld-400 ld: WARNING
....
Unresolved text symbol
"release__59ObjVar__tm__45_Q2_14PortableServer23Re questProcessingPolicySFPZ1Z_v"
-- First referenced in
"../orb/libmico2.3.11.a:poa_impl.o".
ld-400 ld: WARNING
Unresolved text symbol
"release__50ObjVar__tm__36_Q2_14PortableServer14Se rvantManagerSFPZ1Z_v"
-- First referenced in
"../orb/libmico2.3.11.a:poa_impl.o".
ld-400 ld: WARNING
Unresolved text symbol
"release__52ObjVar__tm__38_Q2_14PortableServer16Ad apterActivatorSFPZ1Z_v"
-- First referenced in
"../orb/libmico2.3.11.a:poa_impl.o".
ld-401 ld: ERROR
Unresolved text symbol(s). Loading terminated.

John Harrison
Guest
 
Posts: n/a
#2: Jul 22 '05

re: Problems linking C++ code s on the Cray X1



"Rob Ratcliff" <rrr6399@futuretek.com> wrote in message
news:Ippcc.56399$o_.39568@fe1.texas.rr.com...[color=blue]
> I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> X1. It makes heavy use of templates and namespaces.
> Up until the link step, the C++ source code compiled flawlessly. But,
> when it tried to link, I got the attached warnings and then an error.
> Any ideas why the linker wouldn't see the objects in the library? They
> look like pretty long names,
> so maybe there is some type of symbol length or mangling issue going
> on? The mangled names appear in the ".ti" files as well.
> Anybody have similar problems with linking similar C++ code on the Cray?
>
> I'm not an expert C++ programmer, but I have a lot of tenacity and
> energy. :-)
> So if you have any ideas I can try out no matter how obscure, please
> let me know.
>[/color]

The FAQ might help, 34.12 to 34.15

http://www.parashift.com/c++-faq-lit...templates.html

john


John Harrison
Guest
 
Posts: n/a
#3: Jul 22 '05

re: Problems linking C++ code s on the Cray X1



"Rob Ratcliff" <rrr6399@futuretek.com> wrote in message
news:Ippcc.56399$o_.39568@fe1.texas.rr.com...[color=blue]
> I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> X1. It makes heavy use of templates and namespaces.
> Up until the link step, the C++ source code compiled flawlessly. But,
> when it tried to link, I got the attached warnings and then an error.
> Any ideas why the linker wouldn't see the objects in the library? They
> look like pretty long names,
> so maybe there is some type of symbol length or mangling issue going
> on? The mangled names appear in the ".ti" files as well.
> Anybody have similar problems with linking similar C++ code on the Cray?
>
> I'm not an expert C++ programmer, but I have a lot of tenacity and
> energy. :-)
> So if you have any ideas I can try out no matter how obscure, please
> let me know.
>[/color]

The FAQ might help, 34.12 to 34.15

http://www.parashift.com/c++-faq-lit...templates.html

john


Rob Ratcliff
Guest
 
Posts: n/a
#4: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


John Harrison wrote:
[color=blue]
>"Rob Ratcliff" <rrr6399@futuretek.com> wrote in message
>news:Ippcc.56399$o_.39568@fe1.texas.rr.com...
>
>[color=green]
>>I'm compiling the latest version of a CORBA ORB called MICO on a Cray
>>X1. It makes heavy use of templates and namespaces.
>>Up until the link step, the C++ source code compiled flawlessly. But,
>>when it tried to link, I got the attached warnings and then an error.
>>Any ideas why the linker wouldn't see the objects in the library? They
>>look like pretty long names,
>>so maybe there is some type of symbol length or mangling issue going
>>on? The mangled names appear in the ".ti" files as well.
>>Anybody have similar problems with linking similar C++ code on the Cray?
>>
>>The FAQ might help, 34.12 to 34.15
>>
>>http://www.parashift.com/c++-faq-lit...templates.html
>>
>>john
>>
>>[/color][/color]
Hi John,

Thanks for the link to the FAQ. There is a lot of great information
there. I read over the 34.12 and 34.5 and looked through the MICO source
code a bit more. It appears that the developers dutifully defined all of
the templates in include files so the linker should be able to tell what
to do. The code compiles fine with g++ 3.3 on IRIX (using the SGI's
linker), Solaris and Linux. The Cray doesn't have g++ ported yet as far
as I know. I wonder if there is a bug in the compiler or the linker?
Could there be something else wrong besides a bug?

Thanks,

Rob
Rob Ratcliff
Guest
 
Posts: n/a
#5: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


John Harrison wrote:
[color=blue]
>"Rob Ratcliff" <rrr6399@futuretek.com> wrote in message
>news:Ippcc.56399$o_.39568@fe1.texas.rr.com...
>
>[color=green]
>>I'm compiling the latest version of a CORBA ORB called MICO on a Cray
>>X1. It makes heavy use of templates and namespaces.
>>Up until the link step, the C++ source code compiled flawlessly. But,
>>when it tried to link, I got the attached warnings and then an error.
>>Any ideas why the linker wouldn't see the objects in the library? They
>>look like pretty long names,
>>so maybe there is some type of symbol length or mangling issue going
>>on? The mangled names appear in the ".ti" files as well.
>>Anybody have similar problems with linking similar C++ code on the Cray?
>>
>>The FAQ might help, 34.12 to 34.15
>>
>>http://www.parashift.com/c++-faq-lit...templates.html
>>
>>john
>>
>>[/color][/color]
Hi John,

Thanks for the link to the FAQ. There is a lot of great information
there. I read over the 34.12 and 34.5 and looked through the MICO source
code a bit more. It appears that the developers dutifully defined all of
the templates in include files so the linker should be able to tell what
to do. The code compiles fine with g++ 3.3 on IRIX (using the SGI's
linker), Solaris and Linux. The Cray doesn't have g++ ported yet as far
as I know. I wonder if there is a bug in the compiler or the linker?
Could there be something else wrong besides a bug?

Thanks,

Rob
John Harrison
Guest
 
Posts: n/a
#6: Jul 22 '05

re: Problems linking C++ code s on the Cray X1



"Rob Ratcliff" <rrr6399@futuretek.com> wrote in message
news:G9zcc.61741$o_.41668@fe1.texas.rr.com...[color=blue]
> John Harrison wrote:
>[color=green]
> >"Rob Ratcliff" <rrr6399@futuretek.com> wrote in message
> >news:Ippcc.56399$o_.39568@fe1.texas.rr.com...
> >
> >[color=darkred]
> >>I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> >>X1. It makes heavy use of templates and namespaces.
> >>Up until the link step, the C++ source code compiled flawlessly. But,
> >>when it tried to link, I got the attached warnings and then an error.
> >>Any ideas why the linker wouldn't see the objects in the library? They
> >>look like pretty long names,
> >>so maybe there is some type of symbol length or mangling issue going
> >>on? The mangled names appear in the ".ti" files as well.
> >>Anybody have similar problems with linking similar C++ code on the Cray?
> >>
> >>The FAQ might help, 34.12 to 34.15
> >>
> >>http://www.parashift.com/c++-faq-lit...templates.html
> >>
> >>john
> >>
> >>[/color][/color]
> Hi John,
>
> Thanks for the link to the FAQ. There is a lot of great information
> there. I read over the 34.12 and 34.5 and looked through the MICO source
> code a bit more. It appears that the developers dutifully defined all of
> the templates in include files so the linker should be able to tell what
> to do. The code compiles fine with g++ 3.3 on IRIX (using the SGI's
> linker), Solaris and Linux. The Cray doesn't have g++ ported yet as far
> as I know. I wonder if there is a bug in the compiler or the linker?
> Could there be something else wrong besides a bug?
>
> Thanks,
>
> Rob[/color]

I'm afraid I don't know enough about CORBA or the Cray to diagnose your
problem. You could try looking through the source for the undefined symbols
StringDef, WstringDef, SequenceDef etc. to see if there is anything about
those that stands out.

john


John Harrison
Guest
 
Posts: n/a
#7: Jul 22 '05

re: Problems linking C++ code s on the Cray X1



"Rob Ratcliff" <rrr6399@futuretek.com> wrote in message
news:G9zcc.61741$o_.41668@fe1.texas.rr.com...[color=blue]
> John Harrison wrote:
>[color=green]
> >"Rob Ratcliff" <rrr6399@futuretek.com> wrote in message
> >news:Ippcc.56399$o_.39568@fe1.texas.rr.com...
> >
> >[color=darkred]
> >>I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> >>X1. It makes heavy use of templates and namespaces.
> >>Up until the link step, the C++ source code compiled flawlessly. But,
> >>when it tried to link, I got the attached warnings and then an error.
> >>Any ideas why the linker wouldn't see the objects in the library? They
> >>look like pretty long names,
> >>so maybe there is some type of symbol length or mangling issue going
> >>on? The mangled names appear in the ".ti" files as well.
> >>Anybody have similar problems with linking similar C++ code on the Cray?
> >>
> >>The FAQ might help, 34.12 to 34.15
> >>
> >>http://www.parashift.com/c++-faq-lit...templates.html
> >>
> >>john
> >>
> >>[/color][/color]
> Hi John,
>
> Thanks for the link to the FAQ. There is a lot of great information
> there. I read over the 34.12 and 34.5 and looked through the MICO source
> code a bit more. It appears that the developers dutifully defined all of
> the templates in include files so the linker should be able to tell what
> to do. The code compiles fine with g++ 3.3 on IRIX (using the SGI's
> linker), Solaris and Linux. The Cray doesn't have g++ ported yet as far
> as I know. I wonder if there is a bug in the compiler or the linker?
> Could there be something else wrong besides a bug?
>
> Thanks,
>
> Rob[/color]

I'm afraid I don't know enough about CORBA or the Cray to diagnose your
problem. You could try looking through the source for the undefined symbols
StringDef, WstringDef, SequenceDef etc. to see if there is anything about
those that stands out.

john


Alf P. Steinbach
Guest
 
Posts: n/a
#8: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


* Rob Ratcliff <rrr6399@futuretek.com> schriebt:[color=blue]
> I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> X1. It makes heavy use of templates and namespaces.
> Up until the link step, the C++ source code compiled flawlessly. But,
> when it tried to link, I got the attached warnings and then an error.
> Any ideas why the linker wouldn't see the objects in the library? They
> look like pretty long names,
> so maybe there is some type of symbol length or mangling issue going
> on? The mangled names appear in the ".ti" files as well.
> Anybody have similar problems with linking similar C++ code on the Cray?
>
> I'm not an expert C++ programmer, but I have a lot of tenacity and
> energy. :-)
> So if you have any ideas I can try out no matter how obscure, please
> let me know.
>
> CC -I. -I../idl -I../include -O2 -L. -L../idl -L../orb main.o -L.
> -lidl -lmicoir2.3.11 -lmico2.3.11 -ldl -lelf -lm -o ird
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__34ObjVar__tm__20_Q2_5CORBA9StringDefSFPZ 1Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__36ObjVar__tm__22_Q2_5CORBA10WstringDefSF PZ1Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__37ObjVar__tm__23_Q2_5CORBA11SequenceDefS FPZ1Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__33ObjVar__tm__19_Q2_5CORBA8FixedDefSFPZ1 Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__33ObjVar__tm__19_Q2_5CORBA8ArrayDefSFPZ1 Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__38ObjVar__tm__24_Q2_5CORBA12PrimitiveDef SFPZ1Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> ...
> Unresolved text symbol
> "release__59ObjVar__tm__45_Q2_14PortableServer23Re questProcessingPolicySFPZ1Z_v"
> -- First referenced in
> "../orb/libmico2.3.11.a:poa_impl.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__50ObjVar__tm__36_Q2_14PortableServer14Se rvantManagerSFPZ1Z_v"
> -- First referenced in
> "../orb/libmico2.3.11.a:poa_impl.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__52ObjVar__tm__38_Q2_14PortableServer16Ad apterActivatorSFPZ1Z_v"
> -- First referenced in
> "../orb/libmico2.3.11.a:poa_impl.o".
> ld-401 ld: ERROR
> Unresolved text symbol(s). Loading terminated.[/color]

Perhaps too obvious, but have you noticed that all of the missing symbols
are of the form


release__xxObjVar__tm__yy__Q2__


where xx and yy are numbers within small ranges?

Depending on the name mangling scheme of your compiler 'release' might be a
function called 'release' or a destructor; the former is much more likely,
I think.

Perhaps it's ObjVar::release that isn't defined, or release( ObjVar )?

Now I remember from earlier experience with Corba that you had to generate
some wrapper/interface-code by running a special tool.

Are you sure that's being done, and included in the build?

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Alf P. Steinbach
Guest
 
Posts: n/a
#9: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


* Rob Ratcliff <rrr6399@futuretek.com> schriebt:[color=blue]
> I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> X1. It makes heavy use of templates and namespaces.
> Up until the link step, the C++ source code compiled flawlessly. But,
> when it tried to link, I got the attached warnings and then an error.
> Any ideas why the linker wouldn't see the objects in the library? They
> look like pretty long names,
> so maybe there is some type of symbol length or mangling issue going
> on? The mangled names appear in the ".ti" files as well.
> Anybody have similar problems with linking similar C++ code on the Cray?
>
> I'm not an expert C++ programmer, but I have a lot of tenacity and
> energy. :-)
> So if you have any ideas I can try out no matter how obscure, please
> let me know.
>
> CC -I. -I../idl -I../include -O2 -L. -L../idl -L../orb main.o -L.
> -lidl -lmicoir2.3.11 -lmico2.3.11 -ldl -lelf -lm -o ird
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__34ObjVar__tm__20_Q2_5CORBA9StringDefSFPZ 1Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__36ObjVar__tm__22_Q2_5CORBA10WstringDefSF PZ1Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__37ObjVar__tm__23_Q2_5CORBA11SequenceDefS FPZ1Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__33ObjVar__tm__19_Q2_5CORBA8FixedDefSFPZ1 Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__33ObjVar__tm__19_Q2_5CORBA8ArrayDefSFPZ1 Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__38ObjVar__tm__24_Q2_5CORBA12PrimitiveDef SFPZ1Z_v" -- First
> referenced in "../idl/libidl.a:db.o".
> ld-400 ld: WARNING
> ...
> Unresolved text symbol
> "release__59ObjVar__tm__45_Q2_14PortableServer23Re questProcessingPolicySFPZ1Z_v"
> -- First referenced in
> "../orb/libmico2.3.11.a:poa_impl.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__50ObjVar__tm__36_Q2_14PortableServer14Se rvantManagerSFPZ1Z_v"
> -- First referenced in
> "../orb/libmico2.3.11.a:poa_impl.o".
> ld-400 ld: WARNING
> Unresolved text symbol
> "release__52ObjVar__tm__38_Q2_14PortableServer16Ad apterActivatorSFPZ1Z_v"
> -- First referenced in
> "../orb/libmico2.3.11.a:poa_impl.o".
> ld-401 ld: ERROR
> Unresolved text symbol(s). Loading terminated.[/color]

Perhaps too obvious, but have you noticed that all of the missing symbols
are of the form


release__xxObjVar__tm__yy__Q2__


where xx and yy are numbers within small ranges?

Depending on the name mangling scheme of your compiler 'release' might be a
function called 'release' or a destructor; the former is much more likely,
I think.

Perhaps it's ObjVar::release that isn't defined, or release( ObjVar )?

Now I remember from earlier experience with Corba that you had to generate
some wrapper/interface-code by running a special tool.

Are you sure that's being done, and included in the build?

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Rob Ratcliff
Guest
 
Posts: n/a
#10: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


Rob Ratcliff wrote:
[color=blue]
> I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> X1. It makes heavy use of templates and namespaces.
> Up until the link step, the C++ source code compiled flawlessly. But,
> when it tried to link, I got the attached warnings and then an error.
> Any ideas why the linker wouldn't see the objects in the library? They
> look like pretty long names,
> so maybe there is some type of symbol length or mangling issue going
> on? The mangled names appear in the ".ti" files as well.
> Anybody have similar problems with linking similar C++ code on the Cray?[/color]

I saw this blurb at Cray about the prelinker:

1.

When the object files are linked together, a program called the
/prelinker/ is run. It examines the object files, looking for
references and definitions of template entities and for any
additional information about entities that could be instantiated.

*Caution:*


The prelinker examines the object files in a library (.a) file
but, because it does not modify them, is not able to assign
template instantiations to them.

http://www.cray.com/craydoc/manuals/.../qwxbmrwh.html

So I'm running some experiments without using libraries....stay tuned.

Rob Ratcliff
Guest
 
Posts: n/a
#11: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


Rob Ratcliff wrote:
[color=blue]
> I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> X1. It makes heavy use of templates and namespaces.
> Up until the link step, the C++ source code compiled flawlessly. But,
> when it tried to link, I got the attached warnings and then an error.
> Any ideas why the linker wouldn't see the objects in the library? They
> look like pretty long names,
> so maybe there is some type of symbol length or mangling issue going
> on? The mangled names appear in the ".ti" files as well.
> Anybody have similar problems with linking similar C++ code on the Cray?[/color]

I saw this blurb at Cray about the prelinker:

1.

When the object files are linked together, a program called the
/prelinker/ is run. It examines the object files, looking for
references and definitions of template entities and for any
additional information about entities that could be instantiated.

*Caution:*


The prelinker examines the object files in a library (.a) file
but, because it does not modify them, is not able to assign
template instantiations to them.

http://www.cray.com/craydoc/manuals/.../qwxbmrwh.html

So I'm running some experiments without using libraries....stay tuned.

Alf P. Steinbach
Guest
 
Posts: n/a
#12: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


Could you please refrain from posting HTML on the Usenet?

Look at any quality FAQ for guidelines on how to post, and what not
to post.


* Rob Ratcliff <rrr6399@futuretek.com> schriebt:[color=blue]
> This is a multi-part message in MIME format.
> --------------080307070007000308040602
> Content-Type: text/plain; charset=us-ascii; format=flowed
> Content-Transfer-Encoding: 7bit
>
> Rob Ratcliff wrote:
>[color=green]
> > I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> > X1. It makes heavy use of templates and namespaces.
> > Up until the link step, the C++ source code compiled flawlessly. But,
> > when it tried to link, I got the attached warnings and then an error.
> > Any ideas why the linker wouldn't see the objects in the library? They
> > look like pretty long names,
> > so maybe there is some type of symbol length or mangling issue going
> > on? The mangled names appear in the ".ti" files as well.
> > Anybody have similar problems with linking similar C++ code on the Cray?[/color]
>
> I saw this blurb at Cray about the prelinker:
>
> 1.
>
> When the object files are linked together, a program called the
> /prelinker/ is run. It examines the object files, looking for
> references and definitions of template entities and for any
> additional information about entities that could be instantiated.
>
> *Caution:*
>
>
> The prelinker examines the object files in a library (.a) file
> but, because it does not modify them, is not able to assign
> template instantiations to them.
>
> http://www.cray.com/craydoc/manuals/.../qwxbmrwh.html
>
> So I'm running some experiments without using libraries....stay tuned.
>
> --------------080307070007000308040602
> Content-Type: multipart/related;
> boundary="------------040804010203080202020305"
>
>
> --------------040804010203080202020305
> Content-Type: text/html; charset=us-ascii
> Content-Transfer-Encoding: 7bit
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <html>
> <head>
> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
> <title></title>
> </head>
> <body bgcolor="#ffffff" text="#000000">
> Rob Ratcliff wrote:
> <blockquote cite="midIppcc.56399$o_.39568@fe1.texas.rr.com" type="cite">I'm
> compiling the latest version of a CORBA ORB called MICO on a Cray X1.
> It makes heavy use of templates and namespaces.
> <br>
> Up until the link step, the C++ source code compiled flawlessly. But,
> when it tried to link, I got the attached warnings and then an error.
> <br>
> Any ideas why the linker wouldn't see the objects in the library? They
> look like pretty long names,
> <br>
> so maybe there is some type of symbol length or mangling issue going
> on?&nbsp; The mangled names appear in the ".ti" files as well.
> <br>
> Anybody have similar problems with linking similar C++ code on the
> Cray? <br>
> </blockquote>
> I saw this blurb at Cray about the prelinker:<br>
> <ol type="1">
> <li>
> <p><a name="AEN9279"></a>When the object files are linked together,
> a program called the <i class="FIRSTTERM">prelinker</i> is run. It
> examines the object files, looking for
> references and definitions of template entities and for any additional
> information about entities that
> could be instantiated.</p>
> <div class="CAUTION">
> <table class="CAUTION" border="0" width="600" cellpadding="10">
> <tbody>
> <tr>
> <td align="left" valign="top"><b>Caution:</b><br>
> <img src="cid:part1.00030808.00010003@futuretek.com"
> alt="caution" border="0"></td>
> <td align="left" valign="top">
> <p>The prelinker examines the object files in a library (<tt
> class="LITERAL">.a</tt>) file but,
> because it does not modify them, is not able to assign template
> instantiations to them.</p>
> </td>
> </tr>
> </tbody>
> </table>
> </div>
> </li>
> </ol>
> <a class="moz-txt-link-freetext" href="http://www.cray.com/craydoc/manuals/S-2179-51/html-S-2179-51/qwxbmrwh.html">http://www.cray.com/craydoc/manuals/S-2179-51/html-S-2179-51/qwxbmrwh.html</a><br>
> <br>
> So I'm running some experiments without using libraries....stay tuned.<br>
> </body>
> </html>
>
> --------------040804010203080202020305
> Content-Type: image/gif;
> name="caution.gif"
> Content-Transfer-Encoding: base64
> Content-ID: <part1.00030808.00010003@futuretek.com>
> Content-Disposition: inline;
> filename="caution.gif"
>
> R0lGODlhIAAgAKEAAP///wAAAP//AAAAACH5BAEAAAAALAAAAAAgACAAAAJ+hI+py+3/goT0
> BIFDhRcLqW1M54GiQpbTiaRqyLova5DgfNpgZ+avhKukdjoYZb jzfFYc5fIWjDiJU2ZDRlX2
> HNhk1YhyvsRPLvl53iZkY7K6dUanrbW4PVqPQ+dG9s9fZmGXxZ c3CHQYAnjnNrHI+AVANElZ
> SdRimUlJs1EAACH+H0R5bmFXZWIodG0pIGJ5IEcuVC5OaWNvbC BhdCBFQlQAOw==
> --------------040804010203080202020305--
>
> --------------080307070007000308040602--[/color]

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Alf P. Steinbach
Guest
 
Posts: n/a
#13: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


Could you please refrain from posting HTML on the Usenet?

Look at any quality FAQ for guidelines on how to post, and what not
to post.


* Rob Ratcliff <rrr6399@futuretek.com> schriebt:[color=blue]
> This is a multi-part message in MIME format.
> --------------080307070007000308040602
> Content-Type: text/plain; charset=us-ascii; format=flowed
> Content-Transfer-Encoding: 7bit
>
> Rob Ratcliff wrote:
>[color=green]
> > I'm compiling the latest version of a CORBA ORB called MICO on a Cray
> > X1. It makes heavy use of templates and namespaces.
> > Up until the link step, the C++ source code compiled flawlessly. But,
> > when it tried to link, I got the attached warnings and then an error.
> > Any ideas why the linker wouldn't see the objects in the library? They
> > look like pretty long names,
> > so maybe there is some type of symbol length or mangling issue going
> > on? The mangled names appear in the ".ti" files as well.
> > Anybody have similar problems with linking similar C++ code on the Cray?[/color]
>
> I saw this blurb at Cray about the prelinker:
>
> 1.
>
> When the object files are linked together, a program called the
> /prelinker/ is run. It examines the object files, looking for
> references and definitions of template entities and for any
> additional information about entities that could be instantiated.
>
> *Caution:*
>
>
> The prelinker examines the object files in a library (.a) file
> but, because it does not modify them, is not able to assign
> template instantiations to them.
>
> http://www.cray.com/craydoc/manuals/.../qwxbmrwh.html
>
> So I'm running some experiments without using libraries....stay tuned.
>
> --------------080307070007000308040602
> Content-Type: multipart/related;
> boundary="------------040804010203080202020305"
>
>
> --------------040804010203080202020305
> Content-Type: text/html; charset=us-ascii
> Content-Transfer-Encoding: 7bit
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <html>
> <head>
> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
> <title></title>
> </head>
> <body bgcolor="#ffffff" text="#000000">
> Rob Ratcliff wrote:
> <blockquote cite="midIppcc.56399$o_.39568@fe1.texas.rr.com" type="cite">I'm
> compiling the latest version of a CORBA ORB called MICO on a Cray X1.
> It makes heavy use of templates and namespaces.
> <br>
> Up until the link step, the C++ source code compiled flawlessly. But,
> when it tried to link, I got the attached warnings and then an error.
> <br>
> Any ideas why the linker wouldn't see the objects in the library? They
> look like pretty long names,
> <br>
> so maybe there is some type of symbol length or mangling issue going
> on?&nbsp; The mangled names appear in the ".ti" files as well.
> <br>
> Anybody have similar problems with linking similar C++ code on the
> Cray? <br>
> </blockquote>
> I saw this blurb at Cray about the prelinker:<br>
> <ol type="1">
> <li>
> <p><a name="AEN9279"></a>When the object files are linked together,
> a program called the <i class="FIRSTTERM">prelinker</i> is run. It
> examines the object files, looking for
> references and definitions of template entities and for any additional
> information about entities that
> could be instantiated.</p>
> <div class="CAUTION">
> <table class="CAUTION" border="0" width="600" cellpadding="10">
> <tbody>
> <tr>
> <td align="left" valign="top"><b>Caution:</b><br>
> <img src="cid:part1.00030808.00010003@futuretek.com"
> alt="caution" border="0"></td>
> <td align="left" valign="top">
> <p>The prelinker examines the object files in a library (<tt
> class="LITERAL">.a</tt>) file but,
> because it does not modify them, is not able to assign template
> instantiations to them.</p>
> </td>
> </tr>
> </tbody>
> </table>
> </div>
> </li>
> </ol>
> <a class="moz-txt-link-freetext" href="http://www.cray.com/craydoc/manuals/S-2179-51/html-S-2179-51/qwxbmrwh.html">http://www.cray.com/craydoc/manuals/S-2179-51/html-S-2179-51/qwxbmrwh.html</a><br>
> <br>
> So I'm running some experiments without using libraries....stay tuned.<br>
> </body>
> </html>
>
> --------------040804010203080202020305
> Content-Type: image/gif;
> name="caution.gif"
> Content-Transfer-Encoding: base64
> Content-ID: <part1.00030808.00010003@futuretek.com>
> Content-Disposition: inline;
> filename="caution.gif"
>
> R0lGODlhIAAgAKEAAP///wAAAP//AAAAACH5BAEAAAAALAAAAAAgACAAAAJ+hI+py+3/goT0
> BIFDhRcLqW1M54GiQpbTiaRqyLova5DgfNpgZ+avhKukdjoYZb jzfFYc5fIWjDiJU2ZDRlX2
> HNhk1YhyvsRPLvl53iZkY7K6dUanrbW4PVqPQ+dG9s9fZmGXxZ c3CHQYAnjnNrHI+AVANElZ
> SdRimUlJs1EAACH+H0R5bmFXZWIodG0pIGJ5IEcuVC5OaWNvbC BhdCBFQlQAOw==
> --------------040804010203080202020305--
>
> --------------080307070007000308040602--[/color]

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Rob Ratcliff
Guest
 
Posts: n/a
#14: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


Alf P. Steinbach wrote:
[color=blue]
>Could you please refrain from posting HTML on the Usenet?
>
>Look at any quality FAQ for guidelines on how to post, and what not
>to post.
>
>[/color]
I actually posted it in text and HTML. Did it not work in your
newsreader? I figured these days, most people use readers that can grok
multipart documents with HTML formatted text. (I usually post in plain
text, but I had cut and pasted some formatted text from Cray's web page
and I thought the formatting would actually add to the discussion in
this case.) I'll clean up my act so to speak until the FAQ is updated
though. :-)

Thanks,

Rob


Rob Ratcliff
Guest
 
Posts: n/a
#15: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


Alf P. Steinbach wrote:
[color=blue]
>Could you please refrain from posting HTML on the Usenet?
>
>Look at any quality FAQ for guidelines on how to post, and what not
>to post.
>
>[/color]
I actually posted it in text and HTML. Did it not work in your
newsreader? I figured these days, most people use readers that can grok
multipart documents with HTML formatted text. (I usually post in plain
text, but I had cut and pasted some formatted text from Cray's web page
and I thought the formatting would actually add to the discussion in
this case.) I'll clean up my act so to speak until the FAQ is updated
though. :-)

Thanks,

Rob


Rob Ratcliff
Guest
 
Posts: n/a
#16: Jul 22 '05

re: Problems linking C++ code s on the Cray X1


Rob Ratcliff wrote:
[color=blue]
> http://www.cray.com/craydoc/manuals/.../qwxbmrwh.html
>
> So I'm running some experiments without using libraries....stay tuned[/color]


Well, that worked! The prelinker needed to modify the object files to
instantiate the template code and it couldn't do that when the object
files were already in the library. So the solution is to either link the
object files together without using libraries or to do a "dummy" link
with the object files before adding them to the respective archive
(library).
Closed Thread


Similar C / C++ bytes