1 |
I am trying to eliminate PHP 7.3 from my system. But I am having |
2 |
trouble building dev-php/pecl-apcu-5.1.18 with support for PHP 7.4. |
3 |
|
4 |
I am getting confusing output regarding whether pecl-apcu can be built |
5 |
with PHP 7.4 support. It is working just fine with PHP 7.3 (until I |
6 |
changed eselect php to 7.4, which broke things as I expected). |
7 |
|
8 |
Currently installed are: |
9 |
# equery l php pecl-apcu |
10 |
* Searching for php ... |
11 |
[IP-] [ ] dev-lang/php-7.3.17:7.3 |
12 |
[IP-] [ ] dev-lang/php-7.4.5:7.4 |
13 |
|
14 |
* Searching for pecl-apcu ... |
15 |
[IP-] [ ] dev-php/pecl-apcu-5.1.18:7 |
16 |
|
17 |
|
18 |
# grep PHP_TARGETS /etc/portage/make.conf |
19 |
PHP_TARGETS="php7-4" |
20 |
|
21 |
# eselect php list cli |
22 |
[1] php7.3 |
23 |
[2] php7.4 * |
24 |
# eselect php list apache2 |
25 |
[1] php7.3 |
26 |
[2] php7.4 * |
27 |
The other eselect PHP modules are not set. |
28 |
|
29 |
|
30 |
When I try to re-emerge pecl-apcu, I get output which confuses me: |
31 |
# emerge -pv pecl-apcu |
32 |
|
33 |
These are the packages that would be merged, in order: |
34 |
|
35 |
Calculating dependencies / |
36 |
|
37 |
!!! Problem resolving dependencies for dev-php/pecl-apcu |
38 |
... done! |
39 |
|
40 |
!!! The ebuild selected to satisfy "pecl-apcu" has unmet requirements. |
41 |
- dev-php/pecl-apcu-5.1.18::gentoo USE="lock-pthreadrw mmap |
42 |
-lock-pthreadmutex -lock-semaphore -lock-spinlock" |
43 |
PHP_TARGETS="(-php7-1) -php7-2 -php7-3 (-php7-4)" |
44 |
|
45 |
The following REQUIRED_USE flag constraints are unsatisfied: |
46 |
any-of ( php_targets_php7-1 php_targets_php7-2 php_targets_php7-3 |
47 |
php_targets_php7-4 ) |
48 |
|
49 |
The above constraints are a subset of the following complete |
50 |
expression: |
51 |
exactly-one-of ( lock-pthreadmutex lock-pthreadrw lock-spinlock |
52 |
lock-semaphore ) any-of ( php_targets_php7-1 php_targets_php7-2 |
53 |
php_targets_php7-3 php_targets_php7-4 ) |
54 |
|
55 |
|
56 |
If I understand correctly, PHP_TARGETS="(-php7-1) -php7-2 -php7-3 |
57 |
(-php7-4)" above means that I cannot use 7.1 nor 7.4 (correct me if I'm |
58 |
wrong). But I do not understand why, since all four versions of PHP are |
59 |
listed in the REQUIRED_USE line underneath. |
60 |
|
61 |
|
62 |
Another thing that confuses me is that PHP 7.4 isn't even listed in the |
63 |
output below (neither enabled nor disabled, but missing entirely): |
64 |
# equery u pecl-apcu |
65 |
[ Legend : U - final flag setting for installation] |
66 |
[ : I - package is installed with flag ] |
67 |
[ Colors : set, unset ] |
68 |
* Found these USE flags for dev-php/pecl-apcu-5.1.18: |
69 |
U I |
70 |
- - lock-pthreadmutex : Enable pthread mutex locking |
71 |
+ + lock-pthreadrw : Enable pthread read/write locking |
72 |
- - lock-semaphore : Enable semaphore locks instead of fcntl |
73 |
- - lock-spinlock : Enable spin locks (EXPERIMENTAL) |
74 |
+ + mmap : Add mmap (memory map) support |
75 |
- - php_targets_php7-2 : Build against PHP 7.2 |
76 |
- + php_targets_php7-3 : Build against PHP 7.3 |
77 |
|
78 |
|
79 |
However, all four PHP versions seem to be supported by the ebuild, |
80 |
dev-php/pecl-apcu-5.1.18.ebuild: |
81 |
USE_PHP="php7-1 php7-2 php7-3 php7-4" |
82 |
|
83 |
Can anyone explain why php7-4 is either disallowed or missing, when the |
84 |
ebuild seems to allow it? |
85 |
|
86 |
Thanks. |