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