By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
428,586 Members | 623 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 428,586 IT Pros & Developers. It's quick & easy.

Problems linking C++ code s on the Cray X1

P: n/a
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.
Jul 22 '05 #1
Share this Question
Share on Google+
16 Replies


P: n/a

"Rob Ratcliff" <rr*****@futuretek.com> wrote in message
news:Ip******************@fe1.texas.rr.com...
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.


The FAQ might help, 34.12 to 34.15

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

john
Jul 22 '05 #2

P: n/a

"Rob Ratcliff" <rr*****@futuretek.com> wrote in message
news:Ip******************@fe1.texas.rr.com...
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.


The FAQ might help, 34.12 to 34.15

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

john
Jul 22 '05 #3

P: n/a
John Harrison wrote:
"Rob Ratcliff" <rr*****@futuretek.com> wrote in message
news:Ip******************@fe1.texas.rr.com...

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

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
Jul 22 '05 #4

P: n/a
John Harrison wrote:
"Rob Ratcliff" <rr*****@futuretek.com> wrote in message
news:Ip******************@fe1.texas.rr.com...

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

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
Jul 22 '05 #5

P: n/a

"Rob Ratcliff" <rr*****@futuretek.com> wrote in message
news:G9******************@fe1.texas.rr.com...
John Harrison wrote:
"Rob Ratcliff" <rr*****@futuretek.com> wrote in message
news:Ip******************@fe1.texas.rr.com...

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

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


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
Jul 22 '05 #6

P: n/a

"Rob Ratcliff" <rr*****@futuretek.com> wrote in message
news:G9******************@fe1.texas.rr.com...
John Harrison wrote:
"Rob Ratcliff" <rr*****@futuretek.com> wrote in message
news:Ip******************@fe1.texas.rr.com...

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

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


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
Jul 22 '05 #7

P: n/a
* Rob Ratcliff <rr*****@futuretek.com> schriebt:
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.


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?
Jul 22 '05 #8

P: n/a
* Rob Ratcliff <rr*****@futuretek.com> schriebt:
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.


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?
Jul 22 '05 #9

P: n/a
Rob Ratcliff wrote:
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 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.

Jul 22 '05 #10

P: n/a
Rob Ratcliff wrote:
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 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.

Jul 22 '05 #11

P: n/a
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 <rr*****@futuretek.com> schriebt:
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:
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 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="mi*********************@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:pa*********************@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: <pa*********************@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--


--
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?
Jul 22 '05 #12

P: n/a
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 <rr*****@futuretek.com> schriebt:
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:
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 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="mi*********************@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:pa*********************@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: <pa*********************@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--


--
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?
Jul 22 '05 #13

P: n/a
Alf P. Steinbach wrote:
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.

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
Jul 22 '05 #14

P: n/a
Alf P. Steinbach wrote:
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.

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
Jul 22 '05 #15

P: n/a
Rob Ratcliff wrote:
http://www.cray.com/craydoc/manuals/.../qwxbmrwh.html

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

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).
Jul 22 '05 #16

P: n/a
Rob Ratcliff <rr*****@futuretek.com> writes:
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_5CORBA9StringDefSFP Z1Z_v" -- First
referenced in "../idl/libidl.a:db.o".


Ghu only knows that I do not know anything about this. Almost a decade
ago, I did "maintain" and "develop" loaders, but I neither nor never
created ".ti" files.

First, I do not think that the length of the mangled name has anything
to do with it.

Second, the problem is almost certainly within the CORBA stuff.

Somewhere in the AT&T stuff, or Cray stuff, there is a demangler. The
first thing I would do is to demangle the names. That may give you a
clue to which template or namespace is at fault.

And my memory is faulty. I'm pretty certain that I never wrote a
message beginning "ld-XXX", unless it was for COS --- and that never ran
UNICOS.

C++ with templates is difficult.
--
J.Otto Tennant jo***@pobox.com
Forsan et haec olim meminisse juvabit.
Charter Member of the Vast Right Wing Conspiracy
Jul 22 '05 #17

This discussion thread is closed

Replies have been disabled for this discussion.