On Wed, May 28, 2003 at 04:39:42PM +0200, Robert Millan wrote: > On Tue, May 27, 2003 at 05:22:31PM +0200, Marcus Brinkmann wrote: > > > > A complete build log. If possible, the whole build three somewhere, that > > allows me to look at the actual object files. Then you need to repeat the > > gcc/link command that fails with -v, so we see the whole command. The > > version of gcc/g++/... (which Debian package) you are using is also > > important. > > see http://people.debian.org/~rmh/gtkgl2/
Ok. Yeah, this is what I meant with something being wrong with the X libraries. On my system, libGLU is linked against libstdc++: ulysses:~# objdump -p /usr/X11R6/lib/libGLU.so.1 |grep NEEDED NEEDED libstdc++-libc6.2-2.so.3 NEEDED libm.so.6 NEEDED libc.so.6 And if that dependency is there, usually things will work fine if you link against libGLU even if you do not link against its dependencies. So, even though the whole thing smells like rotten fish, as long as we do the same as GNU/Linux and have the NEEDED entry in libGLU, things should work just fine. However, this is still bogus, because the requirement is that you have to link with each library that is required, and in the right order, and you are not formally allowed to leave out a dependency of another library on the link line. This is particularly important if you want to link statically. If you link statically, the sharedl ibs dependency information is absent, and the linking will fail. This is the reason why projects with many library dependencies invented the -config scripts, so programs know what to link against: ulysses:~# pkg-config --libs gtk+ -L/usr/X11R6/lib -lgtk -lgdk -lXi -lXext -lX11 -lm -lglib Try this out, you can build programs against -lgtk without adding all libraries above, but not if you do it statically, and it is not formally correct. You are expected to list them all. Now, to libGLU. I don't remember if libGLU was a C++ library that had a C interface, or the other way round. In any way, they are doing somethig pretty strange. Formally, your bug reports have been correct, because you are required to list all dependencies. However, it might be the simplest thing to just make sure that libGLU has the inter-library dependency to libstdc++ and that this will make things work automagically for all situations in that it works on GNU/Linux, and leave these people with their errors. I think this only leaves us with libgcrypt. Thanks, Marcus -- `Rhubarb is no Egyptian god.' GNU http://www.gnu.org [EMAIL PROTECTED] Marcus Brinkmann The Hurd http://www.gnu.org/software/hurd/ [EMAIL PROTECTED] http://www.marcus-brinkmann.de/

