php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #27531 configure works, but make breaks when --enable-xslt and --with-xslt-sablot
Submitted: 2004-03-08 18:16 UTC Modified: 2004-03-11 09:06 UTC
From: mrowe at pointsystems dot com Assigned:
Status: Wont fix Package: XSLT related
PHP Version: 4.3.4 OS: Solaris 9
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2004-03-08 18:16 UTC] mrowe at pointsystems dot com
Description:
------------
Configure works just fine, but make seems to find a parse error in the distributed php Sablotron libs.

Here's my configure line:

./configure \
--with-iconv=/usr/local \
--with-expat=/usr/local \
--with-mysql \
--with-openssl \
--with-apxs=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/apache/conf \
--with-zlib \
--with-ldap \
--with-dom \
--with-xml \
--with-pear \
--with-t1lib \
--with-freetype-dir=/usr \
--disable-debug \
--with-curl \
--with-xmlrpc   \
--enable-xslt \
--with-xslt-sablot=/usr/local

Here's the relevant info from the make:

/bin/sh /raid/people/psystems/download/php-4.3.4/libtool --silent --preserve-dup-deps --mode=compile gcc  -Iext/xslt/ -I/raid/people/psystems/download/php-4.3.4/ext/xslt/ -DPHP_ATOM_INC -I/raid/people/psystems/download/php-4.3.4/include -I/raid/people/psystems/download/php-4.3.4/main -I/raid/people/psystems/download/php-4.3.4 -I/raid/people/psystems/download/php-4.3.4/Zend -I/usr/local/include -I/usr/include/libxml2 -I/raid/people/psystems/download/php-4.3.4/ext/xml/expat  -D_POSIX_PTHREAD_SEMANTICS -I/raid/people/psystems/download/php-4.3.4/TSRM  -g -O2  -prefer-pic -c /raid/people/psystems/download/php-4.3.4/ext/xslt/sablot.c -o ext/xslt/sablot.lo
In file included from /raid/people/psystems/download/php-4.3.4/ext/xslt/sablot.c:36:
/raid/people/psystems/download/php-4.3.4/include/php_sab_info.h:1:18: missing terminating " character
In file included from /raid/people/psystems/download/php-4.3.4/ext/xslt/sablot.c:36:
/raid/people/psystems/download/php-4.3.4/include/php_sab_info.h:2: error: parse error before ':' token
/raid/people/psystems/download/php-4.3.4/include/php_sab_info.h:3:19: missing terminating " character
In file included from /usr/include/fcntl.h:24,
                 from /raid/people/psystems/download/php-4.3.4/ext/xslt/sablot.c:44:
/usr/include/sys/fcntl.h:180: error: parse error before '}' token
*** Error code 1
make: Fatal error: Command failed for target `ext/xslt/sablot.lo'


If i take out the last two options in the configure (--enable-xslt and --with-xslt-sablot), make and make install work fine.

I've tried the latest stable snapshot, and I've tried the 4.3.4 distribution.  Both exhibit similar behavior.

I've seen some similar errors where users suggest to try and set LDFLAGS equal to -lstdc++.  This wasn't much help, as I continued to receive similar errors.

I've also seen errors due to old versions of gcc.  I'm using version 3.3.2.

Thanks,
Matt


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-03-09 08:39 UTC] sniper@php.net
Please paste the contents of this file:
/raid/people/psystems/download/php-4.3.4/include/php_sab_info.h

 [2004-03-09 12:20 UTC] mrowe at pointsystems dot com
here is the content of /raid/people/psystems/download/php-4.3.4/include/php_sab_info.h:


#define SAB_INFO "Cflags: -g -O2 -I/usr/local/include -I/usr/local/include
Libs: -L/usr/local/lib -liconv -lexpat
Prefix: /usr/local"
 [2004-03-09 19:00 UTC] sniper@php.net
Was that all in one line? Didn't it have any \n in it?

 [2004-03-09 19:29 UTC] mrowe at pointsystems dot com
there are 4 lines in the file:

first line:

#define SAB_INFO "Cflags: -g -O2 -I/usr/local/include -I/usr/local/include

second line:

Libs: -L/usr/local/lib -liconv -lexpat

third line:

Prefix: /usr/local"

fourth line is blank, with no whitespace.

thanks,
matt
 [2004-03-09 19:38 UTC] sniper@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

That file should be all in one line, with \n between them, here's mine with latest CVS snapshot:

#define SAB_INFO "Cflags: -g -O2\nLibs: -L/www/sablot-1.0/lib -lexpat\nPrefix: /www/sablot-1.0"

 [2004-03-10 14:26 UTC] mrowe at pointsystems dot com
still no luck.  i've tried the 4.3.4 release as well as the latest stable release.  i've edited the include/php_sab_info.h files such that they are a single line (both had real line breaks in the distributions, as displayed by 'vi' and 'more').

for what it's worth, i tried maximo@migliari.com's solution listed here: http://www.php.net/manual/en/ref.xslt.php.  that's not doing anything productive either.

i'm still getting as similar error message:

/bin/sh /raid/people/psystems/download/php-4.3.4/libtool --silent --preserve-dup-deps --mode=compile gcc  -Iext/xslt/ -I/raid/people/psystems/download/php-4.3.4/ext/xslt/ -DPHP_ATOM_INC -I/raid/people/psystems/download/php-4.3.4/include -I/raid/people/psystems/download/php-4.3.4/main -I/raid/people/psystems/download/php-4.3.4 -I/raid/people/psystems/download/php-4.3.4/Zend -I/usr/local/include -I/usr/include/libxml2 -I/raid/people/psystems/download/php-4.3.4/ext/xml/expat  -D_POSIX_PTHREAD_SEMANTICS -I/raid/people/psystems/download/php-4.3.4/TSRM  -g -O2  -prefer-pic -c /raid/people/psystems/download/php-4.3.4/ext/xslt/sablot.c -o ext/xslt/sablot.lo
In file included from /raid/people/psystems/download/php-4.3.4/ext/xslt/sablot.c:36:
/raid/people/psystems/download/php-4.3.4/include/php_sab_info.h:1:18: missing terminating " character
In file included from /raid/people/psystems/download/php-4.3.4/ext/xslt/sablot.c:36:
/raid/people/psystems/download/php-4.3.4/include/php_sab_info.h:2: error: parse error before ':' token
/raid/people/psystems/download/php-4.3.4/include/php_sab_info.h:3:19: missing terminating " character
In file included from /usr/include/fcntl.h:24,
                 from /raid/people/psystems/download/php-4.3.4/ext/xslt/sablot.c:44:
/usr/include/sys/fcntl.h:180: error: parse error before '}' token
*** Error code 1
make: Fatal error: Command failed for target `ext/xslt/sablot.lo'

thanks,
matt
 [2004-03-10 14:29 UTC] mrowe at pointsystems dot com
note: when i edited the include/php_sab_info.h file, i was sure to add the "\n" characters, so the file now looks like the single line you suggested:

#define SAB_INFO "Cflags: -g -O2\nLibs: -L/www/sablot-1.0/lib
-lexpat\nPrefix: /www/sablot-1.0"
 [2004-03-11 09:06 UTC] sniper@php.net
There is no point to fix this properly. (xslt extension does not exist in PHP 5 anymore, it's been replaced with ext/xsl which uses libxslt instead)

As workaround:

1. move /usr/local/bin/sablot-config to /tmp/sablot-config
2. extract php sources, run configure, make, make install
3. move /tmp/sablot-config back to /usr/local/bin/sablot-config

 
PHP Copyright © 2001-2018 The PHP Group
All rights reserved.
Last updated: Tue Sep 25 02:01:25 2018 UTC