Open squeaktoy opened 4 months ago
what version is your openssl? i think it might be too old
dev-libs/openssl-3.0.13-r2::gentoo was built with the following:
USE="asm -fips -ktls -rfc3779 -sctp -static-libs -test -tls-compression -vanilla -verify-sig -weak-ssl-ciphers" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="(sse)"
CFLAGS="-O2 -march=native -pipe -g -fno-strict-aliasing -Wa,--noexecstack"
CXXFLAGS="-O2 -march=native -pipe -g -fno-strict-aliasing -Wa,--noexecstack"
FEATURES="ipc-sandbox userpriv news distlocks protect-owned assume-digests parallel-fetch sfperms fail-clean binpkg-logs strict sandbox pkgdir-index-trusted unknown-features-warn ebuild-locks unmerge-orphans usersync binpkg-dostrip usersandbox unmerge-logs merge-sync pid-sandbox xattr qa-unresolved-soname-deps splitdebug network-sandbox userfetch multilib-strict binpkg-docompress config-protect-if-modified fixlafiles preserve-libs buildpkg-live"
i think cmake is picking up old openssl headers since SSL_get_peer_certificate
is defined as SSL_get1_peer_certificate
but thats not what the linker is seeing.
you can check OPENSSL_INCLUDE_DIR
in CMakeCache.txt
to see what path contains the openssl headers and openssl/opensslv.h
for the version of the headers
OPENSSL_INCLUDE_DIR:PATH=/usr/include
$ rg SSL_get_peer_certificate /usr/include/openssl/
/usr/include/openssl/ssl.h
1792:# define SSL_get_peer_certificate SSL_get1_peer_certificate
As you can see it is defined, so it's strange why it's seemingly "undefined" when compiling abaddon
are there any other openssl packages installed? maybe im confusing myself but perhaps your install of ixwebsocket wants to link to openssl 1 but the build picked up openssl 3?
I build abaddon with the following command, and it fails with the following error during link-time.
cmake -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo . && cmake --build build/ -j4
:System info: OS: Gentoo Linux