Re: libstdc++
Hi Ethan, Please keep the mailing list copied; this is useful for others as well. Thank you. * Ethan A Burns wrote on Thu, Oct 27, 2005 at 03:01:56AM CEST: The link line that is failing is: /bin/sh ../libtool --mode=link gcc -g -pipe -Wall -Werror -I../src -g -O2 -I/usr/include/SDL -D_REENTRANT -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -o test test.o -L../src -lemf -lSDL -lpthread -lGLU -lGL gcc -g -pipe -Wall -Werror -I../src -g -O2 -I/usr/include/SDL -D_REENTRANT -Wl,-rpath -Wl,/usr/lib -o .libs/test test.o -L/usr/lib -L/home/eaburns/emf-0.9_1/src /home/eaburns/emf-0.9_1/src/.libs/libemf.so -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/../../../i686-pc-linux-gnu/lib -L/usr/X11R6/lib /usr/lib/libSDL.so //usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so -lgcc_s -lc /usr/lib/libaa.so -lncurses /usr/lib/libGLU.so -lSM -lICE -lXmu -lXt -lXi -lpthread /usr/lib/libGL.so -lm -lX11 -lXext -ldl -Wl,--rpath -Wl,//usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130 gcc: //usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so: No such file or directory make[1]: *** [test] Error 1 Thank you for looking at my problem, if there is any more information that you may need I will be glad to try and find it for you. I think I know what's happening: the libstdc++ is picked up as a dependency library for one of the libraries you link against. To find out which one, you could check each library's .la file, if present and where found. However, we'll be able to pinpoint it easily if you just send the output of this command back (it's above line with --debug added), when executed in the right directory: /bin/sh ../libtool --debug --mode=link gcc -g -pipe -Wall -Werror -I../src -g -O2 -I/usr/include/SDL -D_REENTRANT -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -o test test.o -L../src -lemf -lSDL -lpthread -lGLU -lGL You can compress (bzip2, gzip) if you like. One more thing: I believe you should get rid of the -L/usr/lib -Wl,-rpath,/usr/lib part, wherever that came from. Probably sdl-config --libs gave you that, unnecessarily. Cheers, Ralf ___ Bug-libtool mailing list Bug-libtool@gnu.org http://lists.gnu.org/mailman/listinfo/bug-libtool
Re: libstdc++
Hello Ralf, Sorry, I did not realize I didn't have the list CCed. I removed the sdl-config -libs from the configure script with the same results. I also ran the debug command that you requested the output should be attached as a .bz2. Thanks!, --Ethan-- Hi Ethan, Please keep the mailing list copied; this is useful for others as well. Thank you. * Ethan A Burns wrote on Thu, Oct 27, 2005 at 03:01:56AM CEST: The link line that is failing is: /bin/sh ../libtool --mode=link gcc -g -pipe -Wall -Werror -I../src -g -O2 -I /usr/include/SDL -D_REENTRANT -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -o test test.o -L../src -lemf -lSDL -lpthread -lGLU -lGL gcc -g -pipe -Wall -Werror -I../src -g -O2 -I/usr/include/SDL -D_REENTRANT - Wl,-rpath -Wl,/usr/lib -o .libs/test test.o -L/usr/lib -L/home/eaburns/emf-0. 9_1/src /home/eaburns/emf-0.9_1/src/.libs/libemf.so -L/usr/i686-pc-linux-gnu/b in -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/../../../ i686-pc-linux-gnu/lib -L/usr/X11R6/lib /usr/lib/libSDL.so //usr/lib/gcc-lib/i6 86-pc-linux-gnu/3.3.5-20050130/libstdc++.so -lgcc_s -lc /usr/lib/libaa.so -lnc urses /usr/lib/libGLU.so -lSM -lICE -lXmu -lXt -lXi -lpthread /usr/lib/libGL.s o -lm -lX11 -lXext -ldl -Wl,--rpath -Wl,//usr/lib/gcc-lib/i686-pc-linux-gnu/3. 3.5-20050130 gcc: //usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so: No suc h file or directory make[1]: *** [test] Error 1 Thank you for looking at my problem, if there is any more information that you may need I will be glad to try and find it for you. I think I know what's happening: the libstdc++ is picked up as a dependency library for one of the libraries you link against. To find out which one, you could check each library's .la file, if present and where found. However, we'll be able to pinpoint it easily if you just send the output of this command back (it's above line with --debug added), when executed in the right directory: /bin/sh ../libtool --debug --mode=link gcc -g -pipe -Wall -Werror -I../src -g -O2 -I/usr/include/SDL -D_REENTRANT -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpt hread -o test test.o -L../src -lemf -lSDL -lpthread -lGLU -lGL You can compress (bzip2, gzip) if you like. One more thing: I believe you should get rid of the -L/usr/lib -Wl,-rpath,/usr/lib part, wherever that came from. Probably sdl-config --libs gave you that, unnecessarily. Cheers, Ralf binySlLrc5Fgr.bin Description: application/bzip2 ___ Bug-libtool mailing list Bug-libtool@gnu.org http://lists.gnu.org/mailman/listinfo/bug-libtool
Re: libstdc++
Hi Ethan, * Ethan A Burns wrote on Thu, Oct 27, 2005 at 06:14:16PM CEST: Sorry, I did not realize I didn't have the list CCed. No problem at all. The reminder is also to avoid unpleasant surprises on your side. ;-) I removed the sdl-config -libs from the configure script with the same results. OK. It /could/ be that this may actually break things, but it looks like it doesn't. (The underlying issue here is that `sdl-config -libs' just should not output the /usr/lib part, the fact that you are using it in general is quite alright.) I also ran the debug command that you requested the output should be attached as a .bz2. Thanks. It confirms my suspicion: The file /usr/lib/libSDL.la contains a reference to //usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.la and surely /home/eaburns/emf-0.9_1/src/libemf.la does, too, because it links against the former and thus picked it up. As I don't know gentoo too well, I'm not certain about who is the culprit here. I *believe* libSDL does not contain C++ code, so it should not have been linked against libstdc++, consequently /usr/lib/libSDL.la should not reference it. Did you compile the installed libSDL yourself? If not, I guess it would be best if you filed a bug with the corresponding gentoo package, so it can be fixed upstream. If libSDL instead *does* contain C++ code, then instead there probably should be a (developer) package dependency on the C++ library, I guess. (I really don't know how gentoo does this stuff, so I'm extrapolating Debian here, hand-wavingly :) As a workaround, you could remove the libstdc++ part (not the rest!) in the dependency_libs line from /usr/lib/libSDL.la, then relink your package (be sure to recreate /home/eaburns/emf-0.9_1/src/libemf.la as well!). Then everything should work, given that libstdc++ really isn't needed. Finally, if I may add a completely unrelated hint: there already exists a package libEMF[1], which may or may not be related to your package. If it's not, it may prove beneficial to both if they had distinct names. :-) Cheers, Ralf [1] See http://libemf.sf.net/. No, I don't have any affiliation with it, I just happen to have used it before. ___ Bug-libtool mailing list Bug-libtool@gnu.org http://lists.gnu.org/mailman/listinfo/bug-libtool
Re: libstdc++
Hello Ralf, Thank you for your responce. Since this computer is not mine, I will find out how SDL was compiled and see if I can fix the problem from there. If it is an issue with the gentoo package, I will cc the list with the result from gentoo. Also thank you for telling me about the conflicting package names, I was unaware of libEMF and will change the name of my library! Thanks! --Ethan-- Hi Ethan, * Ethan A Burns wrote on Thu, Oct 27, 2005 at 06:14:16PM CEST: Sorry, I did not realize I didn't have the list CCed. No problem at all. The reminder is also to avoid unpleasant surprises on your side. ;-) I removed the sdl-config -libs from the configure script with the same results. OK. It /could/ be that this may actually break things, but it looks like it doesn't. (The underlying issue here is that `sdl-config -libs' just should not output the /usr/lib part, the fact that you are using it in general is quite alright.) I also ran the debug command that you requested the output should be attached as a .bz2. Thanks. It confirms my suspicion: The file /usr/lib/libSDL.la contains a reference to //usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.la and surely /home/eaburns/emf-0.9_1/src/libemf.la does, too, because it links against the former and thus picked it up. As I don't know gentoo too well, I'm not certain about who is the culprit here. I *believe* libSDL does not contain C++ code, so it should not have been linked against libstdc++, consequently /usr/lib/libSDL.la should not reference it. Did you compile the installed libSDL yourself? If not, I guess it would be best if you filed a bug with the corresponding gentoo package, so it can be fixed upstream. If libSDL instead *does* contain C++ code, then instead there probably should be a (developer) package dependency on the C++ library, I guess. (I really don't know how gentoo does this stuff, so I'm extrapolating Debian here, hand-wavingly :) As a workaround, you could remove the libstdc++ part (not the rest!) in the dependency_libs line from /usr/lib/libSDL.la, then relink your package (be sure to recreate /home/eaburns/emf-0.9_1/src/libemf.la as well!). Then everything should work, given that libstdc++ really isn't needed. Finally, if I may add a completely unrelated hint: there already exists a package libEMF[1], which may or may not be related to your package. If it's not, it may prove beneficial to both if they had distinct names. :-) Cheers, Ralf [1] See http://libemf.sf.net/. No, I don't have any affiliation with it, I just happen to have used it before. ___ Bug-libtool mailing list Bug-libtool@gnu.org http://lists.gnu.org/mailman/listinfo/bug-libtool
Re: libstdc++
Hi Ethan, Thanks for your bug report. * Ethan A Burns wrote on Wed, Oct 26, 2005 at 08:25:08PM CEST: I have a library that I programmed in C. There is no C++ here, however, on my roomate's Gentoo box (Linux 2.6.11.7 i686 AMD Athlon(tm) Processor AuthenticAMD GNU/Linux) libtool 1.15.18 seems to want libstdc++.so to exist. He does not have this library. I realize a quick fix would be to install the library, however, it is not necessary to link with this (it works fine with out it on my FreeBSD box libtool 1.15.14). I was wondering if this was a bug with the new libtool (I saw other bugs related to libstdc++) or if it was a configuration problem? Hmm, not that I know of. But that may be because I don't quite understand yet what's going wrong in your case. Please show how you use libtool in your package, and the link line that fails including its output? Cheers, Ralf ___ Bug-libtool mailing list Bug-libtool@gnu.org http://lists.gnu.org/mailman/listinfo/bug-libtool