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

Reply via email to