NYCPHP Meetup

NYPHP.org

[nycphp-talk] simplexml, gentoo emerge

Ajai Khattri ajai at bitblit.net
Wed Oct 20 10:16:26 EDT 2004


chris feldmann wrote:

>Kinda offtopic? Maybe. I'm trying to compile 5.0.2 using gentoo's
>portage (which I am learning about this week: crash course). Anyway,
>if I understand things, instead of ./configure options, one sets flags
>called USE flags. They generally mirror the ./configure options, but
>not one-to-one, and therein lies the rub.There's one called simplexml
>(which is either + [yes] or - [no]) but when I look at the simpleXML
>documentation on php.net, I find:
>"Installation
>
>The SimpleXML extension is enabled by default. To disable it, use the
>--disable-simplexml configure option."
>
>but still, I include simplexml in my flags. but when I run a script
>that includes a call to a simplexml function, I get:
>
>"Fatal error: Call to undefined function simplexml_load_file()  in
>/var/www/etc."
>
>So it must have been explicitly disabled, but when I make an info.php,
>there's no reference whatsoever to simplexml, and indeed the
>./configure script (which is logged, of course) doesn't include the
>string 'simplexml'.
>
>I guess this actually is offtopic because installation is not really
>within the realm of topics discussed herein. Nonetheless, I'm asking
>if anyone has some insight here. I am suspecting it's a problem with
>gentoo's "ebuild" (as they call them), but maybe someone can save me
>from such guesswork.
>

You can look at the USE flags for the package by doing:

*emerge -pv mod_php
*
The USE flags for mod_php (4.x that is) are:

*dev-php/mod_php-4.3.9  -X -apache2 +berkdb +crypt -curl -debug -debug 
-debug -doc -fdftk -firebird -flash -freetds -gd -gd-external +gdbm -gmp 
-hardenedphp -imap -informix -ipv6 -java +jpeg -kerberos -ldap -mcal 
-memlimit -mssql +mysql +nls -oci8 -odbc +pam +pdflib +png -postgres -qt 
-snmp +spell +ssl -tiff +truetype +xml2 -yaz*

Looks like xml2 is switched on by default.

Did you install php or mod_php? IIRC, installing mod_php results in 
*both* php and mod_php being built and installed.

BTW, Matt's suggestion is correct however setting the USE flags on the 
command-line is not persistent and so you have to repeat it for 
subsequent updates (not to mention you have to lookup and/or remember 
what you set on a previous emerge!). Much better to create the 
/etc/portage directory and in there create a file called package.use 
with the USE flags for each package, one per line. (See "man portage" 
for more info on what files you can use in /etc/portage).

On one of my web servers, my package.use file has these lines for php:

*dev-php/php     -X berkdb crypt -curl -doc -fdftk -firebird flash 
freetds gd -gd-external gdbm -gmp -hardenedphp -imap -informix -ipv6 
-java jpeg -kerberos -ldap -mcal -memlimit mysql ncurses nls -oci8 -odbc 
pam pdflib png -postgres -qt readline snmp spell ssl -tiff truetype xml2 
-yaz
*
*dev-php/mod_php -X -apache2 berkdb crypt -curl -doc -fdftk -firebird 
flash -freetds gd -gd-external gdbm -gmp -hardenedphp -imap -informix 
-ipv6 -java jpeg -kerberos -ldap -mcal -memlimit mysql nls -oci8 -odbc 
pam pdflib png -postgres -qt snmp spell ssl -tiff truetype xml2 -yaz
*
Note that you dont use + when switching a flag "on" and I dont use 
version numbers so these flags will be used for all php emerges.

Maybe you can tell us how exactly how you emerged PHP? I also remember 
that PHP5 is a "masked" ebuild - did you specifically enable the masked 
version? Which version exactly? (You can do "emerge -s ^php$" to find 
out what version you installed).


-- 
Aj.
Systems Administrator / Developer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nyphp.org/pipermail/talk/attachments/20041020/61b4ae91/attachment.html>


More information about the talk mailing list