Tarantool development patches archive
 help / color / mirror / Atom feed
From: "Георгий Кириченко" <georgy@tarantool.org>
To: tarantool-patches@freelists.org
Cc: Alexander Turenko <alexander.turenko@tarantool.org>,
	"Alexander V . Tikhonov" <avtikhon@tarantool.org>,
	Mergen Imeev <imeevma@tarantool.org>
Subject: [tarantool-patches] Re: [PATCH 0/2] Build libcurl statically
Date: Tue, 20 Aug 2019 10:51:07 +0300	[thread overview]
Message-ID: <3101162.kxeABNMYgq@localhost> (raw)
In-Reply-To: <20190819225435.jernpohuyi6dbmkx@tkn_work_nb>

[-- Attachment #1: Type: text/plain, Size: 10351 bytes --]

Alexander, Mergen thank you very much.

Ok to push

On Tuesday, August 20, 2019 1:54:36 AM MSK Alexander Turenko wrote:
> > https://github.com/tarantool/tarantool/issues/4318
> > https://github.com/tarantool/tarantool/tree/imeevma/gh-4318-link-libcurl-s
> > tatically-full-ci
> > 
> > CI now fails, because some SQL tests were not updated properly on
> > master. I'll rebase the branch when it will be fixed and will ensure
> > that everything work.
> 
> CI is now okay.
> 
> ----
> 
> Georgy asks me to ensure that openssl links statically when it is
> requested with -DOPENSSL_USE_STATIC_LIBS=ON CMake option (correct me if
> I misunderstood something).
> 
> I had performed several builds on my Gentoo box on master
> (2.3.0-26-gd0e38d59f) and
> imeevma/gh-4318-link-libcurl-statically-full-ci (2.3.0-23-gdcd4795bb)
> branches.
> 
> The following patch was temporary applied to pass builds with
> -DOPENSSL_USE_STATIC_LIBS=ON, but without -DBUILD_STATIC=ON (it is
> needed both on master and on the feature branch).
> 
>  | diff --git a/CMakeLists.txt b/CMakeLists.txt
>  | index bfb15effb..4b542e655 100644
>  | --- a/CMakeLists.txt
>  | +++ b/CMakeLists.txt
>  | @@ -329,6 +329,9 @@ endif()
>  | 
>  |  if(BUILD_STATIC)
>  |  
>  |      find_library(Z_LIBRARY libz.a)
>  |      set(OPENSSL_LIBRARIES ${OPENSSL_LIBRARIES} ${Z_LIBRARY})
>  | 
>  | +elseif(NOT BUILD_STATIC AND OPENSSL_USE_STATIC_LIBS)
>  | +    find_library(Z_LIBRARY z)
>  | +    set(OPENSSL_LIBRARIES ${OPENSSL_LIBRARIES} ${Z_LIBRARY})
>  | 
>  |  endif()
>  |  
>  |  #
> 
> (I don't sure I understood how it works, so I'll think about it, will
> file an issue and will send a patch later separately.)
> 
> The raw results are below, they looks okay for me. Georgy, can you,
> please, look into them and answer whether it answers your question?
> 
> WBR, Alexander Turenko.
> 
> master
> ------
> 
> $ cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_BACKTRACE=ON -DENABLE_DIST=ON &&
> make -j $ lddtree src/tarantool
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
>     libicui18n.so.64 => /usr/lib64/libicui18n.so.64
>     libicuuc.so.64 => /usr/lib64/libicuuc.so.64
>     libicudata.so.64 => /usr/lib64/libicudata.so.64
>     libreadline.so.8 => /lib64/libreadline.so.8
>     libncurses.so.6 => /lib64/libncurses.so.6
>     libform.so.6 => /usr/lib64/libform.so.6
>     libcurl.so.4 => /usr/lib64/libcurl.so.4
>         libnghttp2.so.14 => //usr/lib64/libnghttp2.so.14
>         libz.so.1 => /lib64/libz.so.1
>     libssl.so.1.1 => /usr/lib64/libssl.so.1.1
>     libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1
>     libdl.so.2 => /lib64/libdl.so.2
>         ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
>     librt.so.1 => /lib64/librt.so.1
>     libpthread.so.0 => /lib64/libpthread.so.0
>     libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc_s.so.1
>     libunwind-x86_64.so.8 => /usr/lib64/libunwind-x86_64.so.8
>     libunwind.so.8 => /usr/lib64/libunwind.so.8
>     libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgomp.so.1
>     libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libstdc++.so.6
>     libm.so.6 => /lib64/libm.so.6
>     libc.so.6 => /lib64/libc.so.6
> 
> Expected: dynamic libssl, libcrypto (ok).
> 
> $ cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_BACKTRACE=ON -DENABLE_DIST=ON
> -DBUILD_STATIC=ON && make -j $ lddtree src/tarantool
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
>     libssl.so.1.1 => /usr/lib64/libssl.so.1.1
>         libz.so.1 => /lib64/libz.so.1
>     libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1
>     libdl.so.2 => /lib64/libdl.so.2
>     libpthread.so.0 => /lib64/libpthread.so.0
>     librt.so.1 => /lib64/librt.so.1
>     libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc_s.so.1
>     libm.so.6 => /lib64/libm.so.6
>     libc.so.6 => /lib64/libc.so.6
>     ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
> 
> Expected: dynamic libssl, libcrypto (ok).
> 
> $ cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_BACKTRACE=ON -DENABLE_DIST=ON
> -DOPENSSL_USE_STATIC_LIBS=ON && make -j $ lddtree src/tarantool
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
>     libicui18n.so.64 => /usr/lib64/libicui18n.so.64
>     libicuuc.so.64 => /usr/lib64/libicuuc.so.64
>     libicudata.so.64 => /usr/lib64/libicudata.so.64
>     libreadline.so.8 => /lib64/libreadline.so.8
>     libncurses.so.6 => /lib64/libncurses.so.6
>     libform.so.6 => /usr/lib64/libform.so.6
>     libcurl.so.4 => /usr/lib64/libcurl.so.4
>         libnghttp2.so.14 => //usr/lib64/libnghttp2.so.14
>         libssl.so.1.1 => //usr/lib64/libssl.so.1.1
>         libcrypto.so.1.1 => //usr/lib64/libcrypto.so.1.1
>     libdl.so.2 => /lib64/libdl.so.2
>         ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
>     libz.so.1 => /lib64/libz.so.1
>     librt.so.1 => /lib64/librt.so.1
>     libpthread.so.0 => /lib64/libpthread.so.0
>     libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc_s.so.1
>     libunwind-x86_64.so.8 => /usr/lib64/libunwind-x86_64.so.8
>     libunwind.so.8 => /usr/lib64/libunwind.so.8
>     libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgomp.so.1
>     libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libstdc++.so.6
>     libm.so.6 => /lib64/libm.so.6
>     libc.so.6 => /lib64/libc.so.6
> 
> Expected: static libssl, libcrypto (ok).
> 
> Note: System libcurl is linked dynamically into tarantool and links its
> dependencies libssl/libcrypto dynamically too. We cannot change a system
> library. So it is also expected behaviour (but only for master, when we does
> not build libcurl ourself).
> 
> $ cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_BACKTRACE=ON -DENABLE_DIST=ON
> -DBUILD_STATIC=ON -DOPENSSL_USE_STATIC_LIBS=ON && make -j $ lddtree
> src/tarantool
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
>     libdl.so.2 => /lib64/libdl.so.2
>     libpthread.so.0 => /lib64/libpthread.so.0
>     librt.so.1 => /lib64/librt.so.1
>     libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc_s.so.1
>     libm.so.6 => /lib64/libm.so.6
>     libc.so.6 => /lib64/libc.so.6
>     ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
> 
> Expected: static libssl, libcrypto (ok).
> 
> imeevma/gh-4318-link-libcurl-statically-full-ci
> -----------------------------------------------
> 
> $ cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_BACKTRACE=ON -DENABLE_DIST=ON &&
> make -j $ lddtree src/tarantool
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
>     libicui18n.so.64 => /usr/lib64/libicui18n.so.64
>     libicuuc.so.64 => /usr/lib64/libicuuc.so.64
>     libicudata.so.64 => /usr/lib64/libicudata.so.64
>     libreadline.so.8 => /lib64/libreadline.so.8
>     libncurses.so.6 => /lib64/libncurses.so.6
>     libform.so.6 => /usr/lib64/libform.so.6
>     libz.so.1 => /lib64/libz.so.1
>     librt.so.1 => /lib64/librt.so.1
>     libssl.so.1.1 => /usr/lib64/libssl.so.1.1
>     libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1
>     libdl.so.2 => /lib64/libdl.so.2
>         ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
>     libpthread.so.0 => /lib64/libpthread.so.0
>     libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc_s.so.1
>     libunwind-x86_64.so.8 => /usr/lib64/libunwind-x86_64.so.8
>     libunwind.so.8 => /usr/lib64/libunwind.so.8
>     libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgomp.so.1
>     libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libstdc++.so.6
>     libm.so.6 => /lib64/libm.so.6
>     libc.so.6 => /lib64/libc.so.6
> 
> Expected: dynamic libssl, libcrypto (ok).
> 
> $ cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_BACKTRACE=ON -DENABLE_DIST=ON
> -DBUILD_STATIC=ON && make -j $ lddtree src/tarantool
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
>     librt.so.1 => /lib64/librt.so.1
>     libssl.so.1.1 => /usr/lib64/libssl.so.1.1
>         libz.so.1 => /lib64/libz.so.1
>     libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1
>     libdl.so.2 => /lib64/libdl.so.2
>     libpthread.so.0 => /lib64/libpthread.so.0
>     libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc_s.so.1
>     libm.so.6 => /lib64/libm.so.6
>     libc.so.6 => /lib64/libc.so.6
>     ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
> 
> Expected: dynamic libssl, libcrypto (ok).
> 
> $ cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_BACKTRACE=ON -DENABLE_DIST=ON
> -DOPENSSL_USE_STATIC_LIBS=ON && make -j $ lddtree src/tarantool
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
>     libicui18n.so.64 => /usr/lib64/libicui18n.so.64
>     libicuuc.so.64 => /usr/lib64/libicuuc.so.64
>     libicudata.so.64 => /usr/lib64/libicudata.so.64
>     libreadline.so.8 => /lib64/libreadline.so.8
>     libncurses.so.6 => /lib64/libncurses.so.6
>     libform.so.6 => /usr/lib64/libform.so.6
>     libz.so.1 => /lib64/libz.so.1
>     librt.so.1 => /lib64/librt.so.1
>     libdl.so.2 => /lib64/libdl.so.2
>         ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
>     libpthread.so.0 => /lib64/libpthread.so.0
>     libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc_s.so.1
>     libunwind-x86_64.so.8 => /usr/lib64/libunwind-x86_64.so.8
>     libunwind.so.8 => /usr/lib64/libunwind.so.8
>     libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgomp.so.1
>     libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libstdc++.so.6
>     libm.so.6 => /lib64/libm.so.6
>     libc.so.6 => /lib64/libc.so.6
> 
> Expected: static libssl, libcrypto (ok).
> 
> $ cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_BACKTRACE=ON -DENABLE_DIST=ON
> -DBUILD_STATIC=ON -DOPENSSL_USE_STATIC_LIBS=ON && make -j $ lddtree
> src/tarantool
> tarantool => src/tarantool (interpreter => /lib64/ld-linux-x86-64.so.2)
>     librt.so.1 => /lib64/librt.so.1
>     libdl.so.2 => /lib64/libdl.so.2
>     libpthread.so.0 => /lib64/libpthread.so.0
>     libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc_s.so.1
>     libm.so.6 => /lib64/libm.so.6
>     libc.so.6 => /lib64/libc.so.6
>     ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
> 
> Expected: static libssl, libcrypto (ok).


[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2019-08-20  7:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-16  2:32 [tarantool-patches] " Alexander Turenko
2019-08-16  2:32 ` [tarantool-patches] [PATCH 1/2] lua: workaround pwd.getpwall() issue on Fedora 29 Alexander Turenko
2019-08-16  2:32 ` [tarantool-patches] [PATCH 2/2] build: link libcurl statically from a submodule Alexander Turenko
2019-08-19 22:54 ` [tarantool-patches] Re: [PATCH 0/2] Build libcurl statically Alexander Turenko
2019-08-20  7:51   ` Георгий Кириченко [this message]
2019-08-22  8:42 ` Kirill Yukhin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3101162.kxeABNMYgq@localhost \
    --to=georgy@tarantool.org \
    --cc=alexander.turenko@tarantool.org \
    --cc=avtikhon@tarantool.org \
    --cc=imeevma@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='[tarantool-patches] Re: [PATCH 0/2] Build libcurl statically' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox