[Tarantool-patches] [PATCH v2] static build: create new build w/o dockerfile

Kirill Yukhin kyukhin at tarantool.org
Thu Apr 2 14:24:06 MSK 2020


Hello,

On 02 апр 13:40, Kirill Yukhin wrote:
> Hello,
> 
> On 10 дек 16:11, Alexander V. Tikhonov wrote:
> > Fixed static build with '-DBUILD_STATIC=ON' option:
> > 
> >  - installed liblzma-dev library for libunwind static, due to found that
> >    static libunwind library uses undefined lzma functions:
> >      nm -a /usr/lib/x86_64-linux-gnu/libunwind-x86_64.a | grep lzma
> >                  U lzma_index_buffer_decode
> >                  U lzma_index_end
> >                  U lzma_index_size
> >                  U lzma_index_uncompressed_size
> >                  U lzma_stream_buffer_decode
> >                  U lzma_stream_footer_decode
> >    while dynamic libunwind correctly sees liblzma installed:
> >      ldd /usr/lib/x86_64-linux-gnu/libunwind-x86_64.so | grep lzma
> >        liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f8fd1c23000)
> >    so to fix it the static library of lzma was needed.
> > 
> >  - added lzma library to unwind library for Tarantool build at file:
> >      cmake/compiler.cmake
> >    due to fail:
> >      /usr/lib/x86_64-linux-gnu/libunwind-x86_64.a(elf64.o):
> >        In function `xz_uncompressed_size':
> >      ./src/elfxx.c:194: undefined reference to `lzma_stream_footer_decode'
> >      ./src/elfxx.c:201: undefined reference to `lzma_index_buffer_decode'
> >      ./src/elfxx.c:205: undefined reference to `lzma_index_size'
> >      ./src/elfxx.c:210: undefined reference to `lzma_index_end'
> >      ./src/elfxx.c:207: undefined reference to `lzma_index_uncompressed_size'
> >      ./src/elfxx.c:210: undefined reference to `lzma_index_end'
> >      /usr/lib/x86_64-linux-gnu/libunwind-x86_64.a(elf64.o):
> >        In function `_Uelf64_extract_minidebuginfo':
> >      ./src/elfxx.c:278: undefined reference to `lzma_stream_buffer_decode'
> >      collect2: error: ld returned 1 exit status
> >      test/unit/CMakeFiles/luaL_iterator.test.dir/build.make:134:
> >        recipe for target 'test/unit/luaL_iterator.test' failed
> >      make[2]: *** [test/unit/luaL_iterator.test] Error 1
> > 
> >  - added dl library to gomp library for test/unit tests
> >    binaries builds at file:
> >      cmake/BuildMisc.cmake
> >    due to fail:
> >      /usr/lib/gcc/x86_64-linux-gnu/7/libgomp.a(target.o):(.text+0x34d):
> >        more undefined references to `dlsym' follow
> >      /usr/lib/gcc/x86_64-linux-gnu/7/libgomp.a(target.o): In function
> >        `gomp_target_init':
> >      (.text+0x9cc): undefined reference to `dlerror'
> >      collect2: error: ld returned 1 exit status
> > 
> >   - added dl library to icu library for test/unit tests
> >    binaries builds at file:
> >      cmake/FindICU.cmake
> >    due to fail:
> >      /usr/x86_64-linux-gnu/libicuuc.a(putil.ao):
> >        In function `uprv_dl_open_60':
> >      (.text+0x1ce2): undefined reference to `dlopen'
> >      /usr/x86_64-linux-gnu/libicuuc.a(putil.ao):
> >        In function `uprv_dlsym_func_60':
> >      (.text+0x1d3d): undefined reference to `dlsym'
> >      /usr/x86_64-linux-gnu/libicuuc.a(putil.ao):
> >        In function `uprv_dl_close_60':
> >      (.text+0x1d21): undefined reference to `dlclose'
> >      collect2: error: ld returned 1 exit status
> > 
> > Added static build to gitlab-ci in release check criteria named
> > as static_build job. Previously named static_build job renamed to
> > static_docker_build, due to it checks the build at Dockerfile.
> > 
> > Also moved static build make targets from .gitlab.mk to .travis.mk
> > to store it in common place with the other test/build make targets.
> > Moved environement from .gitlab-ci.yml file into make targets to
> > make this targets true building in static w/o additional setup.
> > 
> > Close #4551
> > ---
> > 
> > Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4551-static-build-full-ci
> > Issue: https://github.com/tarantool/tarantool/issues/4551
> 
> I've checked your patch into 2.3 and master.

Also backported to 2.2 and 1.10.

--
Regards, Kirill Yukhin


More information about the Tarantool-patches mailing list