Hi Alan,
It doesn't want to link with the -Bstatic... But it links nicely with the static paths... In fact on the system is only 1 libpthread.a ... And that's not what is getting linked against because it returns errors related to symbols which cannot be found in the .so (somehow). I have no idea what's going on, but getting a list of ld which libraries it will link would certainly be helpful. Thanks 2008/6/15 Alan W. Irwin <[EMAIL PROTECTED]>: > On 2008-06-15 19:28+0200 Steven Van Ingelgem wrote: > > Hi Alan, >> >> >> I don't know why, but if I take the build command from cmake, and I insert >> the static libraries in there, it works all right. So somehow it's >> reverting >> itself to some other version of the static and/or dynamic libraries. >> > > You would only link to a dynamic library if there was a bug in ld on your > system so that -Bstatic was ignored. That's unlikely, but please exclude > that possibility completely by running "ldd -r" on the executable to get a > complete list of shared libraries that are being used (and also the -r > option gives you any unresolved symbols for your executable). > > If you are getting the wrong static library, then that means you have some > library search path where something other than /usr/lib is first on that > path. I wonder if you have the wrong version of the static library in > /usr/local/lib, and that path is first on the library search path for your > distro? > > >> The entire point of me reporting this in fact is that in cmake cvs this >> should have been resolved... Meaning that if I say in my CMakeLists file >> to >> link against the static library, it should just keep that link... Not try >> to >> be smart and change it ;-). >> > > You might be right, but I think you have to make your case with more > detail. > IOW, please do everything you can to identify the actual library being used > by the -Wl,-Bstatic -lpthread compiler option on your system. I mentioned > "ldd -r" above to eliminate one (remote) possibility. Also, I assume there > is a way to get the linker (ld) to list the actual static libraries it > uses, > but my linker knowledge doesn't stretch that far. _Thus, I hope some linker > expert here will be able to tell you how to do that._ But if nobody else > comments, perhaps you can find the alternative static library on your > system > and infer you are using that (for example, if "nm" on the alternate static > library shows none of the symbols that "ldd -r" shows are undefined for the > executable). > > Note, I am not a CMake developer, but I do have an interest in linking > issues which is why I am curious as to why -Wl,-Bstatic -lpthread is not > doing the expected thing on your system. > > > Alan > __________________________ > Alan W. Irwin > > Astronomical research affiliation with Department of Physics and Astronomy, > University of Victoria (astrowww.phys.uvic.ca). > > Programming affiliations with the FreeEOS equation-of-state implementation > for stellar interiors (freeeos.sf.net); PLplot scientific plotting > software > package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of > Linux Links project (loll.sf.net); and the Linux Brochure Project > (lbproject.sf.net). > __________________________ > > Linux-powered Science > __________________________ >
_______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
