On Thu, Mar 20, 2003 at 02:02:01PM -0600, Ken Y. Clark wrote: > The only "libtoolize" on my system is the one in "/sw/bin" put there > by Fink, which, I assume, goes along with the "glibtool" in the same > directory. But the "libtool" that's in my $PATH is in "/usr/bin" put > there by Apple. While I believe the Apple libtool is actually the GNU > project's libtool, these are definitely different binaries. If I run > BUILD.sh after freshly unpacking the source for libapreq, I get the > following error: > > libtool: ltconfig version `' does not match ltmain.sh version `1.3.5'
Ken, The name "libtool" is an unfortunate victim of a name collision. NeXT computer, way back when, was creating their cleaned up version of BSD and Mach, they named their utility to make multiple architecture shared libraries "libtool". At some other point in time, the FSF developed their own program called 'libtool' to hide platform specific differences betwen shared and static libraries across different operating system. The two different libtool programs do two different things, and have different calling arguments. Its a shame that the two programs cause such confusion because of their name. Maybe we should rename one of them. I suggest calling one of them "joe". I guess the important point though is that the Fink libtool is the GNU libtool, for building traditional Unix things that assume the GNU toolchain. The Apple libtool is similar to the Unix ranlib command. > Again, I think this is because of the differences between the libtool > binaries. If I wipe out the source directory, unpack the original > tarball, skip running BUILD.sh, and go right to the "./configure ..." > step, I can get through the configuration and first "make" step. But > then I get the above "undefined symbols" error stated above. > > If I try to use the libtool* binaries in "/sw/bin" to do all the > building, then I get a different error: > > libtool: unrecognized option `-arch_only' > > Because Apple's libtool accepts this option, but, alas, Fink's libtool does > not. Did you run ./configure again after putting /sw/bin at the beginning of your path? It could be that the first time that configure ran and it had to figure out how to build a library, it came across /usr/bin/libtool. When you switched it around so that the build could find GNU libtool from Fink, it was trying to use /sw/bin/libtool for both purposes. -- If you want to be an astronaught, you need to know all the planets, because you wouldn't want to be surprised. -- Samantha Langmead, age 5 1/2
