NYCPHP Meetup

NYPHP.org

[nycphp-talk] simplexml, gentoo emerge

Ajai Khattri ajai at bitblit.net
Wed Oct 20 12:16:49 EDT 2004


chris feldmann wrote:

>Yeah, it's masked, and I'm on amd64 architecture FWIW. My emerge
>command (roughly from memory) was
>$USE="berkdb crypt curl <etc..> xml2 simplexml" emerge
>/usr/portage/dev-php/php/php-5.0.2.ebuild
>
>Looking over the replies, I'm wondering if my problem is that I need
>to re-emerge mod_php too? But I never did before and php works fine.
>Thanks for the replies; I'll put the ideas to the test when I get back
>home.
>

Several things here:

Looks like you emerged a masked ebuild (well, its masked for x86 
machines - not sure if it is for amd64). Also, you don't need to know 
the full path to the ebuild if you set up your Portage files beforehand. 
Ill describe that here:

1. Remove the ebuild you installed (*emerge -C php* and/or *emerge -C 
mod_php*)

2. Create the /etc/portage/package.keywords file and put in something like:

    *>=dev-php/php-5        ~amd64
    >=dev-php/mod_php-5    ~amd64

*This basically says "unmask for amd64 any ebuilds for php and mod_php 
greater than or equal to version 5".
Bear in mind that packages are usually masked by the Gentoo developers 
for a reason (caveat emptor and all that). I wouldn't recommend putting 
~amd64 in /etc/make.conf as that will globally unmask all unstable AMD64 
packages - which wouldn't be great if it emerged a broken system package 
that hosed your machine...

3. Create the /etc/portage/package.use file with the USE flags for each 
package.
I usually specify all the flags but you dont have to (the defaults will 
be used for flags you haven't specified). To get a list of USE flags for 
each package (so you can cut and paste) do:

    *emerge -pv mod_php*

It should show you the flags for mod_php *and* all dependencies 
(including php). Set what you need and save the file.

4. Now you can emerge the package by simply doing:

    *emerge php*

Go away and have a coffee while it builds (it might be pretty fast for 
you but I dont have the latest and greatest hardware so Im used to it 
taking a few minutes even on a fastish x86 server).

I should also say here that Gentoo uses Apache2 by default (if you 
didn't install it then the emerge will pull it in automatically as a 
dependency for mod_php). It sounds like you have already installed it 
and configured it to use mod_php (the config for the init script should 
be in /etc/conf.d/apache). Personally, I am still using Apache 1.x (I 
permanently masked out Apache2 by adding an line in 
/etc/portage/package.mask).

Hopefully these instructions will help you install packages the 
"correct" way and help you understand Portage better.

Resources:
Portage Intro 
<http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=2> 
<http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=2>
USE Flags 
<http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1> 
<http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1>


p.s. The gentoo-user mailing list is a very friendly place for help with 
general issues (Im active there too) and there's a gentoo-amd64 mailing 
list you might want to check (see 
http://www.gentoo.org/main/en/lists.xml). Also, dont forget the great 
Gentoo forums at http://forums.gentoo.org)



-- 
Aj.
Systems Administrator / Developer

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


More information about the talk mailing list