ports/80735: FreeBSD default autotools install does not comply with "standard"
Gabriel O'Brien
go at quay.net
Sat May 7 17:10:02 UTC 2005
>Number: 80735
>Category: ports
>Synopsis: FreeBSD default autotools install does not comply with "standard"
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat May 07 17:10:02 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Gabriel O'Brien
>Release: 5.3-RELEASE-p13
>Organization:
>Environment:
FreeBSD sol.quay.net 5.3-RELEASE-p13 FreeBSD 5.3-RELEASE-p13 #2: Fri May 6 17:27:14 EDT 2005 root at sol.quay.net:/usr/obj/usr/src/sys/SOL i386
>Description:
I have discovered this bug when trying to use PHP's pear installer with certain packages. A specific example is when trying to install APC (http://pecl.php.net/package/APC) using my own (not the default FreeBSD) installation of PHP (4.3.11) and Apache (2.0.54) (though this has been present in every version of PHP and Apache I have tried in the past year). I've searched the bugs but don't see it anywhere, if this is a duplicate I apologize.
This will also fail with the same error message if you try to install mmcache (http://turck-mmcache.sourceforge.net/) "manually", i.e.: without using pear, but running the ./configure script. It fails on the step when you run phpize with the same error message as a pear install does.
sol# pear install APC
downloading APC-2.0.4.tgz ...
Starting to download APC-2.0.4.tgz (44,606 bytes)
...........done: 44,606 bytes
35 source files, building
running: phpize
Configuring for:
PHP Api Version: 20020918
Zend Module Api No: 20020429
Zend Extension Api No: 20021010
aclocal: not found
`phpize' failed
I suspect that there may be some sort of non-default trickery I could do in my autotools Makefiles in order to force a more standard installation, however that would seem quite contrary to the idea that FreeBSD is a standards oriented platform (which it certainly is in my experience). I would expect that packages in ports would install in a useable manner "out of the box". I have a functioning solution/work-around and at least part of my intention is writing this bug is to make sure that at the very least this workaround is searchable.
I have the following relevant ports installed:
autoconf-2.59_2
automake-1.9.5
bison-1.75_2
libtool-1.3.5_2
libtool-1.5.10_1
My ports tree was synched and rebuilt using cvsup and portupgrade on 2005-05-06 at appx. 20:00 EDT.
>How-To-Repeat:
Step 1
Install Apache and PHP manually with the following options:
Apache:
./configure --prefix=/opt/apache \
--enable-so \
--enable-mods-shared="ssl usertrack alias rewrite"
make
make install
PHP:
./configure --prefix=/opt/php \
--with-apxs2=/opt/apache/bin/apxs \
--with-mysql=/usr/local \
--with-imap-ssl=/usr/local \
--with-imap=/usr/local \
--enable-force-cgi-redirect \
--enable-discard-path \
--with-zlib \
--enable-ftp \
--with-bz2 \
--with-dom \
--with-openssl=/usr \
--enable-exif \
--with-gd \
--with-jpeg \
--with-png \
--with-gettext \
--with-mm \
--with-mcal \
--with-mcrypt \
--enable-mbstring \
--enable-mbstr-enc-trans \
--enable-mbregex
Then run /opt/php/bin/pear install APC
>Fix:
This simple fix seems to work correctly:
#!/bin/sh
cd /usr/local/share
tar cfp aclocal-orig.tar aclocal # backup the dir just in case
tar cfp aclocal19-orig.tar aclocal19 # backup the dir just in case
ln -s /usr/local/bin/aclocal19 /usr/local/bin/aclocal
ln -s /usr/local/bin/automake19 /usr/local/bin/automake
ln -s /usr/local/bin/autoconf259 /usr/local/bin/autoconf
ln -s /usr/local/bin/autoheader259 /usr/local/bin/autoheader
ln -s /usr/local/bin/libtool15 /usr/local/bin/libtool
ln -s /usr/local/bin/libtoolize15 /usr/local/bin/libtoolize
ln -s /usr/local/share/aclocal/libtool15.m4 /usr/local/share/aclocal/libtool.m4
cd /usr/local/share/aclocal19
for f in *; do ln -s /usr/local/share/aclocal19/$f /usr/local/share/aclocal/$f; done
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list