Subject: Re: more problems with devel/libstroke on MacOS X
To: None <rh@netbsd.org>
From: John D. Baker <jdbaker@mylinuxisp.com>
List: tech-pkg
Date: 04/10/2004 21:14:54
On Sat, 10 Apr 2004, John D. Baker wrote:

> I found where the patch made libstroke link explicitly with -ltcl83
> and changed it in the Makefile.in to -ltcl84.
>
> This got me a little further until it failed as follows:
>
> [...]
>  gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I/Volumes/NetBSD/pkgsrc/devel/libstroke/work/.x11-buildlink/include -no-cpp-precomp -I/Volumes/NetBSD/pkgsrc/devel/libstroke/work/.buildlink/include -O2 -c tcl.c -o tcl.o >/dev/null 2>&1
> /bin/sh ../libtool --mode=link gcc  -O2 -I/usr/pkg/include -L/usr/pkg/lib -L/usr/X11R6/lib -o libstroke_tcl.la -rpath /usr/pkg/lib -ltcl84 -version-info 0:3:0 tcl.lo stroke.lo
> gcc -dynamiclib -flat_namespace -undefined suppress -o .libs/libstroke_tcl.0.3.dylib  .libs/tcl.o .libs/stroke.o  -L/Volumes/NetBSD/pkgsrc/devel/libstroke/work/.buildlink/lib -L/Volumes/NetBSD/pkgsrc/devel/libstroke/work/.x11-buildlink/lib /Volumes/NetBSD/pkgsrc/devel/libstroke/work/.buildlink/lib/libtcl84.dylib -install_name  /usr/pkg/lib/libstroke_tcl.0.dylib -compatibility_version 1 -current_version 1.3
> ld: multiple definitions of symbol _point
> .libs/tcl.o definition of _point in section (__DATA,__common)
> .libs/stroke.o definition of _point in section (__DATA,__common)
> /usr/bin/libtool: internal link edit command failed
> *** Error code 1
>
> Stop.
> bmake: stopped in /Volumes/NetBSD/pkgsrc/devel/libstroke/work/libstroke-0.3/libstroke
> [...]

I just looked again and saw that the linker was complaining about two
object files in libstroke itself.  What's wierd is that there is no
"point" (single token by itself) identifier anywhere in either source file,
source.c or tcl.c.

Maybe something screwy with the MacOS 10.2.8 linker (haven't tried on
10.1.5 yet)?

-- 
John D. Baker, KN5UKS                    NetBSD     Darwin/MacOS X
jdbaker(at)mylinuxisp(dot)com                 OpenBSD            FreeBSD
BSD -- It just sits there and _works_!