Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot locate symbol 'SSL_get_peer_certificate' in native library 'libssl.so' #12

Open
demanuel opened this issue Nov 11, 2022 · 4 comments

Comments

@demanuel
Copy link

When updating the raku libs with zef:

===> Searching for missing dependencies: Cro::TLS:ver<0.8.8>
===> Testing: Cro::TLS:ver<0.8.8>:auth<zef:cro>
[Cro::TLS] # Failed test 'Listening for connections once the Supply is tapped'
[Cro::TLS] # at t/tls.t line 39
[Cro::TLS] # Cannot locate symbol 'SSL_get_peer_certificate' in native library 'libssl.so'
[Cro::TLS] No such method 'close' for invocant of type 'Any'.  Did you mean
[Cro::TLS] 'clone'?
[Cro::TLS]   in block <unit> at t/tls.t line 44
[Cro::TLS] 
===> Testing [FAIL]: Cro::TLS:ver<0.8.8>:auth<zef:cro>
Aborting due to test failure: Cro::TLS:ver<0.8.8>:auth<zef:cro> (use --force-test to override)
No such method 'dist' for invocant of type 'Str'.  Did you mean any of
these: 'List', 'gist', 'list', 'Int', 'UInt', 'cis', 'first', 'isa'?

openssl version:

> pacman -Qo /usr/lib/libssl.so
/usr/lib/libssl.so is owned by openssl 3.0.7-2
@demanuel
Copy link
Author

demanuel commented Dec 6, 2022

I was able to fix this. I noticed that my zef was not up to date, so i updated zef and re-installed all the modules.

@Xliff
Copy link

Xliff commented Jan 28, 2023

I am still getting this error:

===> Testing: Cro::TLS:ver<0.8.8>:auth<zef:cro>
[Cro::Core] # Failed test 'Listening for connections once the Supply is tapped'
[Cro::TLS] # Failed test 'Listening for connections once the Supply is tapped'
[Cro::Core] # at t/tls.t line 39
[Cro::TLS] # at t/tls.t line 39
[Cro::Core] # Cannot locate symbol 'SSL_get_peer_certificate' in native library 'libssl.so'
[Cro::TLS] # Cannot locate symbol 'SSL_get_peer_certificate' in native library 'libssl.so'
[Cro::Core] No such method 'close' for invocant of type 'Any'.  Did you mean
[Cro::TLS] No such method 'close' for invocant of type 'Any'.  Did you mean
[Cro::Core] 'clone'?
[Cro::TLS] 'clone'?
[Cro::Core]   in block <unit> at t/tls.t line 44
[Cro::TLS]   in block <unit> at t/tls.t line 44
===> Testing [FAIL]: Cro::TLS:ver<0.8.8>:auth<zef:cro>
Aborting due to test failure: Cro::TLS:ver<0.8.8>:auth<zef:cro> (use --force-test to override)

zef --version

v0.14.6

raku --version

Welcome to Rakudo™ v2022.12-1024-g9998d1338.
Implementing the Raku® Programming Language v6.d.
Built on MoarVM version 2022.12-14-gebefe2618.

lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.10
Release:        22.10
Codename:       kinetic

@Xliff
Copy link

Xliff commented Jan 28, 2023

According to the official site, the latest versions of libssl.so are using SSL_get_peer_certificate as an alias for SSL_get1_peer_certificate.

This is probably done via macro, which Raku will not pick up.

@Xliff
Copy link

Xliff commented Jan 28, 2023

After updating IO::Socket::SSL::Async, I am now getting the following error:

# Server certificate verification failed: certificate has expired

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants