Created attachment 482984 [details] emerge --info I've installed Gentoo on an arm64 machine (Raspberry Pi 3). PHP is installed under /usr/lib64 on this machine: $ ls -ld /usr/lib*/php7* drwxr-xr-x 7 root root 4096 Jul 8 18:33 /usr/lib64/php7.0 However, /etc/init.d/php-fpm assumes that PHP is installed under /usr/lib instead of /usr/lib64. Specifically, it contains this line: PHP_FPM_BIN="/usr/lib/${PHPSLOT}/bin/php-fpm" This causes /etc/init.d/php-fpm to fail to start. Patching this locally to be: PHP_FPM_BIN="/usr/lib64/${PHPSLOT}/bin/php-fpm" solves the problem.
We can probably fix this by passing --libdir=$(get_libdir) explicitly in the eselect-php ebuild, but I think you should have a symlink /usr/lib -> /usr/lib64 anyway. Do you have /usr/lib at all? If so, where does it point? The reason it should be there is that most autotools packages default to something like --libdir=DIR object code libraries [EPREFIX/lib] and without the symlink, we would need to add a lot of extra --libdir parameters everywhere.
(In reply to Michael Orlitzky from comment #1) > We can probably fix this by passing --libdir=$(get_libdir) explicitly in the > eselect-php ebuild, but I think you should have a symlink /usr/lib -> > /usr/lib64 anyway. Do you have /usr/lib at all? If so, where does it point? > > The reason it should be there is that most autotools packages default to > something like > > --libdir=DIR object code libraries [EPREFIX/lib] > > and without the symlink, we would need to add a lot of extra --libdir > parameters everywhere. I've put a commit in the eselect-php repo to fix this, but the autotools magic is not quite right. (I have to delete the resulting file which is installed by the Makefile.) And we shouldn't count on the symlink, there are plans are to remove it, see bug 506276
Thank you for such a fast response!
(In reply to Brian Evans from comment #2) > > I've put a commit in the eselect-php repo to fix this, but the autotools > magic is not quite right. (I have to delete the resulting file which is > installed by the Makefile.) > I think I've got it working.. it does still install the init script, but that's not a problem, because the ebuild was going to do it anyway. What it installs is the final variable-substituted version now. If it looks good to you, I can make it v0.9.3 and release it. I'll then make the libdir explicit in the ebuild to fix this bug.
This should be sorted out in the latest eselect-php-0.9.4, can you give it a try please?
Apologies that I will not be able to give this a try. For unrelated reasons, I have switched my Raspberry Pi 3 back to a 32-bit installation.
(In reply to Rich Alimi from comment #6) > Apologies that I will not be able to give this a try. For unrelated reasons, > I have switched my Raspberry Pi 3 back to a 32-bit installation. No problem. On my 64-bit install, I now wind up with command="/usr/lib64/${PHP_SLOT}/bin/php-fpm" in the php-fpm init script. Hopefully that's enough to solve this for people in similar situations. If not, I hear mgorny is pushing to remove the /usr/lib symlink, so we'll probably hear about it!