libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: no-undefined, solaris sun studio and pain


From: Bob Friesenhahn
Subject: Re: no-undefined, solaris sun studio and pain
Date: Thu, 24 Dec 2009 09:38:16 -0600 (CST)
User-agent: Alpine 2.01 (GSO 1266 2009-07-14)

On Wed, 23 Dec 2009, Monty Taylor wrote:

Thing is - libprotobuf.so hasn't been installed in /usr/local/lib/amd64
yet, so the -lprotobuf seems to trigger the unknown symbols above.

If I remove -no-undefined from the LDFLAGS or I manually edit the above
line to do:

CC -G -zdefs -hlibprotoc.so.6 -o .libs/libprotoc.so.6.0.0   <various .o
files snipped>  -R/usr/local/lib/amd64 -L/usr/local/lib/amd64
.libs/libprotobuf.so -library=stlport4 -library=Crun -lpthread -lz -lc
-template=no%extdef -mt -m64   -mt

It works. Of course, I know the above editing is wrong, because it
really wants to be linked with -lprotobuf. Am I just SOL in terms of
being able to use -no-undefined in this case? It would be nice to get
that error on the compile-for-tree stage but not have it apply to the
relink for install phase.

I believe that the problem is with the order that the libraries are being installed. Unfortunately, Automake does not fully understand library dependencies so it is necessary to list the libraries in the correct dependency order for installation since programs and libraries may be re-linked at install time. Consider that if an old version of libprotobuf.so had already been installed, that this old version would be accidentally used rather than the new version you are installing. If you have two libraries which depend on each other's symbols, then the libraries will need to be redesigned.

Bob
--
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]