I just encountered that php-7.2.16 fails to start up (through apache2 and cli) when the sodium USEflag was used for it, but dev-libs/libsodium-1.0.16-r2 was built with the minimal USEflag.
php7.2: symbol lookup error: php7.2: undefined symbol: crypto_pwhash_scryptsalsa208sha256_memlimit_interactive
(In reply to Andreas Schürch from comment #0)
> I just encountered that php-7.2.16 fails to start up (through apache2 and
> cli) when the sodium USEflag was used for it, but
> dev-libs/libsodium-1.0.16-r2 was built with the minimal USEflag.
> # php7.2
> php7.2: symbol lookup error: php7.2: undefined symbol:
Reading through the php sources, it requires that the minimal USE flag be consistent when libsodium is built and php is built after.
PHP will build both ways, but the runtime will choke if that USE is flipped and libsodium rebuilt without php being rebuilt.
It still may make sense to force that flag off to get a positive result.
Specifically once PHP is built:
libsodium[minimal] -> libsodium[-minimal] == PHP continues without new functions
libsodium[-minimal] -> libsodium[minimal] == PHP fails at runtime without a rebuild
Ah, You are right!
I got into that situation as I built php in a ROOT= environment with [minimal] set, while the system libsodium was built without it!
I don't know if such a case could be caught!?