| Summary: | USE_LIBTOOL_VER overwrites autoconf-PATH | ||
|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Alex Kiesel <kiesel> |
| Component: | Individual Port(s) | Assignee: | Ade Lovett <ade> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Latest | ||
| Hardware: | Any | ||
| OS: | Any | ||
Responsible Changed From-To: freebsd-ports-bugs->ade over to libtool maintainer State Changed From-To: open->closed Fixed with new bsd.autotools.mk |
When using USE_LIBTOOL_VER in a ports Makefile, various environment variables are extended with the supplied path to the libtool executables. The same is done when having USE_AUTOMAKE_VER or USE_AUTOCONF_VER, so e.g. SCRIPTS_ENV ends up like this: PORTOBJFORMAT=elf PATH=/usr/local/libexec/autoconf213:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/root/bin PATH=/usr/local/libexec/libtool13:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/root/bin BSD_INSTALL_PROGRAM=install -c -s -o root -g wheel -m 555 BSD_INSTALL_SCRIPT=install -c -o root -g wheel -m 555 BSD_INSTALL_DATA=install -c -o root -g wheel -m 444 BSD_INSTALL_MAN=install -c -o root -g wheel -m 444 CURDIR=/mnt/home/alex/libtoolbug DISTDIR=/usr/ports/distfiles WRKDIR=/mnt/home/alex/libtoolbug/work WRKSRC=/mnt/home/alex/libtoolbug/work/php-gtk-0.5.2 PATCHDIR=/mnt/home/alex/libtoolbug/files SCRIPTDIR=/mnt/home/alex/libtoolbug/scripts FILESDIR=/mnt/home/alex/libtoolbug/files PORTSDIR=/usr/ports DEPENDS= PREFIX=/usr/local LOCALBASE=/usr/local X11BASE=/usr/X11R6 The PATH= setting shows up twice with the last entry overwriting the first one. As a consequence, either libtool is in the current path or autoconf/automake, whichever is in the 'last' PATH. This breaks e.g. PHP's phpize. How-To-Repeat: Use a Makefile like this (showing only the essential lines): USE_LIBTOOL_VER= 14 USE_AUTOMAKE_VER= 15 USE_AUTOCONF_VER= 253 pre-configure: @${ECHO_MSG} ${SCRIPTS_ENV}