Compilation error with security/OpenSSL (OpenSSL 1.1.1i 8 Dec 2020) #2119

Closed
opened 2026-02-20 21:59:37 -05:00 by deekerman · 9 comments
Owner

Originally created by @gessel on GitHub (Feb 15, 2021).

Describe the bug

Build process errors out trying to locate libcrypto.so.11

Steps to Reproduce

portmaster -d audio/murmur

Desktop (please complete the following information):
(server side)
FreeBSD 11.3-RELEASE-p8 #0 r360490
murmur 1.3.3_1 (mumble-voip-mumble-1.3.3_GH0.tar.gz)

Additional context

Note I ran into a LibreSSL bug #4725 and so switched a jail to OpenSSL from ports (not base) and tried building murmur there:

 # /usr/local/bin/openssl version
OpenSSL 1.1.1i  8 Dec 2020

Note other ports depending on OpenSSL build normally (and work as expected):

# pkg info -r openssl
openssl-1.1.1i_1,1:
        tomcat-native-1.2.24_1
        ssmtp-2.64_7
        qt5-network-5.15.2_1
        openssh-portable-8.4.p1_3,1
        openldap-sasl-client-2.4.57
        lynx-2.8.9.1_1,1
        libevent-2.1.12
        Ice-3.6.4
        serf-1.3.9_6
        mariadb105-client-10.5.8
        libfido2-1.6.0
        ldns-1.7.1_2
        trousers-0.3.14_3
        cyrus-sasl-2.1.27_1
        apr-1.7.0.1.6.1_1
        curl-7.75.0
        libarchive-3.4.3_1,1
        python37-3.7.9_1

Build terminates with:

c++ -c -Xclang -include-pch -Xclang debug/murmurd.pch/c++.pch -O2 -pipe -march=barcelona -mtune=barcelona -march=amdfam10 -fstack-protector-strong -fno-strict-aliasing -std=c++11 -fvisibility=hidden -Wall -Wextra -Wno-deprecated -I/usr/local/include -isystem /usr/local/include -fstack-protector -fPIE -U_FORTIFY_SOURCE -I../mumble_proto -isystem ../mumble_proto -isystem murmur_ice -std=gnu++1z -pthread -Wall -Wextra -pthread -fPIC -DRESTRICT=__restrict__ -DSNAPSHOT_BUILD -DMUMBLE_VERSION_STRING=1.3.3 -DMURMUR -DUSE_ICE -DUSE_QSSLDIFFIEHELLMANPARAMETERS -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I../../src -I. -I../mumble_proto -I../../3rdparty/arc4random-src -Imurmur_ice -I/usr/local/include -I/usr/local/include/qt5 -I/usr/local/include/qt5/QtNetwork -I/usr/local/include/qt5/QtSql -I/usr/local/include/qt5/QtXml -I/usr/local/include/qt5/QtCore -I../../debug/.moc/murmur -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o ../../debug/.obj/murmur/ServerResolver_qt5.o ../ServerResolver_qt5.cpp
--- release-all ---
/usr/bin/ld: warning: libcrypto.so.11, needed by /usr/local/lib/libIceUtil.so, may conflict with libcrypto.so.8
/usr/bin/ld: undefined reference to symbol `OpenSSL_version@@OPENSSL_1_1_0' (try adding -lcrypto)
/usr/local/lib/libcrypto.so.11: could not read symbols: Bad value
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [../../release/murmurd] Error code 1

make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur
1 error

make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur
*** [release-all] Error code 2

It appears the port is correctly parsing the make.conf directive to use OpenSSL from ports:

/usr/ports/audio/murmur # make build-depends-list                                                                                                                            
/usr/ports/ports-mgmt/pkg
/usr/ports/devel/boost-libs
/usr/ports/devel/pkgconf
/usr/ports/lang/python37
/usr/ports/security/openssl
/usr/ports/devel/qt5-buildtools
/usr/ports/devel/qt5-qmake
/usr/ports/databases/qt5-sqldrivers-mysql
/usr/ports/devel/ccache
/usr/ports/devel/protobuf
/usr/ports/devel/ice
/usr/ports/devel/qt5-core
/usr/ports/net/qt5-network
/usr/ports/databases/qt5-sql
/usr/ports/textproc/qt5-xml

Ice 3.6.4, built as a dependency for murmur, apparently finds the SSL libraries:

# ldd /usr/local/lib/libIce.so.36
/usr/local/lib/libIce.so.36:
        libIceUtil.so.36 => /usr/local/lib/libIceUtil.so.36 (0x8015ff000)
        libbz2.so.4 => /usr/lib/libbz2.so.4 (0x80184a000)
        libc++.so.1 => /usr/lib/libc++.so.1 (0x801a57000)
        libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x801d10000)
        libm.so.5 => /lib/libm.so.5 (0x801f28000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x802155000)
        libc.so.7 => /lib/libc.so.7 (0x80081c000)
        libcrypto.so.11 => /usr/local/lib/libcrypto.so.11 (0x802400000)
        libthr.so.3 => /lib/libthr.so.3 (0x802896000)

Any hints?

Originally created by @gessel on GitHub (Feb 15, 2021). **Describe the bug** Build process errors out trying to locate libcrypto.so.11 **Steps to Reproduce** # portmaster -d audio/murmur **Desktop (please complete the following information):** (server side) FreeBSD 11.3-RELEASE-p8 #0 r360490 murmur 1.3.3_1 (mumble-voip-mumble-1.3.3_GH0.tar.gz) **Additional context** Note I ran into a LibreSSL bug #4725 and so switched a jail to OpenSSL from ports (not base) and tried building murmur there: ``` # /usr/local/bin/openssl version OpenSSL 1.1.1i 8 Dec 2020 ``` Note other ports depending on OpenSSL build normally (and work as expected): ``` # pkg info -r openssl openssl-1.1.1i_1,1: tomcat-native-1.2.24_1 ssmtp-2.64_7 qt5-network-5.15.2_1 openssh-portable-8.4.p1_3,1 openldap-sasl-client-2.4.57 lynx-2.8.9.1_1,1 libevent-2.1.12 Ice-3.6.4 serf-1.3.9_6 mariadb105-client-10.5.8 libfido2-1.6.0 ldns-1.7.1_2 trousers-0.3.14_3 cyrus-sasl-2.1.27_1 apr-1.7.0.1.6.1_1 curl-7.75.0 libarchive-3.4.3_1,1 python37-3.7.9_1 ``` Build terminates with: ``` c++ -c -Xclang -include-pch -Xclang debug/murmurd.pch/c++.pch -O2 -pipe -march=barcelona -mtune=barcelona -march=amdfam10 -fstack-protector-strong -fno-strict-aliasing -std=c++11 -fvisibility=hidden -Wall -Wextra -Wno-deprecated -I/usr/local/include -isystem /usr/local/include -fstack-protector -fPIE -U_FORTIFY_SOURCE -I../mumble_proto -isystem ../mumble_proto -isystem murmur_ice -std=gnu++1z -pthread -Wall -Wextra -pthread -fPIC -DRESTRICT=__restrict__ -DSNAPSHOT_BUILD -DMUMBLE_VERSION_STRING=1.3.3 -DMURMUR -DUSE_ICE -DUSE_QSSLDIFFIEHELLMANPARAMETERS -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I../../src -I. -I../mumble_proto -I../../3rdparty/arc4random-src -Imurmur_ice -I/usr/local/include -I/usr/local/include/qt5 -I/usr/local/include/qt5/QtNetwork -I/usr/local/include/qt5/QtSql -I/usr/local/include/qt5/QtXml -I/usr/local/include/qt5/QtCore -I../../debug/.moc/murmur -I/usr/local/include -I/usr/local/lib/qt5/mkspecs/freebsd-clang -o ../../debug/.obj/murmur/ServerResolver_qt5.o ../ServerResolver_qt5.cpp --- release-all --- /usr/bin/ld: warning: libcrypto.so.11, needed by /usr/local/lib/libIceUtil.so, may conflict with libcrypto.so.8 /usr/bin/ld: undefined reference to symbol `OpenSSL_version@@OPENSSL_1_1_0' (try adding -lcrypto) /usr/local/lib/libcrypto.so.11: could not read symbols: Bad value c++: error: linker command failed with exit code 1 (use -v to see invocation) *** [../../release/murmurd] Error code 1 make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur 1 error make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur *** [release-all] Error code 2 ``` It appears the port is correctly parsing the make.conf directive to use OpenSSL from ports: ``` /usr/ports/audio/murmur # make build-depends-list /usr/ports/ports-mgmt/pkg /usr/ports/devel/boost-libs /usr/ports/devel/pkgconf /usr/ports/lang/python37 /usr/ports/security/openssl /usr/ports/devel/qt5-buildtools /usr/ports/devel/qt5-qmake /usr/ports/databases/qt5-sqldrivers-mysql /usr/ports/devel/ccache /usr/ports/devel/protobuf /usr/ports/devel/ice /usr/ports/devel/qt5-core /usr/ports/net/qt5-network /usr/ports/databases/qt5-sql /usr/ports/textproc/qt5-xml ``` Ice 3.6.4, built as a dependency for murmur, apparently finds the SSL libraries: ``` # ldd /usr/local/lib/libIce.so.36 /usr/local/lib/libIce.so.36: libIceUtil.so.36 => /usr/local/lib/libIceUtil.so.36 (0x8015ff000) libbz2.so.4 => /usr/lib/libbz2.so.4 (0x80184a000) libc++.so.1 => /usr/lib/libc++.so.1 (0x801a57000) libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x801d10000) libm.so.5 => /lib/libm.so.5 (0x801f28000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x802155000) libc.so.7 => /lib/libc.so.7 (0x80081c000) libcrypto.so.11 => /usr/local/lib/libcrypto.so.11 (0x802400000) libthr.so.3 => /lib/libthr.so.3 (0x802896000) ``` Any hints?
deekerman 2026-02-20 21:59:37 -05:00
Author
Owner

@davidebeatrici commented on GitHub (Feb 15, 2021):

Mumble is linking to libcrypto.so.8 instead of libcrypto.so.11.

Is removing the older library an option?

@davidebeatrici commented on GitHub (Feb 15, 2021): Mumble is linking to `libcrypto.so.8` instead of `libcrypto.so.11`. Is removing the older library an option?
Author
Owner

@Krzmbrzl commented on GitHub (Feb 16, 2021):

As a test you could also try to disable Ice to see if it is working then. In order to do so, use -Dice=OFF when invoking cmake

@Krzmbrzl commented on GitHub (Feb 16, 2021): As a test you could also try to disable Ice to see if it is working then. In order to do so, use `-Dice=OFF` when invoking cmake
Author
Owner

@gessel commented on GitHub (Feb 16, 2021):

Indeed, that changes the error but compilation still did not succeed. In FreeBSD land:

# cd /usr/ports/audio/murmur
# make config  (deselect [ ] ICE   Ice Support)
# portmaster -d

which yielded:

 ../../debug/murmurd ---
c++ -Wl,-rpath,/usr/local/lib -fstack-protector-strong -pie -Wl,--no-add-needed -Wl,-z,relro -Wl,-z,now -fstack-protector -pthread -Wl,-rpath,/usr/local/lib/qt5 -o ../../debug/murmurd ../../debug/.obj/murmur/ACL.o  ../../debug/.obj/murmur/Group.o  ../../debug/.obj/murmur/Channel.o  ../../debug/.obj/murmur/Connection.o  ../../debug/.obj/murmur/HTMLFilter.o  ../../debug/.obj/murmur/User.o  ../../debug/.obj/murmur/Timer.o  ../../debug/.obj/murmur/CryptState.o  ../../debug/.obj/murmur/OSInfo.o  ../../debug/.obj/murmur/SSL.o  ../../debug/.obj/murmur/Version.o  ../../debug/.obj/murmur/SSLCipherInfo.o  ../../debug/.obj/murmur/License.o  ../../debug/.obj/murmur/LogEmitter.o  ../../debug/.obj/murmur/CryptographicHash.o  ../../debug/.obj/murmur/CryptographicRandom.o  ../../debug/.obj/murmur/PasswordGenerator.o  ../../debug/.obj/murmur/HostAddress.o  ../../debug/.obj/murmur/Ban.o  ../../debug/.obj/murmur/EnvUtils.o  ../../debug/.obj/murmur/UnresolvedServerAddress.o  ../../debug/.obj/murmur/ServerAddress.o  ../../debug/.obj/murmur/ServerResolver_qt5.o  ../../debug/.obj/murmur/ServerResolverRecord.o  ../../debug/.obj/murmur/SelfSignedCertificate.o  ../../debug/.obj/murmur/SSLLocks.o  ../../debug/.obj/murmur/FFDHE.o  ../../debug/.obj/murmur/arc4random_uniform.o  ../../debug/.obj/murmur/main.o  ../../debug/.obj/murmur/Server.o  ../../debug/.obj/murmur/ServerUser.o  ../../debug/.obj/murmur/ServerDB.o  ../../debug/.obj/murmur/Register.o  ../../debug/.obj/murmur/Cert.o  ../../debug/.obj/murmur/Messages.o  ../../debug/.obj/murmur/Meta.o  ../../debug/.obj/murmur/RPC.o  ../../debug/.obj/murmur/PBKDF2.o  ../../debug/.obj/murmur/UnixMurmur.o  ../../debug/.obj/murmur/moc_ACL.o  ../../debug/.obj/murmur/moc_Channel.o  ../../debug/.obj/murmur/moc_Connection.o  ../../debug/.obj/murmur/moc_LogEmitter.o  ../../debug/.obj/murmur/moc_ServerResolver.o  ../../debug/.obj/murmur/moc_Server.o  ../../debug/.obj/murmur/moc_ServerUser.o  ../../debug/.obj/murmur/moc_Meta.o  ../../debug/.obj/murmur/moc_UnixMurmur.o   -L/var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/debug -L/usr/lib -L/usr/local/lib -lmumble_proto -lcrypto -lssl -lprotobuf -pthread /usr/local/lib/qt5/libQt5Network.so /usr/local/lib/qt5/libQt5Sql.so /usr/local/lib/qt5/libQt5Xml.so /usr/local/lib/qt5/libQt5Core.so
--- release-all ---
../../release/.obj/murmur/SSL.o: In function `MumbleSSL::initialize()':
SSL.cpp:(.text+0xe): undefined reference to `OPENSSL_init_ssl'
SSL.cpp:(.text+0x1a): undefined reference to `OPENSSL_init_ssl'
../../release/.obj/murmur/SSL.o: In function `MumbleSSL::ciphersFromOpenSSLCipherString(QString)':
SSL.cpp:(.text+0xaf): undefined reference to `TLS_server_method'
../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::cleanupMdctx()':
CryptographicHash.cpp:(.text+0x32): undefined reference to `EVP_MD_CTX_free'
../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::CryptographicHashPrivate(evp_md_st const*)':
CryptographicHash.cpp:(.text+0x70): undefined reference to `EVP_MD_CTX_new'
CryptographicHash.cpp:(.text+0x97): undefined reference to `EVP_MD_CTX_free'
../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::~CryptographicHashPrivate()':
CryptographicHash.cpp:(.text+0xf3): undefined reference to `EVP_MD_CTX_free'
../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::addData(QByteArray const&)':
CryptographicHash.cpp:(.text+0x194): undefined reference to `EVP_MD_CTX_free'
../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::result()':
CryptographicHash.cpp:(.text+0x29c): undefined reference to `EVP_MD_CTX_free'
../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHash::hash(QByteArray const&, CryptographicHash::Algorithm)':
CryptographicHash.cpp:(.text+0x39f): undefined reference to `EVP_MD_CTX_free'
../../release/.obj/murmur/CryptographicHash.o:CryptographicHash.cpp:(.text+0x429): more undefined references to `EVP_MD_CTX_free' follow
../../release/.obj/murmur/SelfSignedCertificate.o: In function `SelfSignedCertificate::generate(CertificateType, QString, QString, QSslCertificate&, QSslKey&)':
SelfSignedCertificate.cpp:(.text+0x14b): undefined reference to `X509_getm_notBefore'
SelfSignedCertificate.cpp:(.text+0x173): undefined reference to `X509_getm_notAfter'
../../release/.obj/murmur/main.o: In function `main':
main.cpp:(.text+0x212): undefined reference to `OPENSSL_init_ssl'
main.cpp:(.text+0x21e): undefined reference to `OPENSSL_init_ssl'
main.cpp:(.text+0x971): undefined reference to `OpenSSL_version'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [../../release/murmurd] Error code 1

make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur
1 error

make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur
*** [release-all] Error code 2

make[2]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur
--- debug-all ---
../../debug/.obj/murmur/SSL.o: In function `MumbleSSL::initialize()':
SSL.cpp:(.text+0xe): undefined reference to `OPENSSL_init_ssl'
SSL.cpp:(.text+0x1a): undefined reference to `OPENSSL_init_ssl'
../../debug/.obj/murmur/SSL.o: In function `MumbleSSL::ciphersFromOpenSSLCipherString(QString)':
SSL.cpp:(.text+0xb1): undefined reference to `TLS_server_method'
../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::cleanupMdctx()':
CryptographicHash.cpp:(.text+0x32): undefined reference to `EVP_MD_CTX_free'
../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::CryptographicHashPrivate(evp_md_st const*)':
CryptographicHash.cpp:(.text+0x70): undefined reference to `EVP_MD_CTX_new'
CryptographicHash.cpp:(.text+0x97): undefined reference to `EVP_MD_CTX_free'
../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::~CryptographicHashPrivate()':
CryptographicHash.cpp:(.text+0xf3): undefined reference to `EVP_MD_CTX_free'
../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::addData(QByteArray const&)':
CryptographicHash.cpp:(.text+0x19f): undefined reference to `EVP_MD_CTX_free'
../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::result()':
CryptographicHash.cpp:(.text+0x2be): undefined reference to `EVP_MD_CTX_free'
../../debug/.obj/murmur/SelfSignedCertificate.o: In function `SelfSignedCertificate::generate(CertificateType, QString, QString, QSslCertificate&, QSslKey&)':
SelfSignedCertificate.cpp:(.text+0x12e): undefined reference to `X509_getm_notBefore'
SelfSignedCertificate.cpp:(.text+0x153): undefined reference to `X509_getm_notAfter'
../../debug/.obj/murmur/main.o: In function `main':
main.cpp:(.text+0x212): undefined reference to `OPENSSL_init_ssl'
main.cpp:(.text+0x21e): undefined reference to `OPENSSL_init_ssl'
main.cpp:(.text+0xa9d): undefined reference to `OpenSSL_version'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [../../debug/murmurd] Error code 1

make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur
1 error

make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur
*** [debug-all] Error code 2

I'll try reverting to base SSL (OpenSSL 1.0.2s-freebsd 28 May 2019) rather than the current security/openssl from ports (OpenSSL 1.1.1i 8 Dec 2020). It will take some time to rebuild everything...

@gessel commented on GitHub (Feb 16, 2021): Indeed, that changes the error but compilation still did not succeed. In FreeBSD land: ``` # cd /usr/ports/audio/murmur # make config (deselect [ ] ICE Ice Support) # portmaster -d ``` which yielded: ``` ../../debug/murmurd --- c++ -Wl,-rpath,/usr/local/lib -fstack-protector-strong -pie -Wl,--no-add-needed -Wl,-z,relro -Wl,-z,now -fstack-protector -pthread -Wl,-rpath,/usr/local/lib/qt5 -o ../../debug/murmurd ../../debug/.obj/murmur/ACL.o ../../debug/.obj/murmur/Group.o ../../debug/.obj/murmur/Channel.o ../../debug/.obj/murmur/Connection.o ../../debug/.obj/murmur/HTMLFilter.o ../../debug/.obj/murmur/User.o ../../debug/.obj/murmur/Timer.o ../../debug/.obj/murmur/CryptState.o ../../debug/.obj/murmur/OSInfo.o ../../debug/.obj/murmur/SSL.o ../../debug/.obj/murmur/Version.o ../../debug/.obj/murmur/SSLCipherInfo.o ../../debug/.obj/murmur/License.o ../../debug/.obj/murmur/LogEmitter.o ../../debug/.obj/murmur/CryptographicHash.o ../../debug/.obj/murmur/CryptographicRandom.o ../../debug/.obj/murmur/PasswordGenerator.o ../../debug/.obj/murmur/HostAddress.o ../../debug/.obj/murmur/Ban.o ../../debug/.obj/murmur/EnvUtils.o ../../debug/.obj/murmur/UnresolvedServerAddress.o ../../debug/.obj/murmur/ServerAddress.o ../../debug/.obj/murmur/ServerResolver_qt5.o ../../debug/.obj/murmur/ServerResolverRecord.o ../../debug/.obj/murmur/SelfSignedCertificate.o ../../debug/.obj/murmur/SSLLocks.o ../../debug/.obj/murmur/FFDHE.o ../../debug/.obj/murmur/arc4random_uniform.o ../../debug/.obj/murmur/main.o ../../debug/.obj/murmur/Server.o ../../debug/.obj/murmur/ServerUser.o ../../debug/.obj/murmur/ServerDB.o ../../debug/.obj/murmur/Register.o ../../debug/.obj/murmur/Cert.o ../../debug/.obj/murmur/Messages.o ../../debug/.obj/murmur/Meta.o ../../debug/.obj/murmur/RPC.o ../../debug/.obj/murmur/PBKDF2.o ../../debug/.obj/murmur/UnixMurmur.o ../../debug/.obj/murmur/moc_ACL.o ../../debug/.obj/murmur/moc_Channel.o ../../debug/.obj/murmur/moc_Connection.o ../../debug/.obj/murmur/moc_LogEmitter.o ../../debug/.obj/murmur/moc_ServerResolver.o ../../debug/.obj/murmur/moc_Server.o ../../debug/.obj/murmur/moc_ServerUser.o ../../debug/.obj/murmur/moc_Meta.o ../../debug/.obj/murmur/moc_UnixMurmur.o -L/var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/debug -L/usr/lib -L/usr/local/lib -lmumble_proto -lcrypto -lssl -lprotobuf -pthread /usr/local/lib/qt5/libQt5Network.so /usr/local/lib/qt5/libQt5Sql.so /usr/local/lib/qt5/libQt5Xml.so /usr/local/lib/qt5/libQt5Core.so --- release-all --- ../../release/.obj/murmur/SSL.o: In function `MumbleSSL::initialize()': SSL.cpp:(.text+0xe): undefined reference to `OPENSSL_init_ssl' SSL.cpp:(.text+0x1a): undefined reference to `OPENSSL_init_ssl' ../../release/.obj/murmur/SSL.o: In function `MumbleSSL::ciphersFromOpenSSLCipherString(QString)': SSL.cpp:(.text+0xaf): undefined reference to `TLS_server_method' ../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::cleanupMdctx()': CryptographicHash.cpp:(.text+0x32): undefined reference to `EVP_MD_CTX_free' ../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::CryptographicHashPrivate(evp_md_st const*)': CryptographicHash.cpp:(.text+0x70): undefined reference to `EVP_MD_CTX_new' CryptographicHash.cpp:(.text+0x97): undefined reference to `EVP_MD_CTX_free' ../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::~CryptographicHashPrivate()': CryptographicHash.cpp:(.text+0xf3): undefined reference to `EVP_MD_CTX_free' ../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::addData(QByteArray const&)': CryptographicHash.cpp:(.text+0x194): undefined reference to `EVP_MD_CTX_free' ../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::result()': CryptographicHash.cpp:(.text+0x29c): undefined reference to `EVP_MD_CTX_free' ../../release/.obj/murmur/CryptographicHash.o: In function `CryptographicHash::hash(QByteArray const&, CryptographicHash::Algorithm)': CryptographicHash.cpp:(.text+0x39f): undefined reference to `EVP_MD_CTX_free' ../../release/.obj/murmur/CryptographicHash.o:CryptographicHash.cpp:(.text+0x429): more undefined references to `EVP_MD_CTX_free' follow ../../release/.obj/murmur/SelfSignedCertificate.o: In function `SelfSignedCertificate::generate(CertificateType, QString, QString, QSslCertificate&, QSslKey&)': SelfSignedCertificate.cpp:(.text+0x14b): undefined reference to `X509_getm_notBefore' SelfSignedCertificate.cpp:(.text+0x173): undefined reference to `X509_getm_notAfter' ../../release/.obj/murmur/main.o: In function `main': main.cpp:(.text+0x212): undefined reference to `OPENSSL_init_ssl' main.cpp:(.text+0x21e): undefined reference to `OPENSSL_init_ssl' main.cpp:(.text+0x971): undefined reference to `OpenSSL_version' c++: error: linker command failed with exit code 1 (use -v to see invocation) *** [../../release/murmurd] Error code 1 make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur 1 error make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur *** [release-all] Error code 2 make[2]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur --- debug-all --- ../../debug/.obj/murmur/SSL.o: In function `MumbleSSL::initialize()': SSL.cpp:(.text+0xe): undefined reference to `OPENSSL_init_ssl' SSL.cpp:(.text+0x1a): undefined reference to `OPENSSL_init_ssl' ../../debug/.obj/murmur/SSL.o: In function `MumbleSSL::ciphersFromOpenSSLCipherString(QString)': SSL.cpp:(.text+0xb1): undefined reference to `TLS_server_method' ../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::cleanupMdctx()': CryptographicHash.cpp:(.text+0x32): undefined reference to `EVP_MD_CTX_free' ../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::CryptographicHashPrivate(evp_md_st const*)': CryptographicHash.cpp:(.text+0x70): undefined reference to `EVP_MD_CTX_new' CryptographicHash.cpp:(.text+0x97): undefined reference to `EVP_MD_CTX_free' ../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::~CryptographicHashPrivate()': CryptographicHash.cpp:(.text+0xf3): undefined reference to `EVP_MD_CTX_free' ../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::addData(QByteArray const&)': CryptographicHash.cpp:(.text+0x19f): undefined reference to `EVP_MD_CTX_free' ../../debug/.obj/murmur/CryptographicHash.o: In function `CryptographicHashPrivate::result()': CryptographicHash.cpp:(.text+0x2be): undefined reference to `EVP_MD_CTX_free' ../../debug/.obj/murmur/SelfSignedCertificate.o: In function `SelfSignedCertificate::generate(CertificateType, QString, QString, QSslCertificate&, QSslKey&)': SelfSignedCertificate.cpp:(.text+0x12e): undefined reference to `X509_getm_notBefore' SelfSignedCertificate.cpp:(.text+0x153): undefined reference to `X509_getm_notAfter' ../../debug/.obj/murmur/main.o: In function `main': main.cpp:(.text+0x212): undefined reference to `OPENSSL_init_ssl' main.cpp:(.text+0x21e): undefined reference to `OPENSSL_init_ssl' main.cpp:(.text+0xa9d): undefined reference to `OpenSSL_version' c++: error: linker command failed with exit code 1 (use -v to see invocation) *** [../../debug/murmurd] Error code 1 make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur 1 error make[3]: stopped in /var/ports/usr/ports/audio/murmur/work/mumble-1.3.3/src/murmur *** [debug-all] Error code 2 ``` I'll try reverting to base SSL (OpenSSL 1.0.2s-freebsd 28 May 2019) rather than the current security/openssl from ports (OpenSSL 1.1.1i 8 Dec 2020). It will take some time to rebuild everything...
Author
Owner

@Krzmbrzl commented on GitHub (Feb 16, 2021):

I think we at some point received a report that some newer OpenSSL version changed some function names and was thus incompatible with our current implementation. This could've been 1.1 🤔

@Krzmbrzl commented on GitHub (Feb 16, 2021): I think we at some point received a report that some newer OpenSSL version changed some function names and was thus incompatible with our current implementation. This could've been 1.1 :thinking:
Author
Owner

@gessel commented on GitHub (Feb 16, 2021):

hmm... this could be a problem. Base is 1.0.2s, but:

===>>> Currently installed version: qt5-network-5.15.2_1
===>>> Port directory: /usr/ports/net/qt5-network

        ===>>> This port is marked BROKEN
        ===>>> Qt5 requires Openssl 1.1.1, upgrade to FreeBSD 12.x/13.x or add DEFAULT_VERSIONS+=ssl=[openssl|libressl*] to /etc/make.conf


        ===>>> If you are sure you can build it, remove the
               BROKEN line in the Makefile and try again.

===>>> Update for qt5-network-5.15.2_1 failed

So I removed that port (and some other cruft) with # portmaster -e net/qt5-network, and I'll see where I get to...

@gessel commented on GitHub (Feb 16, 2021): hmm... this could be a problem. Base is 1.0.2s, but: ``` ===>>> Currently installed version: qt5-network-5.15.2_1 ===>>> Port directory: /usr/ports/net/qt5-network ===>>> This port is marked BROKEN ===>>> Qt5 requires Openssl 1.1.1, upgrade to FreeBSD 12.x/13.x or add DEFAULT_VERSIONS+=ssl=[openssl|libressl*] to /etc/make.conf ===>>> If you are sure you can build it, remove the BROKEN line in the Makefile and try again. ===>>> Update for qt5-network-5.15.2_1 failed ``` So I removed that port (and some other cruft) with # portmaster -e net/qt5-network, and I'll see where I get to...
Author
Owner

@stale[bot] commented on GitHub (Feb 21, 2021):

This support-issue has been automatically marked as stale because it has not had recent activity. If no further activity occurs, the issue will be automatically closed as we'll assume your problem to be fixed.

@stale[bot] commented on GitHub (Feb 21, 2021): This support-issue has been automatically marked as stale because it has not had recent activity. If no further activity occurs, the issue will be automatically closed as we'll assume your problem to be fixed.
Author
Owner

@gessel commented on GitHub (Jun 6, 2021):

OpenSSL is up to openssl-1.1.1k_1,1

But still no love.

# make | grep OPENSSL
SSL.cpp:(.text+0xe): undefined reference to `OPENSSL_init_ssl'
SSL.cpp:(.text+0x1a): undefined reference to `OPENSSL_init_ssl'
main.cpp:(.text+0x212): undefined reference to `OPENSSL_init_ssl'
main.cpp:(.text+0x21e): undefined reference to `OPENSSL_init_ssl'
SSL.cpp:(.text+0xe): undefined reference to `OPENSSL_init_ssl'
SSL.cpp:(.text+0x1a): undefined reference to `OPENSSL_init_ssl'
main.cpp:(.text+0x212): undefined reference to `OPENSSL_init_ssl'
main.cpp:(.text+0x21e): undefined reference to `OPENSSL_init_ssl'
1 error

Based on googling around, I suspect linking is confused by base SSL:

/usr/local/lib/libssl.so
/usr/local/lib/libssl.so.11
/basejail/usr/lib/libssl.so
/basejail/usr/lib/libssl.so.8
/basejail/usr/lib/libssl.so.7
/basejail/usr/lib/debug/usr/lib/libssl.so.8.debug
/basejail/usr/lib/debug/usr/lib32/libssl.so.8.debug
/basejail/usr/lib32/libssl.so.8
/basejail/usr/lib32/libssl.so
/basejail/usr/lib32/libssl.so.7

and this bit of potential confusion:

# /usr/bin/openssl version
OpenSSL 1.0.2s-freebsd  28 May 2019

# /usr/local/bin/openssl version
OpenSSL 1.1.1k  25 Mar 2021
@gessel commented on GitHub (Jun 6, 2021): OpenSSL is up to openssl-1.1.1k_1,1 But still no love. <pre> # make | grep OPENSSL SSL.cpp:(.text+0xe): undefined reference to `OPENSSL_init_ssl' SSL.cpp:(.text+0x1a): undefined reference to `OPENSSL_init_ssl' main.cpp:(.text+0x212): undefined reference to `OPENSSL_init_ssl' main.cpp:(.text+0x21e): undefined reference to `OPENSSL_init_ssl' SSL.cpp:(.text+0xe): undefined reference to `OPENSSL_init_ssl' SSL.cpp:(.text+0x1a): undefined reference to `OPENSSL_init_ssl' main.cpp:(.text+0x212): undefined reference to `OPENSSL_init_ssl' main.cpp:(.text+0x21e): undefined reference to `OPENSSL_init_ssl' 1 error </pre> Based on googling around, I suspect linking is confused by base SSL: <pre> /usr/local/lib/libssl.so /usr/local/lib/libssl.so.11 /basejail/usr/lib/libssl.so /basejail/usr/lib/libssl.so.8 /basejail/usr/lib/libssl.so.7 /basejail/usr/lib/debug/usr/lib/libssl.so.8.debug /basejail/usr/lib/debug/usr/lib32/libssl.so.8.debug /basejail/usr/lib32/libssl.so.8 /basejail/usr/lib32/libssl.so /basejail/usr/lib32/libssl.so.7 </pre> and this bit of potential confusion: <pre> # /usr/bin/openssl version OpenSSL 1.0.2s-freebsd 28 May 2019 # /usr/local/bin/openssl version OpenSSL 1.1.1k 25 Mar 2021 </pre>
Author
Owner

@davidebeatrici commented on GitHub (Jun 6, 2021):

This may be caused by Qt being linked to a different OpenSSL version.

@davidebeatrici commented on GitHub (Jun 6, 2021): This may be caused by Qt being linked to a different OpenSSL version.
Author
Owner

@gessel commented on GitHub (Jun 6, 2021):

Possibly, but the entire system and all ports (portmaster -afd in host, rebuild basejail, then rebuild jails) was done. I'll check with ldd and report back.

@gessel commented on GitHub (Jun 6, 2021): Possibly, but the entire system and all ports (`portmaster -afd` in host, rebuild basejail, then rebuild jails) was done. I'll check with `ldd` and report back.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/mumble-mumble-voip#2119
No description provided.