Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
I have$ perl -wle 'use PHP::Interpreter' Can't load '/usr/local/lib/perl/5.8.8/auto/PHP/Interpreter/Interpreter +.so' for module PHP::Interpreter: /usr/local/lib/perl/5.8.8/auto/PHP/ +Interpreter/Interpreter.so: undefined symbol: zend_ce_traversable at +/usr/lib/perl/5.8/DynaLoader.pm line 225. at -e line 1 Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1.
I even tried the Makefile.PL from Making PHP::Interpreter easier to install (which worked with the following patch):$ php5 -v PHP 5.2.4-2ubuntu5 with Suhosin-Patch 0.9.6.2 (cli) (built: Feb 27 200 +8 20:43:54) $ uname -a Linux foo 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008 i686 G +NU/Linux $ perl -v This is perl, v5.8.8 built for i486-linux-gnu-thread-multi
perl Makefile.PL says:26c26 < my @incdirs = map { s/^-I//g; chomp; $_ } split(/ /, $inc); --- > my @incdirs = map { s/^-I//g; chomp; $_ } grep { /^-I/ } split(/ / +, $inc);
make says:$ perl Makefile.PL using php version 5.2.4-2ubuntu5 using prefix /usr using includes -I/usr/include -I/usr/include/php5 -I/usr/include/php5/ +main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include +/php5/ext -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FIL +E_OFFSET_BITS=64 using lddlflags -shared -L/usr/local/lib -L/usr/lib -L/usr/lib using libs -L/usr/lib -lphp5 Checking header files... using incdir '/usr/include' using incdir '/usr/include/php5' using incdir '/usr/include/php5/main' using incdir '/usr/include/php5/TSRM' using incdir '/usr/include/php5/Zend' using incdir '/usr/include/php5/ext' using incdir '/usr/include/php5/ext/date/lib' Found /usr/include/php5/Zend/zend.h Found /usr/include/php5/Zend/zend_ini.h Found /usr/include/php5/Zend/zend_interfaces.h Found /usr/include/php5/Zend/zend_compile.h Found /usr/include/php5/Zend/zend_API.h Found /usr/include/php5/TSRM/TSRM.h Found /usr/include/php5/main/php.h Found /usr/include/php5/main/php_config.h Found /usr/include/php5/main/php_ini.h Found /usr/include/php5/main/SAPI.h Found /usr/include/php5/main/php_main.h Note (probably harmless): No library found for -lphp5 Writing Makefile for PHP::Interpreter
make install says:$ make cp lib/PHP/Interpreter/Resource.pm blib/lib/PHP/Interpreter/Resource.p +m cp lib/PHP/Interpreter/Class.pm blib/lib/PHP/Interpreter/Class.pm cp a.pl blib/lib/PHP/a.pl cp b.pl blib/lib/PHP/b.pl cp lib/PHP/Interpreter.pm blib/lib/PHP/Interpreter.pm /usr/bin/perl /usr/share/perl/5.8/ExtUtils/xsubpp -typemap /usr/share +/perl/5.8/ExtUtils/typemap -typemap typemap PHP.xs > PHP.xsc && mv P +HP.xsc PHP.c cc -c -I/usr/include -I/usr/include/php5 -I/usr/include/php5/main -I/ +usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ex +t -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET +_BITS=64 -g -O2 -DVERSION=\"1.0.1\" -DXS_VERSION=\"1.0.1\" -fPIC "- +I/usr/lib/perl/5.8/CORE" PHP.c In file included from /usr/include/php5/main/php.h:34, from phpinterp.h:11, from PHP.xs:13: /usr/include/php5/Zend/zend.h:34:1: warning: "END_EXTERN_C" redefined In file included from PHP.xs:3: /usr/lib/perl/5.8/CORE/perl.h:242:1: warning: this is the location of +the previous definition PHP.c: In function ‘XS_PHP__Interpreter__Resource_FETCH’: PHP.c:1438: warning: useless type name in empty declaration cc -c -I/usr/include -I/usr/include/php5 -I/usr/include/php5/main -I/ +usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ex +t -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET +_BITS=64 -g -O2 -DVERSION=\"1.0.1\" -DXS_VERSION=\"1.0.1\" -fPIC "- +I/usr/lib/perl/5.8/CORE" phpinterp.c In file included from /usr/include/php5/main/php.h:34, from phpinterp.h:11, from phpinterp.c:13: /usr/include/php5/Zend/zend.h:34:1: warning: "END_EXTERN_C" redefined In file included from phpinterp.c:3: /usr/lib/perl/5.8/CORE/perl.h:242:1: warning: this is the location of +the previous definition cc -c -I/usr/include -I/usr/include/php5 -I/usr/include/php5/main -I/ +usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ex +t -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET +_BITS=64 -g -O2 -DVERSION=\"1.0.1\" -DXS_VERSION=\"1.0.1\" -fPIC "- +I/usr/lib/perl/5.8/CORE" phpfuncs.c In file included from /usr/include/php5/main/php.h:34, from phpinterp.h:11, from phpfuncs.c:5: /usr/include/php5/Zend/zend.h:34:1: warning: "END_EXTERN_C" redefined In file included from phpfuncs.c:2: /usr/lib/perl/5.8/CORE/perl.h:242:1: warning: this is the location of +the previous definition phpfuncs.c: In function ‘zm_startup_sandwich’: phpfuncs.c:1054: warning: assignment from incompatible pointer type Running Mkbootstrap for PHP::Interpreter () chmod 644 Interpreter.bs rm -f blib/arch/auto/PHP/Interpreter/Interpreter.so cc -shared -L/usr/local/lib -L/usr/lib -L/usr/lib PHP.o phpinterp.o +phpfuncs.o -o blib/arch/auto/PHP/Interpreter/Interpreter.so \ \ chmod 755 blib/arch/auto/PHP/Interpreter/Interpreter.so cp Interpreter.bs blib/arch/auto/PHP/Interpreter/Interpreter.bs chmod 644 blib/arch/auto/PHP/Interpreter/Interpreter.bs Manifying blib/man3/PHP::Interpreter::Resource.3pm Manifying blib/man3/PHP::Interpreter::Class.3pm Manifying blib/man3/PHP::Interpreter.3pm $
$ sudo make install Installing /usr/local/lib/perl/5.8.8/auto/PHP/Interpreter/Interpreter. +so Files found in blib/arch: installing files in blib/lib into architectu +re dependent library tree Writing /usr/local/lib/perl/5.8.8/auto/PHP/Interpreter/.packlist Appending installation info to /usr/lib/perl/5.8/perllocal.pod
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: use PHP::Interpreter throws undefined symbol: zend_ce_traversable
by Herkum (Parson) on Jun 02, 2008 at 21:19 UTC | |
by Anonymous Monk on Jun 03, 2008 at 06:47 UTC | |
by Herkum (Parson) on Jun 03, 2008 at 15:08 UTC | |
by Anonymous Monk on Jun 04, 2008 at 11:34 UTC | |
|
Re: use PHP::Interpreter throws undefined symbol: zend_ce_traversable
by andreas1234567 (Vicar) on Nov 11, 2008 at 20:39 UTC | |
by Anonymous Monk on Dec 02, 2008 at 21:02 UTC | |
by Anonymous Monk on Dec 17, 2008 at 22:01 UTC |