Open GildedHonour opened 6 years ago
No idea?
@GildedHonour hello, thanks for your feedback.
I personally use LibreSSL 2.7.3
and other folks with different versions of OpenSSL seem to have no not encountered this issue, so I am not sure what can be wrong with Arch version. I think it should be fresh enough...
Anyway, as a workaround: you can always force tests to pass with --force
option(e.g. zef --force install IO::Socket::Async::SSL
) and continue to install cro-http
with the dependency in place.
You will likely be unable to run https-based applications, but it'd be totally fine for http/zmq/other types of services.
@GildedHonour would you mind to provide following information:
objdump -x /usr/lib64/libssl.so | grep SONAME
file -L /usr/lib/libssl.so
Most probably you have more recent library than P6 OpenSSL was built for. Because OpenSSL library trying to dlopen linker file instead of proper SONAME. https://github.com/sergot/openssl/blob/master/lib/OpenSSL/NativeLib.pm6
And this is not good, more explained here: http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
I would rather create a ticket against OpenSSL to rewrite it to support particular SONAME and let maintainers of the OS decide what p6 library openssl version should be used.
Especially taking into account that a lot of shared libraries linked names are LD scripts, so dlopen will definitely fail on them, e.g.:
cat /usr/lib64/libreadline.so
/* GNU ld script
Since Gentoo has critical dynamic libraries in /lib, and the static versions
in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we
run into linking problems. This "fake" dynamic lib is a linker script that
redirects the linker to the real lib. And yes, this works in the cross-
compiling scenario as the sysroot-ed linker will prepend the real path.
See bug https://bugs.gentoo.org/4411 for more info.
*/
OUTPUT_FORMAT ( elf64-x86-64 )
GROUP ( /lib64/libreadline.so.7 )
ping @GildedHonour The issue should be fixed now, can you please confirm?
I don't use it
I'm on Arch linux, that is, the system is up to date. And I have this exception:
When installing a dependency, I get this exception when installing Cro::Router:
Is there a workaround for it? At the moment I only want to install everything and be able to run it.