Re: Solaris/g++ linking problems

Paul Pluzhnikov <ppluzhnikov@charter.net>
7 Sep 2004 23:50:08 -0400

          From comp.compilers

Related articles
Solaris/g++ linking problems Slattery_T@bls.gov (2004-09-03)
Re: Solaris/g++ linking problems ppluzhnikov@charter.net (Paul Pluzhnikov) (2004-09-07)
Re: Solaris/g++ linking problems josejuanmr@lycos.es (Jose Juan Mendoza Rodriguez) (2004-09-07)
| List of all articles for this month |

From: Paul Pluzhnikov <ppluzhnikov@charter.net>
Newsgroups: comp.compilers
Date: 7 Sep 2004 23:50:08 -0400
Organization: Posted via Supernews, http://www.supernews.com
References: 04-09-027
Keywords: C++, linker
Posted-Date: 07 Sep 2004 23:50:08 EDT

Slattery_T@bls.gov (Tim Slattery) writes:


> I suspect that g++ uses a different name mangling convention than the
> Sun compiler that created the *.so files.


You bet. In general, object files compiled with different C++
compilers are not link-compatible, and the different mangling schemes
are used to make sure nobody can succeed in linking such objects
together.


You've been saved: had you succeeded in linking, you'd be likely
looking at a runtime crash, which would have been much harder to
debug, especially without the source to the library.


> Is there anything that can convert the *.so files into
> something that I can use?


No. But you can ask the vendor to supply you with a g++-linkable
version of the library. Be sure to ask for specific g++ version,
as object layout (and link compatibility) has changed between
g++-2.95.x, 3.0, 3.1, and 3.2 (AFAIK).


Cheers,
--
In order to understand recursion you must first understand recursion.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.