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

From: KIRIYAMA Kazuhiko <kiri_at_truefc.org>
Date: Thu, 27 Jul 2023 05:56:13 UTC
On Thu, 27 Jul 2023 11:02:25 +0900,
Hiroo Ono wrote:
> 
> Hello,
> 
> On Wed, 26 Jul 2023 10:54:11 +0900
> KIRIYAMA Kazuhiko <kiri@truefc.org> wrote:
> 
> > On Wed, 26 Jul 2023 00:46:11 +0900,
> > Hiroo Ono wrote:
> > > 
> > > On Tue, 25 Jul 2023 19:23:41 +0900
> > > Hiroo Ono <hiroo@oikumene.net> wrote:
> > >   
> > > > Sorry, I meant that the upstream has already fixed it, so no need
> > > > to report upstream but version up of the devel/mongo-c-driver
> > > > port is needed.  
> > > 
> > > Filed updates to bugzilla:
> > > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272720
> > > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272721  
> > 
> > Thanx for your patches!!! I tried both, and libbson fine but
> > mongo-c-driver failed as follows:
> > 
> > Installing libbson-1.24.2...
> > Extracting libbson-1.24.2: .......... done
> > ===>   mongo-c-driver-1.24.2 depends on shared library:
> > libbson-1.0.so - found (/usr/local/lib/libbson-1.0.so) ===>
> > Returning to build of mongo-c-driver-1.24.2 ===>
> > mongo-c-driver-1.24.2 depends on shared library: libzstd.so - not
> > found ===>   Installing existing package
> > /var/ports/packages/All/zstd-1.5.5.pkg Installing zstd-1.5.5... `--
> > Installing liblz4-1.9.4,1... `-- Extracting liblz4-1.9.4,1:
> > .......... done Extracting zstd-1.5.5: .......... done
> > ===>   mongo-c-driver-1.24.2 depends on shared library: libzstd.so -
> > found (/usr/local/lib/libzstd.so) ===>   Returning to build of
> > mongo-c-driver-1.24.2 ===>  Configuring for mongo-c-driver-1.24.2
> > ===>  Performing out-of-source build  
> > /bin/mkdir -p
> > /var/ports/work/var/ports/jwebkx/devel/mongo-c-driver/work/.build
> > CMake Warning: Ignoring extra path from command line:
> > 
> >    "/var/ports/work/var/ports/jwebkx/devel/mongo-c-driver/work/.build/
> >  -DCMAKE_C_FLAGS_DEBUG:STRING=-O2"
> > 
> > 
> > CMake Warning:
> >   Ignoring extra path from command line:
> > 
> >    "  -DCMAKE_CXX_FLAGS_RELEASE:STRING=-O2"
> > 
> > 
> > CMake Error: Unknown argument -pipe
> 
> It seems that default CFLAGS content contaminated CMAKE_ARGS,
> but the patch should not have done such things.
> Isn't there some mis-patching that makes the content of CFLAGS go
> into CMAKE_ARGS?

I've patched with [1] and port skelton that I used is [2].

[1] https://bz-attachments.freebsd.org/attachment.cgi?id=243613
[2] http://www.truefc.org/~kiri/freebsd/ports/mongo-c-driver/

> 
> > CMake Error: Run 'cmake --help' for all supported options.
> > *** Error code 1
> > 
> > Stop.
> > make: stopped in /var/ports/jwebkx/devel/mongo-c-driver
> > 
> > >   
> > > > > Hi, Ono san
> > > > > 
> > > > > On Tue, 25 Jul 2023 09:01:37 +0900,
> > > > > Hiroo Ono wrote:  
> > > > > > 
> > > > > > Hello,
> > > > > > 
> > > > > > On Sat, 22 Jul 2023 10:28:21 +0200
> > > > > > Yuri <yuri@aetern.org> wrote:
> > > > > >     
> > > > > > > Exactly, it's fallout from openssl 3 migration.
> > > > > > > 
> > > > > > > From
> > > > > > > https://www.openssl.org/docs/manmaster/man7/migration_guide.html:
> > > > > > > --- ERR_load_*(), ERR_func_error_string(),
> > > > > > > ERR_get_error_line(), ERR_get_error_line_data(),
> > > > > > > ERR_get_state()
> > > > > > > 
> > > > > > > OpenSSL now loads error strings automatically so these
> > > > > > > functions are not needed.
> > > > > > > ---
> > > > > > > 
> > > > > > > Looks like this needs to be reported upstream.    
> > > > > > 
> > > > > > Checked MongoDB JIRA. It was fixed in CDRIVER-4590 and
> > > > > > released as version 1.24.0. The port needs to be updated to
> > > > > > the latest version.   
> > > > > 
> > > > > I git pulled, but devel/mongo-c-driver not updated still
> > > > > 1.23.2_3:
> > > > > 
> > > > > root@vm:~ # git -C /ds/ports/freebsd/head pull
> > > > > hint: Pulling without specifying how to reconcile divergent
> > > > > branches is hint: discouraged. You can squelch this message by
> > > > > running one of the following hint: commands sometime before
> > > > > your next pull: :
> > > > >  31 files changed, 176 insertions(+), 152 deletions(-)
> > > > >  rename
> > > > > sysutils/barrier/files/{patch-src_lib_net_SecureUtils.cpp =>
> > > > > extra-patch-src_lib_net_SecureUtils.cpp} (100%) root@vm:~ #
> > > > > egrep '^DISTVERSION='
> > > > > /ds/ports/freebsd/head/devel/mongo-c-driver/Makefile
> > > > > DISTVERSION=    1.23.2 root@vm:~ # git -C
> > > > > /ds/ports/freebsd/head rev-parse --verify --short HEAD
> > > > > 07f40427f1f9 root@vm:~ # git -C /ds/ports/freebsd/head show
> > > > > --quiet --max-count=1 --format="%ci" HEAD 2023-07-24 23:30:15
> > > > > -0700 root@vm:~ # 
> > > > > 
> > > > > Could you tell me how to get 1.24.0 ?
> > > > > 
> > > > > Regards
> > > > > ---
> > > > > Kazuhiko Kiriyama
> > > > >   
> > > > 
> > > >   
> > > 
> > >   
> > 
> > Regards
> > ---
> > Kazuhiko Kiriyama
> > 
>