[tarantool-patches] Re: [PATCH v1] build: libcurl needs openssl111 on FreeBSD

Alexander Turenko alexander.turenko at tarantool.org
Mon Sep 16 19:31:38 MSK 2019


On Mon, Sep 16, 2019 at 06:16:19PM +0300, Alexander V. Tikhonov wrote:
> Found that the curl failed to build on FreeBSD with errors:
> 
> gmake[2]: Entering directory '/home/vagrant/tarantool/third_party/curl/src'
>   CCLD     curl
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSLv23_client_method'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `CONF_modules_free'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `ERR_free_strings'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `sk_value'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `ENGINE_cleanup'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSL_library_init'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `EVP_MD_CTX_destroy'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `sk_pop_free'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSLeay'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSL_get_ex_new_index'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `OPENSSL_add_all_algorithms_noconf'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSL_COMP_free_compression_methods'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `EVP_MD_CTX_create'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `EVP_cleanup'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `sk_num'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `sk_pop'
> /usr/local/bin/ld: ../lib/.libs/libcurl.so: undefined reference to `SSL_load_error_strings'
> collect2: error: ld returned 1 exit status
> gmake[2]: *** [Makefile:921: curl] Error 1
> 
> Found that openssl-1.1.1 is the part of base system. No need to install
> it with pkg.
> 
> Anyway, a user may want to have openssl-1.1.1 in /usr and openssl-1.0.2
> in /usr/local (say, some other package will require an old openssl). It
> seems we use headers from /usr/include, but *.so from /usr/local/lib. We
> should fix it, I'll look into that.

"I'll look into that" -- it looks strange in the commit message. Also it
looks strance that you describe here a problem that is not fixed here.

> 
> BTW, it is seen in `./configure <...>` output:
> 
>  | checking for OpenSSL headers version... 1.0.2 - 0x1000214fL
>  | checking for OpenSSL library version... 1.1.1
> 
> Now CI is fixed in the following way: removed openssl from pkg install
> and from VBOX FreeBSD image used in CI - its snapshot recreated.
> 
> Closed #4490
> ---
> 
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4490-freebsd-libcurl
> Issue: https://github.com/tarantool/tarantool/issues/4490
> 
>  .travis.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/.travis.mk b/.travis.mk
> index a816d17db..c6071a02c 100644
> --- a/.travis.mk
> +++ b/.travis.mk
> @@ -164,7 +164,7 @@ test_osx: deps_osx test_osx_no_deps
>  
>  deps_freebsd:
>  	sudo pkg install -y git cmake gmake gcc coreutils \
> -		readline ncurses libyaml openssl libunwind icu \
> +		readline ncurses libyaml libunwind icu \

Just observed that gcc is not needed too: everything works fine with
clang, which is part of base system.

Please, add a comment like 'openssl is part of the base system, no need
to install it explicitly'.

>  		python27 py27-pip py27-setuptools py27-daemon \
>  		py27-yaml py27-argparse py27-six py27-gevent \
>  		gdb bash autoconf automake libtool
> -- 
> 2.17.1
> 




More information about the Tarantool-patches mailing list