[tarantool-patches] Re: [PATCH v2] build: FreeBSD packages installation

Alexander Turenko alexander.turenko at tarantool.org
Thu Sep 19 04:03:21 MSK 2019


LGTM.

Pushed to master, 2.2, 2.1 and 1.10.

I'll follow it up with a patch that fixes tarantool build when a system
has OpenSSL installed from ports / pkg (in /usr/local).

WBR, Alexander Turenko.

On Tue, Sep 17, 2019 at 03:42:43PM +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 root cause of the issue at the `./configure <...>` output:
>  | checking for OpenSSL headers version... 1.0.2 - 0x1000214fL
>  | checking for OpenSSL library version... 1.1.1
>  | configure: WARNING: OpenSSL headers and library versions do not match.
> It is seen that the Tarantool bootstrap installed pkg 'openssl'
> of the version '1.0.2', while the currently default FreeBSD 'openssl'
> version was '1.1.1'.
> 
> Anyway we don't need any special openssl version installed against
> default one, so the fix is just to remove the openssl package from
> bootstrap installation.
> Also found that some installing packages are not needed too,
> removed it from FreeBSD bootstrap.
> 
> Additionally added libiconv library into bootstrap which is needed
> as workaround to avoid of the issue described in:
> 	https://github.com/tarantool/tarantool/issues/3791
> 
> Closed #4490
> ---
> 
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4490-freebsd-libcurl
> Issue: https://github.com/tarantool/tarantool/issues/4490
> 
>  .travis.mk | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/.travis.mk b/.travis.mk
> index a816d17db..42969ff56 100644
> --- a/.travis.mk
> +++ b/.travis.mk
> @@ -163,18 +163,16 @@ 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 \
> -		python27 py27-pip py27-setuptools py27-daemon \
> -		py27-yaml py27-argparse py27-six py27-gevent \
> -		gdb bash autoconf automake libtool
> +	sudo pkg install -y git cmake gmake icu libiconv \
> +		python27 py27-yaml py27-six py27-gevent \
> +		autoconf automake libtool
>  
>  build_freebsd:
>  	cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS}
>  	gmake -j
>  
>  test_freebsd_no_deps: build_freebsd
> -	cd test && /usr/bin/python test-run.py --force $(TEST_RUN_EXTRA_PARAMS)
> +	cd test && python2.7 test-run.py --force $(TEST_RUN_EXTRA_PARAMS)
>  
>  test_freebsd: deps_freebsd test_freebsd_no_deps
>  
> -- 
> 2.17.1
> 




More information about the Tarantool-patches mailing list