Subject: executables from devel/binutils not used by buildink3
To: None <tech-pkg@NetBSD.org>
From: Klaus Heinz <k.heinz.feb.vier@onlinehome.de>
List: tech-pkg
Date: 02/25/2004 23:08:03
Hi,
building multimedia/mplayer on NetBSD/i386 1.5.4_ALPHA I encountered the
problem that binutils is required, but not found during the "configure"
stage:
...
===> Required installed package binutils>=2.14.0: binutils-2.14.0.0 found
===> Required installed package gcc>=2.95.3: gcc-2.95.3 found
...
===> Configuring for mplayer-1.0rc3nb1
Detected operating system: NetBSD
Detected host architecture: i386
Checking for gcc version ... 2.95.3, ok
...
Checking for assembler (as 2.9.1) ... failed
Upgrade binutils to 2.10.1 ...
There seem to be at least two problems:
$ bmake show-var VARNAME=AS
/bin/as
This should be /usr/pkg/i386--netbsdelf/bin/as, set in
binutils/buildlink3.mk to ${BUILDLINK_PREFIX.binutils}/bin/as. But I
cannot see where BUILDLINK_PREFIX.binutils is supposed to be set:
$ bmake show-var VARNAME=BUILDLINK_PREFIX.binutils
$
Somehow the behaviour described in bsd.buildlink3.mk
# If the buildlink3.mk tries to handle dependencies satisfied directly by
# the base system, then it should provide an appropriate value for
# BUILDLINK_PREFIX.<pkg> for that case. The case where a dependency is
# satisfied by a pkgsrc-installed package is handled automatically by
# this file.
doesn't happen for in this case. Could this be some mistake connected
with PHASES_AFTER_BUILDLINK and PKG_PHASE in bsd.buildlink3.mk? The
default definition for BUILDLINK_PREFIX.<pkg> is surrounded by
.if !empty(PHASES_AFTER_BUILDLINK:M${PKG_PHASE})
.endif
If I copy this from binutils/Makefile to binutils/buildlink3.mk
BUILDLINK_PREFIX.binutils= ${PREFIX}/${MACHINE_GNU_PLATFORM}
the values of AS, AR, NM, LD and RANDLIB are correct, but they don't
seem to get used anywhere in mk/buildlink3/* and WRKSRC/.worklog shows,
/usr/bin/as is used in WKRSRC/.buildlink/bin/as.
What am I missing?
ciao
Klaus