Subject: pkgsrc-current supported on 1.3.X?
To: None <tech-pkg@netbsd.org>
From: Simon J. Gerraty <sjg@quick.com.au>
List: tech-pkg
Date: 09/20/1999 15:31:52
I needed to build amanda-client for sparc (1.4.1).
In order to ensure that the distfiles needed were picked up ok (the
sparc cannot access the net), I tried to rebuild amanda on my i386 box
which is still running 1.3.2.

I have WRKOBJDIR=/var/obj/pkgsrc in /etc/mk.conf on both
machines btw.

Anyway the build died at:


===>  Building for amanda-common-2.4.1p1
Making all in config
Making all in common-src
Making all in client-src
/usr/pkg/bin/pkglibtool--1.2p2 --mode=link cc -O -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/pkg/lib  -L/usr/pkg/lib -o versionsuffix  versionsuffix.o libamclient.la  ../common-src/libamanda.la -lm -lreadline -ltermcap
cc -O -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -L/usr/pkg/lib -o .libs/versionsuffix versionsuffix.o -R/usr/pkg/lib -L.libs -lamclient -L/usr/pkg/lib -L/usr/pkg/lib -L/usr/pkg/lib -lm -lreadline -ltermcap -R/usr/pkg/lib -L../common-src/.libs -lamanda -L/usr/pkg/lib -L/usr/pkg/lib -L/usr/pkg/lib -lm -lreadline -ltermcap -lm -lreadline -ltermcap
versionsuffix.o: Undefined symbol `_set_pname' referenced from text segment
*** Error code 1

I checked that ../common-src/.libs/libamanda.a does in fact contain
set_pname so I ran that last cc command line manually with -v:

gcc version 2.7.2.2+myc1
 ld -e start -dc -dp -R/usr/pkg/lib -R/usr/pkg/lib -o .libs/versionsuffix /usr/lib/crt0.o -L/usr/pkg/lib -L/usr/pkg/lib -L/usr/pkg/lib -L.libs -L/usr/pkg/lib -L/usr/pkg/lib -L/usr/pkg/lib -L../common-src/.libs -L/usr/pkg/lib -L/usr/pkg/lib -L/usr/pkg/lib -L/usr/libexec -R/usr/pkg/lib -R/usr/pkg/lib versionsuffix.o -lamclient -lm -lreadline -ltermcap -lamanda -lm -lreadline -ltermcap -lm -lreadline -ltermcap -lgcc -lc -lgcc
versionsuffix.o: Undefined symbol `_set_pname' referenced from text segment


Note that all the -L's have been gathered up before any -l's and that
as a result I'd expect /usr/pkg/lib to be searched for libamanda before
../common-src/.libs thus linking against the wrong libs.

nm /usr/pkg/lib/libamanda.a | grep set_pname

verifies that it is not in that lib.

Is there a simple work around?

--sjg