For Programmers: Free Programming Magazines  


Home > Archive > Unix Programming > January 2006 > Unresolved symbol using STLport on HPUX 11









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Unresolved symbol using STLport on HPUX 11
Torsten Mueller

2006-01-18, 7:58 am

For several reasons I have to use STLport on a HPUX 11 (PA_RISC). I
downloaded Version 4.6.2 and compiled it using the hpacc-Makefile
without any errors. The resulting libs are now in /usr/local/lib and
the headers in /usr/local/include/stlport.

Now I want to use this lib in a program. I took the sources and the
makefile from another HPUX machine. It compiled and linked very well
but when I start my program it says:

/usr/lib/dld.sl: Unresolved symbol: [Vtable]key:__dt__Q2_3std9exceptionFv (data) from /usr/local/lib/libstlport_aCC.sl
/usr/lib/dld.sl: Unresolved symbol: typeid__XTQ2_3std9exception_ (data) from /usr/local/lib/libstlport_aCC.sl
ABORT instruction (core dumped)

What does this mean exactly? I guess my shared lib assumes another lib
containing these symbols but I do not have one. But which one?

T.M.
Paul Pluzhnikov

2006-01-19, 4:06 am

Torsten Mueller <dev-null@shared-files.de> writes:

> Now I want to use this lib in a program. I took the sources and the
> makefile from another HPUX machine. It compiled and linked very well
> but when I start my program it says:
>
> /usr/lib/dld.sl: Unresolved symbol: [Vtable]key:__dt__Q2_3std9exceptionFv (data) from /usr/local/lib/libstlport_aCC.sl
> /usr/lib/dld.sl: Unresolved symbol: typeid__XTQ2_3std9exception_ (data) from /usr/local/lib/libstlport_aCC.sl
> ABORT instruction (core dumped)
>
> What does this mean exactly?


It means that libstlport_aCC.sl depends on external symbols:
std::exception::~exception()
typeid<std::exception>

> I guess my shared lib assumes another lib
> containing these symbols but I do not have one. But which one?


These come from /usr/lib/libCsup_v2.sl on my system.

That library should be automatically linked into your program,
provided you link with:

aCC -AA main.o ... -lstlport_aCC

I am guessing that you compiled libstlport_aCC.sl with the -AA flag,
but linking your main executable without -AA. You can't do that:
from "man aCC":

NOTE: Objects and libraries compiled with -AA are binary
incompatible with objects and libraries compiled without -AA.

Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2010 codecomments.com