[Tarantool-patches] [PATCH v1] build: fix static build w/ dockerfile with cmake

Alexander V. Tikhonov avtikhon at tarantool.org
Mon Jun 29 16:23:42 MSK 2020


Building the image got the issue:

  [  1%] Performing configure step for 'bundled-libcurl-project'
  CMake Warning at CMakeLists.txt:50 (message):
    the curl cmake build system is poorly maintained.  Be aware

  -- curl version=[7.66.0-DEV]
  -- Found c-ares: /tarantool/build/ares/dest/lib/libcares.a
  Found *nroff option: -- -man
  CMake Error at /usr/share/cmake/Modules/FindOpenSSL.cmake:278 (list):
    list GET given empty list
  Call Stack (most recent call first):
    CMakeLists.txt:347 (find_package)

Root cause of the issue that Dockerfile uses globaly
installed openSSL with:

  cmake ... -DOPENSSL_ROOT_DIR=/usr/local ...

Its cmake build file:

  /usr/share/cmake/Modules/FindOpenSSL.cmake

fails on parsing the SSL version:

it has:
       REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")

but it should to use:
       REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")

Closes #5019
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-5019-findopenssl-dockerfile
Issue: https://github.com/tarantool/tarantool/issues/5019

 Dockerfile.staticbuild | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Dockerfile.staticbuild b/Dockerfile.staticbuild
index 253f2d5e9..cb6c12e94 100644
--- a/Dockerfile.staticbuild
+++ b/Dockerfile.staticbuild
@@ -86,6 +86,8 @@ RUN set -x && \
          -DOPENSSL_USE_STATIC_LIBS=ON \
          -DOPENSSL_ROOT_DIR=/usr/local \
          . && \
+    sed 's%#define%#[\\t ]*define%g' -i \
+        /usr/share/cmake/Modules/FindOpenSSL.cmake && \
     make -j && make install
 
 ARG RUN_TESTS
-- 
2.17.1



More information about the Tarantool-patches mailing list