Date: Sat, 18 Mar 2023 11:45:13 +0100 From: Matthias Andree <matthias.andree@tu-dortmund.de> To: Adam Weinberger <adamw@adamw.org>, Bernard Spil <brnrd@freebsd.org> Cc: ports-committers@freebsd.org, dev-commits-ports-all@freebsd.org, dev-commits-ports-main@freebsd.org Subject: Re: git: 98749c4fe066 - main - security/openssl-devel: Rename to security/openssl30 Message-ID: <178fcb8c-ac72-9aed-2c07-e898bee3abce@tu-dortmund.de> In-Reply-To: <CAP7rwcg4L1FZ4iTdKps8LxM5JQ6e_==89Vhtk63jDcfcBJ%2BQaw@mail.gmail.com> References: <202303141825.32EIPEk8054602@gitrepo.freebsd.org> <01000186e2138789-48987302-71f1-466d-b9f0-09c3e7e8ca72-000000@email.amazonses.com> <CAP7rwcg4L1FZ4iTdKps8LxM5JQ6e_==89Vhtk63jDcfcBJ%2BQaw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 17.03.23 um 18:33 schrieb Adam Weinberger: > > Hi Bernard, > > I'm getting build failures for cmake-core with openssl30 and openssl31, > which prevents me from dogfooding much of the tree against 30/31. Are > you familiar with these errors? Do you have an idea for what I could do > about it? This is with default openssl options. > > [ 38%] Linking C static library libcmcurl.a > [ 38%] Built target cmcurl > [ 38%] Building C object > Utilities/cmcurl/CMakeFiles/curltest.dir/curltest.c.o > [ 39%] Linking C executable curltest > ld: error: undefined symbol: EVP_PKEY_id > >>> referenced by openssl.c > >>> openssl.c.o:(Curl_ossl_certchain) in archive > lib/libcmcurl.a > >>> referenced by openssl.c > >>> openssl.c.o:(cert_stuff) in archive lib/libcmcurl.a > ld: error: undefined symbol: SSL_get_peer_certificate > >>> referenced by openssl.c > >>> openssl.c.o:(ossl_connect_common) in archive > lib/libcmcurl.a > >>> referenced by openssl.c > >>> openssl.c.o:(ossl_connect_common) in archive > lib/libcmcurl.a > cc: error: linker command failed with exit code 1 (use -v to see > invocation) > --- Utilities/cmcurl/curltest --- > *** [Utilities/cmcurl/curltest] Error code 1 > > make[3]: stopped in /wrkdirs/usr/ports/devel/cmake-core/work/cmake-3.25.1 > > # Adam Adam, I have no clues about cmake/curl and newer OpenSSL in particular, but generally I have experienced that the OpenSSL header files to *A LOT* of compatibility aliasing through macros - so see if you can enable more warnings and check if the source files use proper #includes. There are also several macros (some to be application-defined before the #include) that determine symbol visibility, look for macros with OPENSSL_API* or OPENSSL_NO_DEPRECATED* in their names. The EVP_PKEY_id is #define-aliased to EVP_PKET_get_id in #include <openssl/evp.h>, and SSL_get_peer_certificate is an alias to SSL_get1_peer_certificate through #include <openssl/ssl.h>. This may help: https://www.openssl.org/docs/man3.0/man7/migration_guide.html#Deprecated-function-mappings HTH until someone has time to dive deeply. Matthias
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?178fcb8c-ac72-9aed-2c07-e898bee3abce>