|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #18703 can't compile xslt support (sablotron error)
Submitted: 2002-08-02 08:32 UTC Modified: 2002-08-04 13:30 UTC
From: niklas dot fondberg at i3micro dot com Assigned:
Status: Closed Package: Sablotron XSL
PHP Version: 4.2.2 OS: debian linux unstable
Private report: No CVE-ID: None
 [2002-08-02 08:32 UTC] niklas dot fondberg at i3micro dot com
Problem: Can't compile php 4.2.2 with xslt support.

debian linux (unstable)
gcc version 2.95.4
GNU ld version
apache 1.3.26
php 4.2.2
libexpat1      1.95.2-6   
libexpat1-dev  1.95.2-6  
libsablot0     0.95-1   
libsablot0-dev 0.95-1  
sablotron      0.95-1   
libxml-dev     1.8.17-2 
libxml1        1.8.17-2 
libxml2        2.4.23-1 
libxml2-dev    2.4.23-1
libxmltok1     1.1-7

php config opts
CONFIG_OPTS =   --with-apache=../apache \
                --with-mysql \
                --with-config-file-path=/etc \
                --disable-rpath \
                --enable-inline-optimization \
                --with-mm \
                --enable-sysvsem \
                --enable-sysvshm \
                --enable-shmop \
                --with-bz2 \
                --with-curl \
                --with-dom \
                --with-zlib \
                --with-xml \
                --with-gd \
                --with-regex=system \
                --enable-magic-quotes \
                --enable-safe-mode \
                --enable-track-vars \
                --enable-wddx \
                --with-imap     \
                --enable-trans-sid \
                --enable-ftp  \
                --enable-bcmath         \
                --with-pear=/var/devel  \
                --enable-sockets        \
                --with-dom              \
                --with-dom-xslt          \
                --with-sablot-js        \
                --enable-xslt           \
                --with-xslt-sablot      \
                --with-dom-exslt        \

Error output
gcc -c  -I./os/unix -I./include  -O2 -DLINUX=22 -I/opt/build/system_servers/deb/apache-php/php-4.2.2 -I/opt/build/system_servers/deb/apache-php/php-4.2.2/main -I/opt/build/system_servers/deb/apache-php/php-4.2.2/main -I/opt/build/system_servers/deb/apache-php/php-4.2.2/Zend -I/opt/build/system_servers/deb/apache-php/php-4.2.2/Zend -I/opt/build/system_servers/deb/apache-php/php-4.2.2/TSRM -I/opt/build/system_servers/deb/apache-php/php-4.2.2/TSRM -I/opt/build/system_servers/deb/apache-php/php-4.2.2 -DNO_DL_NEEDED `./apaci` modules.c
gcc -c  -I./os/unix -I./include  -O2 -DLINUX=22 -I/opt/build/system_servers/deb/apache-php/php-4.2.2 -I/opt/build/system_servers/deb/apache-php/php-4.2.2/main -I/opt/build/system_servers/deb/apache-php/php-4.2.2/main -I/opt/build/system_servers/deb/apache-php/php-4.2.2/Zend -I/opt/build/system_servers/deb/apache-php/php-4.2.2/Zend -I/opt/build/system_servers/deb/apache-php/php-4.2.2/TSRM -I/opt/build/system_servers/deb/apache-php/php-4.2.2/TSRM -I/opt/build/system_servers/deb/apache-php/php-4.2.2 -DNO_DL_NEEDED `./apaci` buildmark.c
gcc -O2 -DLINUX=22 -I/opt/build/system_servers/deb/apache-php/php-4.2.2 -I/opt/build/system_servers/deb/apache-php/php-4.2.2/main -I/opt/build/system_servers/deb/apache-php/php-4.2.2/main -I/opt/build/system_servers/deb/apache-php/php-4.2.2/Zend -I/opt/build/system_servers/deb/apache-php/php-4.2.2/Zend -I/opt/build/system_servers/deb/apache-php/php-4.2.2/TSRM -I/opt/build/system_servers/deb/apache-php/php-4.2.2/TSRM -I/opt/build/system_servers/deb/apache-php/php-4.2.2 -DNO_DL_NEEDED `./apaci`    \
      -o httpd buildmark.o modules.o modules/standard/libstandard.a modules/php4/libphp4.a main/libmain.a ./os/unix/libos.a ap/libap.a    -rdynamic -Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4  -lc-client  -lsablot -lexpat -lmm -lcrypt -lgd -lexslt -lxsltbreakpoint -lxml2 -lxslt -lz -lxml2 -lcurl -ldl -lcrypto -lssl -lcurl -lbz2 -lz -lcrypt -lresolv -lm -ldl -lnsl  -lresolv -lcrypt   -lm -lcrypt -lexpat
modules/php4/libphp4.a(sablot.o): In function `zm_startup_xslt':
/opt/build/system_servers/deb/apache-php/php-4.2.2/ext/xslt/sablot.c(.rodata+0x0): multiple definition of `SXPF_DISPOSE_NAMES'
modules/php4/libphp4.a(internal_functions.o)(.rodata+0x0):/opt/build/system_servers/deb/apache-php/php-4.2.2/main/internal_functions.c: first defined here
modules/php4/libphp4.a(sablot.o): In function `zm_startup_xslt':
/opt/build/system_servers/deb/apache-php/php-4.2.2/ext/xslt/sablot.c(.rodata+0x4): multiple definition of `SXPF_DISPOSE_VALUES'
modules/php4/libphp4.a(internal_functions.o)(.rodata+0x4):/opt/build/system_servers/deb/apache-php/php-4.2.2/main/internal_functions.c: first defined here
modules/php4/libphp4.a(sablot.o): In function `zm_startup_xslt':
/opt/build/system_servers/deb/apache-php/php-4.2.2/ext/xslt/sablot.c:154: multiple definition of `SXPF_SUPPORTS_UNPARSED_ENTITIES'
modules/php4/libphp4.a(internal_functions.o):/opt/build/system_servers/deb/apache-php/php-4.2.2/main/internal_functions.c:86: first defined here
collect2: ld returned 1 exit status
make[4]: *** [target_static] Error 1
make[4]: Leaving directory `/opt/build/system_servers/deb/apache-php/apache_1.3.26/src'
make[3]: *** [build-std] Error 2
make[3]: Leaving directory `/opt/build/system_servers/deb/apache-php/apache_1.3.26'
make[2]: *** [build] Error 2
make[2]: Leaving directory `/opt/build/system_servers/deb/apache-php/apache_1.3.26'
make[1]: *** [install-all] Error 2
make[1]: Leaving directory `/opt/build/system_servers/deb/apache-php/apache_1.3.26'
make: *** [deb] Error 2


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2002-08-02 08:58 UTC] msopacua at idg dot nl

Please apply the patches located here:

 Sablotron 0.95 patch for PHP (4.2.0, 4.2.1) - 1 kB
 PHP (4.2.0, 4.2.1) patch for Sablotron 0.95 - 8 kB

and report if this fixes it. Apply both -> The Sablotron patch is for the Sablotron tree. The PHP patch is for the php tree.
 [2002-08-02 11:45 UTC]
If the suggested patches do not fix it, do please try a snapshot and see if this has been fixed in CVS for us.  Thanks.

 [2002-08-04 02:39 UTC] niklas dot fondberg at i3micro dot com
Well the patches do fix the problem but it needs to be addressed. One can't patch the library at all times due to the policies the server manager might have on pre packaged libraries and soo on. We distribute servers and have an intricate build system that we want to keep simple.

So as I see it it is a bug with a patch workaraound.
 [2002-08-04 13:15 UTC] msopacua at idg dot nl
Current CVS and STABLE snapshot reflect those changes. So it has already been addressed.

We can only give guarantees about software working at the time the build was done. If in the meantime an external library changes it's API, there's not much we can do with the current release. 4.2.2 with Sablotron 0.90 compiles correctly. PHP 4.2.2 was a security release - look at it as 4.2.1pl1 - so I understand the confusion :-)
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun May 19 14:01:32 2024 UTC