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

Alexander V. Tikhonov avtikhon at tarantool.org
Mon Sep 16 18:16:19 MSK 2019


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.

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 \
 		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