Re: devel/mongo-c-driver failed with undefined reference due to --no-allow-shlib-undefined: ERR_load_BIO_strings

From: Moin Rahman <bofh_at_freebsd.org>
Date: Thu, 27 Jul 2023 15:09:36 UTC

> On Jul 27, 2023, at 3:11 PM, KIRIYAMA Kazuhiko <kiri@truefc.org> wrote:
> 
> On Thu, 27 Jul 2023 21:30:20 +0900,
> Hiroo Ono wrote:
>> 
>> On Thu, 27 Jul 2023 17:07:28 +0900 (JST)
>> Yasuhiro Kimura <yasu@FreeBSD.org> wrote:
>> 
>>> From: Yasuhiro Kimura <yasu@FreeBSD.org>
>>> Subject: Re: devel/mongo-c-driver failed with undefined reference due
>>> to --no-allow-shlib-undefined: ERR_load_BIO_strings Date: Thu, 27 Jul
>>> 2023 14:55:11 +0900 (JST)
>>> 
>>>>> I tried build with poudriere and following 2 jails.
>>>>> 
>>>>> * 13.2-RELEASE-p1 amd64
>>>>> * 14.0-CURRENT main-n264279-92fd2f39e5b amd64
>>>>> 
>>>>> And build with the former succeeds but build with the latter fails
>>>>> with same error as KIRIYAMA-san.
>>>> 
>>>> I added 'DEFAULT_VERSIONS+=ssl=openssl30' and tried build with
>>>> poudriere and 13.2-RELEASE-p1 amd64 jail. Then build fails with same
>>>> error as 14-CURRENT. So it seems the error is related with OpenSSL
>>>> 3.0.
>>> 
>>> If I remove following 3 lines from Makefile, then build succeeds with
>>> OpenSSL 3.0.
>>> 
>>> ----------------------------------------------------------------------
>>> .if ( ${OPSYS} == FreeBSD && ${OSVERSION} >= 1400092 &&
>>> ${SSL_DEFAULT} == base ) || ${SSL_DEFAULT:Mopenssl3*} CFLAGS+=
>>> -DOPENSSL_API_COMPAT=0x30000000L" .endif
>>> ----------------------------------------------------------------------
>> 
>> OK. The trailing double quote after 0x30000000L is the suspect.
> 
> I removed above trailing double quate and then compiled done
> completeley !
> 
> Thanx for your efforts and thanx correct identification > Kimura san :-)
> 
>> See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272753 for the patch.
>> 
>> There are other ports with this mistake.
>> 
>> ./mail/datovka/Makefile:CXXFLAGS+=      -DOPENSSL_API_COMPAT=0x30000000L"
Ouch it hurts and I am sorry for that. I will try to fix this at the latest on next Monday.


>> ./mail/archiveopteryx/Makefile:CXXFLAGS+=       -DOPENSSL_API_COMPAT=0x30000000L
>> "
>> ./news/nzbget/Makefile:CXXFLAGS+=       -DOPENSSL_API_COMPAT=0x30000000L"
>> ./devel/ucommon/Makefile:CXXFLAGS+=      -DOPENSSL_API_COMPAT=0x30000000L"
>> ./devel/thrift-c_glib/Makefile:CXXFLAGS+=       -DOPENSSL_API_COMPAT=0x30000000L
>> "
>> ./security/git-crypt/Makefile:CXXFLAGS+=        -DOPENSSL_API_COMPAT=0x30000000L
>> "
>> ./databases/xrootd/Makefile:CXXFLAGS+=  -DOPENSSL_API_COMPAT=0x30000000L"
>> ./lang/php80/Makefile:CXXFLAGS+=        -DOPENSSL_API_COMPAT=0x30000000L"
>> ./net/asterisk18/Makefile:CFLAGS+=      -DOPENSSL_API_COMPAT=0x30000000L"
>> ./sysutils/istatserver/Makefile:CXXFLAGS+=      -DOPENSSL_API_COMPAT=0x30000000L
>> "
>> ./www/lagrange/Makefile:CXXFLAGS+=      -DOPENSSL_API_COMPAT=0x30000000L"
>> 
>>> Not sure if built binaries work fine.
>>> 
>>> ---
>>> Yasuhiro Kimura
>>> 
>> 
>> 
> ---
> Kazuhiko Kiriyama