My server: randal root # emerge -pv mod_php These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] dev-php/mod_php-4.3.1 -java -spell +png -apache2 -truetype -postgres +tiff +libwww -nls +gd +jpeg +ssl -oci8 +mysql -X +gdbm +curl -imap +xml2 -xml -cjk -pdflib -qt -snmp +crypt -flash -odbc -ldap -berkdb -freetds -firebird +pam I don't have java in my USE-Flags, and yes - I don't even installed it. randal root # emerge mod_php <... portage output from unpacking the source> /usr/sbin/ebuild.sh: line 1: java-config: command not found * You need to use java-config to set your JVM to a JDK! !!! ERROR: dev-php/mod_php-4.3.1 failed. !!! Function php_check_java_config, Line 69, Exitcode 0 !!! You need to use java-config to set your JVM to a JDK! Uhm.. Nope. ;-) The Problem is the function "php_check_java_config" in src_compile. It's called unconditionally and that is a bug imho. Something like use java && php_check_java_config would do a better trick. Reproducible: Always Steps to Reproduce:
I would add that this also happens when I try to install dev-php/php-4.3.1 -java in USE variable, and looked at the ebuild and there it is, called unconditionally as well. Now, even if I do set it with java-config, I get this: checking whether the C++ compiler (g++ -O2 -mcpu=i686 -pipe -Wl,-rpath,/usr/X11R6/lib -L/usr/X11R6/lib -Wl,-rpath,/opt/blackdown-jdk-1.4.1/jre/lib/i386/server -L/opt/blackdown-jdk-1.4.1/jre/lib/i386/server -Wl,-rpath,/opt/blackdown-jdk-1.4.1/jre/lib/i386/native_threads -L/opt/blackdown-jdk-1.4.1/jre/lib/i386/native_threads -Wl,-rpath,/opt/blackdown-jdk-1.4.1/jre/lib/i386 -L/opt/blackdown-jdk-1.4.1/jre/lib/i386 -Wl,-rpath,/usr/qt/3/lib -L/usr/qt/3/lib) works... no configure: error: installation or configuration problem: C++ compiler cannot create executables. !!! ERROR: dev-php/php-4.3.1 failed. !!! Function econf, Line 303, Exitcode 1 !!! econf failed
Whoops. Fixed the bug with the php_check_java now. As for the rest of it, just use PHP 4.3.2, as it will be released to stable soon. The rest of that was because of a glitch with QT and PHP, and the PHP configure NOT properly checking them to produce good error messages.