Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 220519 - php extensions fail to compile with libtool-2.2.x
Summary: php extensions fail to compile with libtool-2.2.x
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
: 212777 220897 (view as bug list)
Depends on: 232538
Blocks: libtool-2.2
  Show dependency tree
 
Reported: 2008-05-06 05:28 UTC by Peter Volkov (RETIRED)
Modified: 2010-08-16 13:03 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Volkov (RETIRED) gentoo-dev 2008-05-06 05:28:53 UTC
creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
/bin/sh /var/tmp/portage/dev-php5/suhosin-0.9.23/work/suhosin-0.9.23/libtool --mode=compile i686-pc-linux-gnu-gcc  -I. -I/var/tmp/portage/dev-php5/suhosin-0.9.23/work/suhosin-0.9.23 -DPHP_ATOM_INC -I/var/tmp/portage/dev-php5/suhosin-0.9.23/work/suhosin-0.9.23/include -I/var/tmp/portage/dev-php5/suhosin-0.9.23/work/suhosin-0.9.23/main -I/var/tmp/portage/dev-php5/suhosin-0.9.23/work/suhosin-0.9.23 -I/usr/lib/php5/include/php -I/usr/lib/php5/include/php/main -I/usr/lib/php5/include/php/TSRM -I/usr/lib/php5/include/php/Zend -I/usr/lib/php5/include/php/ext -I/usr/lib/php5/include/php/ext/date/lib  -DHAVE_CONFIG_H  -O2 -march=i686 -pipe -mtune=i686   -c /var/tmp/portage/dev-php5/suhosin-0.9.23/work/suhosin-0.9.23/suhosin.c -o suhosin.lo
/var/tmp/portage/dev-php5/suhosin-0.9.23/work/suhosin-0.9.23/libtool: line 460: CDPATH: command not found
/var/tmp/portage/dev-php5/suhosin-0.9.23/work/suhosin-0.9.23/libtool: line 1152: func_opt_split: command not found
libtool: Version mismatch error.  This is libtool 2.2.4, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4
libtool: and run autoconf again.
make: *** [suhosin.lo] Ошибка 63
 *
 * ERROR: dev-php5/suhosin-0.9.23 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3579:  Called php-ext-source-r1_src_compile
 *             environment, line 2834:  Called die
 * The specific snippet of code:
 *       emake || die "Unable to make code";
 *  The die message:
 *   Unable to make code
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/dev-php5/suhosin-0.9.23/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-php5/suhosin-0.9.23/temp/environment'.
Comment 1 Christian Hoffmann (RETIRED) gentoo-dev 2008-05-06 10:55:11 UTC
Ok, this really sucks.
This patch fixes it:

diff -u -r1.16 php-ext-source-r1.eclass
--- php-ext-source-r1.eclass	6 Jan 2008 19:30:24 -0000	1.16
+++ php-ext-source-r1.eclass	6 May 2008 10:48:33 -0000
@@ -59,6 +59,8 @@
 	# Create configure out of config.m4
 	if [[ "${PHP_EXT_SKIP_PHPIZE}" != 'yes' ]] ; then
 		${PHPIZE}
+		rm aclocal.m4
+		eautoreconf
 	fi
 
 	# Concurrent PHP Apache2 modules support


But as we all know that it is wrong to run the autotools regeneration stuff in src_compile, I'm not going to commit this right now.
IMO $PHPIZE stuff should be moved to src_unpack (along with eautoreconf), the problem is that we currently don't export src_unpack and we'll probably have to fix several ebuilds to manually call it.

I think this affects every php extension (I verified by trying xdebug), so we'll need to fix the pecl eclass as well...

I'm not sure if I've got time to fix that before Saturday, so if anyone from php team can do it, feel free to.
Comment 2 Christian Hoffmann (RETIRED) gentoo-dev 2008-05-06 20:00:38 UTC
These are the ebuilds which need manual checking/fixing after we move the phpize code to src_unpack:

$ find -type f -and -not -path './dev-php4*' -and -name '*.ebuild' -exec grep -l 'inherit.*php-ext-' {} + | xargs grep -l 'src_unpack'
./dev-libs/ossp-uuid/ossp-uuid-1.6.1.ebuild
./dev-php5/eaccelerator/eaccelerator-0.9.5.1.ebuild
./dev-php5/pecl-apc/pecl-apc-3.0.16.ebuild
./dev-php5/pecl-apc/pecl-apc-3.0.16-r1.ebuild
./dev-php5/pecl-crack/pecl-crack-0.4.ebuild
./dev-php5/pecl-imagick/pecl-imagick-2.1.1_rc1.ebuild
./dev-php5/pecl-mcve/pecl-mcve-5.2.2-r1.ebuild
./dev-php5/pecl-memcache/pecl-memcache-2.0.4.ebuild
./dev-php5/php-gtk/php-gtk-2.0.0_beta-r1.ebuild
./dev-php5/php-gtk/php-gtk-2.0.0.ebuild
./dev-php5/php-java-bridge/php-java-bridge-2.0.8.ebuild
./dev-php5/php-qt/php-qt-0.9.ebuild
./dev-php5/pecl-htscanner/pecl-htscanner-0.8.1.ebuild
./sci-geosciences/mapserver/mapserver-5.0.0-r1.ebuild
Comment 3 Christian Hoffmann (RETIRED) gentoo-dev 2008-05-07 16:09:15 UTC
I committed a noop change to the eclass which should allow for graceful migration of the ebuilds.
Fixing all the ebuilds with explicit src_unpack to call the one from the eclass now...

The fix is already in the eclass, but commented out.
Comment 4 Christian Hoffmann (RETIRED) gentoo-dev 2008-05-07 16:24:20 UTC
./dev-php5/eaccelerator/eaccelerator-0.9.5.1.ebuild done

sci-geosciences: ./sci-geosciences/mapserver/mapserver-5.0.0-r1.ebuild is a bit strange, it fails for me, but for non-obvious reasons.
 * Using dev-lang/php-5.2.6-r1
 * 
cp: cannot stat `/var/tmp/portage/sci-geosciences/mapserver-5.0.0-r1/work/php_mapscript-versioned.so': No such file or directory

Apparently it doesn't use the related php eclass and builds the extension on its own, which does not work properly if php was built w/ USE=concurrentmodphp (because then all php extensions have to be build twice).
Comment 5 Christian Hoffmann (RETIRED) gentoo-dev 2008-05-07 17:03:41 UTC
> ./dev-libs/ossp-uuid/ossp-uuid-1.6.1.ebuild
dev-zero, please give your ok or simply do it yourself, thanks. ;)

> ./dev-php5/eaccelerator/eaccelerator-0.9.5.1.ebuild
> ./dev-php5/pecl-apc/pecl-apc-3.0.16.ebuild
> ./dev-php5/pecl-apc/pecl-apc-3.0.16-r1.ebuild
> ./dev-php5/pecl-crack/pecl-crack-0.4.ebuild
Done.

> ./dev-php5/pecl-imagick/pecl-imagick-2.1.1_rc1.ebuild
Bad versions punted.

> ./dev-php5/pecl-mcve/pecl-mcve-5.2.2-r1.ebuild
> ./dev-php5/pecl-memcache/pecl-memcache-2.0.4.ebuild
Done.

> ./dev-php5/php-gtk/php-gtk-2.0.0_beta-r1.ebuild
> ./dev-php5/php-gtk/php-gtk-2.0.0.ebuild
KillerX / anant, can you please fix those yourself? They call ./buildconf instead of running the eclass functions, looks wrong.

> ./dev-php5/php-java-bridge/php-java-bridge-2.0.8.ebuild
E_DONT_CARE (hardmasked).

> ./dev-php5/php-qt/php-qt-0.9.ebuild
Uses cmake and not autotools/libtool. I guess it'll simply work, but I'm trying to verify.

> ./dev-php5/pecl-htscanner/pecl-htscanner-0.8.1.ebuild
Done.
Comment 6 Christian Hoffmann (RETIRED) gentoo-dev 2008-05-07 17:24:01 UTC
(In reply to comment #5)
> > ./dev-php5/php-qt/php-qt-0.9.ebuild
> Uses cmake and not autotools/libtool. I guess it'll simply work, but I'm trying
> to verify.
Doesn't compile here, but unrelated to libtool, so doesn't prevent this bug from being fixed.

Those still need to be fixed before I can commit the fixed eclass:
> > ./dev-libs/ossp-uuid/ossp-uuid-1.6.1.ebuild
dev-zero or me
> > ./dev-php5/php-gtk/php-gtk-2.0.0_beta-r1.ebuild
> > ./dev-php5/php-gtk/php-gtk-2.0.0.ebuild
anant (or me :/)

> > ./dev-php5/php-java-bridge/php-java-bridge-2.0.8.ebuild
Won't be fixed unless someone wants to (not me ;)).
Same for dev-php4/*
Comment 7 Christian Hoffmann (RETIRED) gentoo-dev 2008-05-08 19:32:56 UTC
*** Bug 220897 has been marked as a duplicate of this bug. ***
Comment 8 Christian Hoffmann (RETIRED) gentoo-dev 2008-05-09 13:04:46 UTC
All listed ebuilds fixed, fixed eclass committed. I hope I did not break stable. Everything works for me now (both those extensions which have their own src_unpack as those listed in this bug and those which just inherit the eclass src_unpack).

dev-php5/php-gtk is probably still broken as it doesn't properly use ebuild functions. anant, please take a look.

dev-libs/ossp-uuid fixed by dev-zero's ok on IRC, un'cc'ing as such.

sci-geosciences/mapserver seems to work fine nevertheless, but you might want to check behavior when php is emerged w/ USE=concurrentmodphp (use the eclass functions). Keeping in CC as such.

Bug will be closed if the remaining problems are sorted.
Comment 9 Christian Hoffmann (RETIRED) gentoo-dev 2008-05-09 13:27:19 UTC
*** Bug 212777 has been marked as a duplicate of this bug. ***
Comment 10 Rafał Mużyło 2008-07-21 10:47:10 UTC
It looks like the expected bug in dev-php5/php-gtk
has finally arrived (bug 232538).
Comment 11 Christian Hoffmann (RETIRED) gentoo-dev 2009-04-09 09:53:01 UTC
This seems to be fixed as well...
Comment 12 Michel Feldheim 2010-08-13 09:12:03 UTC
(In reply to comment #11)
> This seems to be fixed as well...
> 

Libtool problems still exist with pecl

pecl memcached: 
------------------------------------------------------
/bin/sh /var/tmp/pear-build-root/memcached-1.0.2/libtool --mode=compile cc -I/usr/lib64/php5/include/php  -I. -I/tmp/memcached -DPHP_ATOM_INC -I/var/tmp/pear-build-root/memcached-1.0.2/include -I/var/tmp/pear-build-root/memcached-1.0.2/main -I/tmp/memcached -I/usr/lib64/php5/include/php -I/usr/lib64/php5/include/php/main -I/usr/lib64/php5/include/php/TSRM -I/usr/lib64/php5/include/php/Zend -I/usr/lib64/php5/include/php/ext -I/usr/lib64/php5/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/memcached/php_memcached.c -o php_memcached.lo
/var/tmp/pear-build-root/memcached-1.0.2/libtool: line 480: CDPATH: command not found
/var/tmp/pear-build-root/memcached-1.0.2/libtool: line 1304: func_opt_split: command not found
libtool: Version mismatch error.  This is libtool 2.2.10, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.10
libtool: and run autoconf again.
make: *** [php_memcached.lo] Fehler 63
ERROR: `make' failed

pecl memcache:
------------------------------------------------------
/bin/sh /var/tmp/pear-build-root/memcache-2.2.5/libtool --mode=compile cc -I/usr/lib64/php5/include/php -I. -I/tmp/memcache -DPHP_ATOM_INC -I/var/tmp/pear-build-root/memcache-2.2.5/include -I/var/tmp/pear-build-root/memcache-2.2.5/main -I/tmp/memcache -I/usr/lib64/php5/include/php -I/usr/lib64/php5/include/php/main -I/usr/lib64/php5/include/php/TSRM -I/usr/lib64/php5/include/php/Zend -I/usr/lib64/php5/include/php/ext -I/usr/lib64/php5/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/memcache/memcache.c -o memcache.lo
/var/tmp/pear-build-root/memcache-2.2.5/libtool: line 480: CDPATH: command not found
/var/tmp/pear-build-root/memcache-2.2.5/libtool: line 1304: func_opt_split: command not found
libtool: Version mismatch error.  This is libtool 2.2.10, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.10
libtool: and run autoconf again.
make: *** [memcache.lo] Fehler 63
ERROR: `make' failed

pecl intl:
------------------------------------------------------
/bin/sh /var/tmp/pear-build-root/intl-1.1.1/libtool --mode=compile cc -I/usr/include  -I. -I/tmp/intl -DPHP_ATOM_INC -I/var/tmp/pear-build-root/intl-1.1.1/include -I/var/tmp/pear-build-root/intl-1.1.1/main -I/tmp/intl -I/usr/lib64/php5/include/php -I/usr/lib64/php5/include/php/main -I/usr/lib64/php5/include/php/TSRM -I/usr/lib64/php5/include/php/Zend -I/usr/lib64/php5/include/php/ext -I/usr/lib64/php5/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/intl/php_intl.c -o php_intl.lo
/var/tmp/pear-build-root/intl-1.1.1/libtool: line 480: CDPATH: command not found
/var/tmp/pear-build-root/intl-1.1.1/libtool: line 1304: func_opt_split: command not found
libtool: Version mismatch error.  This is libtool 2.2.10, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.10
libtool: and run autoconf again.
make: *** [php_intl.lo] Fehler 63
ERROR: `make' failed
Comment 13 Peter Volkov (RETIRED) gentoo-dev 2010-08-16 13:03:16 UTC
Michel, please, open new bug report. This bug was closed long time ago and this bug was for mass fixing php extensions. You report is about single package and it's better to have it open and separate. Thanks.