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

Alexander V. Tikhonov avtikhon at tarantool.org
Tue Sep 17 15:42:43 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 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