Yes, that's right. The other thing you can do is create a directory named /etc/portage/package.use and put individual files under that directory. That's what a lot of people do and it gives you a neat organizational tool. If you decide on that route, you would put the line you mentioned in /etc/portage/package.use/php

Just out of curiosity, do you have a make.conf in /etc? /etc/portage is the new location; /etc is the legacy location. Both are read but it's best to have only one.

- John_________________I can confirm that I have received between 0 and 499 National Security Letters.

Your choice. If you add a pdo USE flag to the USE variable in make.conf, then all other packages that have optional pdo support (if any) will be recompiled with that support as well. If that's what you want, then, sure.

If you want to add it just to PHP, then /etc/portage/package.use is the correct place.

- John_________________I can confirm that I have received between 0 and 499 National Security Letters.

This is what I get when issuing the first command.
I added pdo to the USE in make.conf
Does this mean there are 2 versions of Apache running?
Sometimes we lose Apache, but it says it's running when we try to start it.
We end up rebooting the system and restarting Apache then it's fine.
I suppose I should mention that we had someone upgrade our old 2006 Gentoo
to a newer version last May. Many problems after that with permissions, etc...

It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously. If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.

To paraphrase, what Portage is saying is that Apache needs to be built with the threads USE flag enabled to work with PHP with the pdo USE flag enabled. It doesn't appear that the threads USE flag is enabled.

You do not get the same messages. That's worlds better: no duplicate Apache install, for one thing. Where is the threads USE flag already? In /etc/make.conf? Could you post that file and, while you're at it, the output of

Code:

emerge ---info

please?

- John_________________I can confirm that I have received between 0 and 499 National Security Letters.

Last edited by John R. Graham on Wed Jan 30, 2013 10:47 pm; edited 2 times in total

Yep. package.use overrides make.conf. If you need Apache with threads, then you need to edit package.use. Someone else set this system up for you, right? No telling why this was done but it seems as though it has become inconsistent with your goals.

- John_________________I can confirm that I have received between 0 and 499 National Security Letters.

Not new to it... I installed the original system back in 2007 when I lived in Quebec.
That's where the server is now. I live in CT. It's been a while since I did anything
with the server, and like I said, someone else did an upgrade last May. Since then,
problems. Anyway, after the PHP compiled, I got this:

Code:

* To enable php, you need to edit your /etc/conf.d/apache2 file and
* add '-D PHP5' to APACHE2_OPTS.
*
*
* Configuration file installed as
* /etc/apache2/modules.d/70_mod_php5.conf
* You may want to edit it before turning the module on in /etc/conf.d/apache2
*
* Make sure that PHP_TARGETS in /etc/make.conf includes php5-4 in order
* to compile extensions for the 5.4 ABI
*
*
* This ebuild installed a version of php.ini based on php.ini-development version.
* You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either
* 'production' or 'development' in /etc/make.conf
* Both versions of php.ini can be found in /usr/share/doc/php-5.4.3
*
* For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:
* http://www.gentoo.org/proj/en/php/php-upgrading.xml
*

* Messages for package dev-lang/php-5.4.3:

* Please note that this version of PHP does not yet come with a suhosin patch
* Installing php.ini for cli into /etc/php/cli-php5.4
*
* Installing php.ini for cgi into /etc/php/cgi-php5.4
*
* Installing php.ini for apache2 into /etc/php/apache2-php5.4
*
* Make sure that PHP_TARGETS in /etc/make.conf includes php5-4 in order
* to compile extensions for the 5.4 ABI
*
*
* This ebuild installed a version of php.ini based on php.ini-development version.
* You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either
* 'production' or 'development' in /etc/make.conf
* Both versions of php.ini can be found in /usr/share/doc/php-5.4.3
*
* For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:
* http://www.gentoo.org/proj/en/php/php-upgrading.xml
*
>>> Auto-cleaning packages...

The "emerge --sync" thing is a double-edged sword. In and of itself, it won't force any other updates. But this is a production server, right? If you run "emerge --sync", Portage will then know just how out of date the system is. In any future update attempts, you will be deluged with update requests for other packages. Right now, for instance, the version of Apache and PHP that you're using aren't even in the Portage tree any more.

The other edge of the sword is that some of the updates you're currently masking by not doing a --sync are probably security related. Your system could have unpatched security vulnerabilities. If it's a production server, then this might be important to you.

The longer you wait to update, the more Gentoo punishes you. It's not a problem to be fixed, per se—although Portage has improved immensely over the years; it's mostly just the nature of a rolling release source-based meta-distribution like Gentoo.

- John_________________I can confirm that I have received between 0 and 499 National Security Letters.