Operating System - HP-UX
1756996 Members
2303 Online
108858 Solutions
New Discussion юеВ

Re: Linker error while linking the static library

 
Samir Benjamin
Occasional Advisor

Linker error while linking the static library

Hi,

We are facing this issue while linking, all the source code compiled fine. The options that we used during compilation are:

/opt/aCC/bin/aCC -g0 -D__STDC_32_MODE__ -DCS_FML32 -D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L -DNOWHAT -AP -v -w -I.

it compiles fine, but during link time its gives us the following error:

/opt/aCC/bin/aCC -g0 -Wl,+s -Wl,+k,-Bimmediate -L. -L. -L/opt/siadev/sxbenja/SIA/lib -L/opt/tuxdir/tuxedo8.1/lib -L/opt/tuxdir/tuxedo8.1/lib -o sialog sialog_v1.o -lsharemem_v1 -lutils
ld: Unsatisfied symbol "setfill(int)" in file sialog_v1.o
ld: Unsatisfied symbol "rwse_PosBeyondEndOfString" in file ./libsharemem_v1.a[SharedMem_v1.o]
ld: Unsatisfied symbol "basic_string,allocator>::nullref" in file sialog_v1.o
ld: Unsatisfied symbol "ostream::operator<<(char const*)" in file sialog_v1.o
ld: Unsatisfied symbol "rwse_StringIndexOutOfRange" in file sialog_v1.o
ld: Unsatisfied symbol "HPMutexWrapper::~HPMutexWrapper()(complete)" in file sialog_v1.o
ld: Unsatisfied symbol "virtual table of length_error" in file sialog_v1.o
ld: Unsatisfied symbol "hex(ios&)" in file sialog_v1.o
ld: Unsatisfied symbol "type info of length_error" in file sialog_v1.o
ld: Unsatisfied symbol "rwse_ResultLenInvalid" in file sialog_v1.o
ld: Unsatisfied symbol "setw(int)" in file sialog_v1.o
ld: Unsatisfied symbol "HPMutexWrapper::init()" in file sialog_v1.o
ld: Unsatisfied symbol "ifstream::open(char const*,int,int)" in file ./libsharemem_v1.a[SharedMem_v1.o]
ld: Unsatisfied symbol "Iostream_init::~Iostream_init()(complete)" in file sialog_v1.o
ld: Unsatisfied symbol "rwse_UnexpectedNullPtr" in file sialog_v1.o
ld: Unsatisfied symbol "ostream::operator<<(ios& (*)(ios&))" in file sialog_v1.o
ld: Unsatisfied symbol "Iostream_init::Iostream_init()(complete)" in file sialog_v1.o
ld: Unsatisfied symbol "ifstream::ifstream()(complete)" in file ./libsharemem_v1.a[SharedMem_v1.o]
ld: Unsatisfied symbol "ifstream::~ifstream()(complete)" in file ./libsharemem_v1.a[SharedMem_v1.o]
ld: Unsatisfied symbol "cerr" in file sialog_v1.o
ld: Unsatisfied symbol "rwse_InvalidSizeParam" in file sialog_v1.o
ld: Unsatisfied symbol "fstreambase::close()" in file ./libsharemem_v1.a[SharedMem_v1.o]
ld: Unsatisfied symbol "cout" in file sialog_v1.o
ld: Unsatisfied symbol "istream::do_ipfx(int)" in file ./libsharemem_v1.a[SharedMem_v1.o]
ld: Unsatisfied symbol "endl(ostream&)" in file sialog_v1.o
ld: Unsatisfied symbol "filebuf::openprot" in file ./libsharemem_v1.a[SharedMem_v1.o]
ld: Unsatisfied symbol "ostream::operator<<(int)" in file sialog_v1.o
ld: Unsatisfied symbol "ostream::operator<<(unsigned long)" in file sialog_v1.o
ld: Unsatisfied symbol "HPMutexWrapper::unlock(void*)" in file sialog_v1.o
ld: Unsatisfied symbol "virtual table of logic_error" in file sialog_v1.o
ld: Unsatisfied symbol "type info of logic_error" in file sialog_v1.o
ld: Unsatisfied symbol "HPMutexWrapper::lock(void*)" in file sialog_v1.o
ld: Unsatisfied symbol "type info of out_of_range" in file sialog_v1.o
ld: Unsatisfied symbol "virtual table of out_of_range" in file sialog_v1.o

we have included teh following header files:
#include
#include
#include
#include
#include
#include
in sialog_v1.cpp

and
#include
#include
#include
#include
#include
in SharedMem_v1.cpp

Any issues with the above headers which is causing the link time errors.
4 REPLIES 4
Samir Benjamin
Occasional Advisor

Re: Linker error while linking the static library

I have foudn the solution by including the -lstream -lstd libraries
Dennis Handly
Acclaimed Contributor

Re: Linker error while linking the static library

(On HP-UX these are called archive libs, not static libs.)

>by including the -lstream -lstd libraries

You must NOT do that, except when creating shlibs.

>but during link time its gives us the following error:
>aCC -g0 -Wl,+s -Wl,+k,-Bimmediate

If you are going to compile with -AP, you must also link with -AP.
Your kludge is creating an unsupported application that is mixing -AA and -AP.
Samir Benjamin
Occasional Advisor

Re: Linker error while linking the static library

Great Thanks. Its worked with -AP option with "Archive library" -> As you say sir...
Dennis Handly
Acclaimed Contributor

Re: Linker error while linking the static library

>Great Thanks.

If you are happy with your answers, please read the following about reopening threads and assigning points:
http://forums.itrc.hp.com/service/forums/helptips.do?#41
http://forums.itrc.hp.com/service/forums/helptips.do?#33