Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 22635 - PHP 4.3.2 with Sabltron 0.97
Summary: PHP 4.3.2 with Sabltron 0.97
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: x86 Linux
: High critical (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
: 24655 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-06-11 13:42 UTC by Stuart Bain
Modified: 2011-10-30 22:18 UTC (History)
2 users (show)

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


Attachments
config.log from /var/tmp/portage/mod_php-4.3.2/work/php-4.3.2 (config.log,95.06 KB, text/plain)
2003-06-11 22:30 UTC, Stuart Bain
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Bain 2003-06-11 13:42:22 UTC
When I try to emerge -u mod_php, I get the following error during the configure
stage of the ebuild:

<snip>
checking for Sablotron version... configure: error: Sablotron version 0.96 or
greater required.

!!! ERROR: dev-php/mod_php-4.3.2 failed.
!!! Function econf, Line 304, Exitcode 1
!!! econf failed
</snip>

This error can usually be fixed with USE="-java" emerge -u mod_php, but it
doesn't seem fix the problem in the 4.3.2 ebuild. Please note that USE="-xml" is
not an option for us. Our products require the XSLT processing.

*  app-text/sablotron      Latest version installed: 0.97
*  dev-java/sun-jdk      Latest version installed: 1.4.1.02-r1
*  dev-php/mod_php      Latest version installed: 4.3.1

Reproducible: Always
Steps to Reproduce:
1. emerge -u mod_php

Actual Results:  
checking for Sablotron version... configure: error: Sablotron version 0.96 or
greater required.

!!! ERROR: dev-php/mod_php-4.3.2 failed.
!!! Function econf, Line 304, Exitcode 1
!!! econf failed

Expected Results:  
Upgrade mod_php from 4.3.1 to 4.3.2

emerge info
Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4)
=================================================================
System uname: 2.4.20 i686 Pentium III (Cascades)
GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config
/usr/kde/2/share/config /usr/kde/3/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="oss 3dnow apm arts avi cups encode imlib mikmod mmx motif mpeg nls
oggvorbis opengl quicktime sdl spell svga truetype xv zlib gdbm berkdb slang gpm
-X -gtk -gnome -alsa -kde -qt -xmms -esd curl crypt gif imap im-lib java jpeg
kerberos ldap libg++ libwww maildir mbox mysql ncurses odbc pam pdflib perl png
postgres python readline snmp ssl tcpd tiff xml xml2 zilb x86"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -mcpu=i686 -pipe"
CXXFLAGS=""
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://littlejohn.blueridgedigital.net/gentoo-portage"
FEATURES="sandbox ccache fixpackages"
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-11 15:30:42 UTC
PHP no longer responds to the 'xml' USE flag, as it hard requires those libs for PEAR.

Please attach /var/tmp/portage/mod_php-4.3.2*/work/php-4.3.2/config.log

Then try:
emerge XML-Parser mod_php
if that fails,
emerge XML-Sablot mod_php

Comment 2 Stuart Bain 2003-06-11 22:30:36 UTC
Created attachment 13136 [details]
config.log from /var/tmp/portage/mod_php-4.3.2/work/php-4.3.2

Per robbat2's request, config.log attached.
Comment 3 Stuart Bain 2003-06-11 22:37:32 UTC
Neither emerge XML-Parser mod_php
nor 
emerge XML-Sablot mod_php

worked. They still produce the same error. It's odd that PHP thinks Sablotron version 0.96 is installed...

littlejohn root # sablot-config --version
0.97
littlejohn root #
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-11 23:11:59 UTC
The config.log reveals the answer:

configure:75358: checking for Sablotron version
configure:75383: gcc -o conftest -O2 -mcpu=i686 -pipe  -I/usr/include -L/usr/lib  conftest.c -lcrypt -lpspell -lpq -lpdf -lz -ltiff -lpng -ljpeg -lmysqlclient -lmhash -lmcrypt -lltdl -lldap -llber -lcrypt -lpam -lxsltbreakpoint -lxml2 -lxslt -lz -lndbm -lgdbm -lcurl -lcrack -lbz2 -lz -lssl -lcrypto -lresolv -lm -ldl -lnsl  -lcurl -lz -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lodbc -lnetsnmp -lcrypto -lm -lcrypt 1>&5
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../../../i686-pc-linux-gnu/bin/ld: warning: libkrb4.so.2, needed by /usr/lib/libldap.so, not found (try using -rpath or -rpath-link)
configure: failed program was:
#line 75365 "configure"
#include "confdefs.h"

#include <stdlib.h>
#include <sablot.h>

int main ()
{
double version;
version = atof(SAB_VERSION);

if (version >= 0.96) {
exit(0);
}
exit(255);
}
    
Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-11 23:36:44 UTC
It looks entirely like an upstream bug with PHP.

What kerberos stuff do you have installed? I'll try to figure out a workaround for you in the meantime once I reproduce your environment better.
Comment 6 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-12 01:50:01 UTC
if you want to track the PHP item for it:
http://bugs.php.net/24141 

I've put a fix into the eclass that I think might work, could you please test it and report back?

Just sync and try to emerge mod_php again.

If it still fails, open up php.eclass, and look at line 203. Uncomment that and try it out.
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-12 01:55:46 UTC
Stuart, a response from the PHP people, so I need the answers from you so I can get back to them:
Where is "libkrb4.so.2" on your system, and is it in the paths
described in /etc/ld.so.conf ? And did you run ldconfig after
installing that ldap?
Comment 8 Stuart Bain 2003-06-12 18:16:33 UTC
No Kerberos installed...

www cron.daily # locate krb4
www cron.daily # emerge -s krb
Searching...
[ Results for search key : krb ]
[ Applications found : 3 ]

*  app-crypt/kth-krb
      Latest version available: 1.2.1
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 1,832 kB
      Homepage:    http://www.pdc.kth.se/kth-krb/
      Description: Kerberos 4 implementation from KTH

*  app-crypt/mit-krb5
      Latest version available: 1.2.7
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 5,374 kB
      Homepage:    http://web.mit.edu/kerberos/www/
      Description: MIT Kerberos V

*  app-crypt/pam_krb5
      Latest version available: 1.0
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 12 kB
      Homepage:    http://www.fcusack.com/
      Description: Pam module for MIT Kerberos V


www cron.daily #


Because.... 

www cron.daily # grep USE /etc/make.conf
USE="-X -gtk -gnome -alsa -qt -kde -arts crypt curl -esd gd gdbm gif imap imlib java jpeg ldap libwww maildir mbox mysql ncurses odbc pam pdflib perl php png postgres python readline sasl snmp spell sse ssl tcpd tiff truetype xml xml2 zlib x86"


I don't have kerberos in my use flags.

I'm trying emerge sync ; emerge -u mod_php again per your instructions, and I still get the same error. It's choosing the 4.3.2 ebuild, did you want me to try the 4.3.2-r1 or r2 ebuild instead?
Comment 9 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-12 19:13:27 UTC
Now that really doesn't make sense.
Could you include the output of:
'ldd /usr/lib/libldap.so'
please?

The only things in 4.3.2-r1 and r2 are some fixes for Apache2 people and those with BOTH Apache1 and Apache2 together.
Comment 10 Stuart Bain 2003-06-12 23:05:39 UTC
littlejohn root # ldd /usr/lib/libldap.so
        liblber.so.2 => /usr/lib/liblber.so.2 (0x4002c000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x40035000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x4004a000)
        libdl.so.2 => /lib/libdl.so.2 (0x4005b000)
        libkrb4.so.2 => not found
        libdes425.so.3 => /usr/lib/libdes425.so.3 (0x4005e000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x40062000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x400c1000)
        libcom_err.so.3 => /usr/lib/libcom_err.so.3 (0x400d1000)
        libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x400d3000)
        libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x40102000)
        libc.so.6 => /lib/libc.so.6 (0x401c6000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
littlejohn root #
Comment 11 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-12 23:52:29 UTC
Looking at that result kerberos WAS installed (and possibly the kerberos USE flag default-set) when ldap was installed. Kerberos was subsequently removed without any consideration to things that linked against it.

Emerge gentoolkit, and run 'revdep-rebuild', that should fix up your system.
Comment 12 Stuart Bain 2003-06-13 07:37:26 UTC
I've never run emerge clean on anything, but it makes sense now looking at the errors and the output of the ldd command. 

I ran the revdep-rebuild, and here is the error I got:

checking for JavaScript for Sablotron XSL support... yes
checking for Sablotron libraries in the default path... found in /usr
checking for sablot-config... found
checking for Sablotron version... configure: error: Sablotron version 0.96 or greater required.

!!! ERROR: dev-php/mod_php-4.3.1 failed.
!!! Function src_compile, Line 233, Exitcode 1
!!! bad ./configure


Result is not OK, you have following chances:
- if emerge failed during build, fix the problems and re-run this script
    or
- use -X or --package-names as first argument (try to rebuild package, not exact
  ebuild - ignores SLOT!)
    or
- modify the above emerge command and run it manually
    or
- compile or unmerge unsatisfied packages manually, remove temporary files and
  try again (you can edit package/ebuild list first)

To remove temporary files, please run:
rm /root/.revdep-rebuild.?_*


Notice that it was trying to rebuild the mod_php 4.3.1 package and not the new 4.3.2 package.

Comment 13 Stuart Bain 2003-06-13 13:35:08 UTC
I was able to figure out a workaround.

emerge mit-krb5 # Just did this for the heck of it... not sure if it helped
emerge sablotron # Same as above
USE="-java -ldap" emerge -u mod_php


Success!

Unfortunately, this won't last for long. We're in the process of converting all of our applications to LDAP. Currently, the server this is running on is only providing XMLRPC services to other servers. Eventually it will be the big-daddy server of all our servers... LDAP, Database, XMLRPC Services, and application servers. Bug still needs to be fixed because sooner or later we're going to need LDAP support compiled in.
Comment 14 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-13 17:55:55 UTC
revdep-rebuild SHOULD have rebuild ldap and possible kerberos, not anything else.

If you don't use kerberos, take it out of your USE flags, unmerge it, and 'emerge openldap mod_php'.

If you DO use kerberos, then: 'emerge mit-krb5 openldap mod_php'.

The PHP configure scripts are entirely horrible for spitting out CORRECT error messages. A huge amount of the time they are completely incorrect.
Comment 15 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-06-29 20:38:23 UTC
Any updates on this?
Comment 16 Stuart Bain 2003-07-07 07:18:46 UTC
Since we're not using Java or LDAP with our PHP right now, I haven't had the 
opportunity to test the ebuild without using the USE="-java -ldap". This issue can be 
closed as a workaround provided us with a means of compiling PHP to suit our current 
requirements, however, we will more than likely need to revisit this in the future once 
we integrate LDAP into our infrastructure. 
Comment 17 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2003-07-17 11:30:52 UTC
*** Bug 24655 has been marked as a duplicate of this bug. ***