Hi! Thank you for review. >Понедельник, 22 июля 2019, 10:10 +03:00 от Alexander Turenko : > >We have -DBUILD_SHARED_LIBS=ON cmake option globally enabled on CentOS / >Fedora, so libyaml is linked into src/tarantool dynamically. > >$ git checkout origin/sp/gh-4090-enable-bundled-libyaml-full-ci >$ cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_BACKTRACE=ON -DENABLE_DIST=ON -DBUILD_SHARED_LIBS=ON && make -j >$ ldd src/tarantool | grep yaml >libyaml.so => /home/alex/p/tarantool-meta/r/t-2/third_party/libyaml/libyaml.so (0x00007ff0c96de000) >$ rm /home/alex/p/tarantool-meta/r/t-2/third_party/libyaml/libyaml.so >$ ldd src/tarantool | grep yaml >libyaml.so => /usr/lib64/libyaml.so (0x00007f6cc379e000) > >This means that tarantool executable cannot be relocated to another >system w/o libyaml.so. I see no reason to build a bundled library >dynamically, so maybe ENABLE_BUNDLED_LIBYAML should enable static build >for libyaml and should have precedence over BUILD_SHARED_LIBS. I don't >sure however that this is good practice, so I'll ask 2nd review from >someone else when you'll fix this problem in this or another way. I addressed this issue in a patch to tarantool/libyaml. Please check it out. This patch remains intact. > > >WBR, Alexander Turenko. > >On Sun, Jul 21, 2019 at 04:25:57PM +0300, Serge Petrenko wrote: >> After we fixed bundled libyaml to correctly print 4-byte Unicode >> characters, it is no longer compatible with the upstream version, so >> enable building with bundled libyaml for every platform. >> This way the tests will pass. >> >> Follow-up #4090 >> --- >> https://github.com/tarantool/tarantool/issues/4090 >> https://github.com/tarantool/tarantool/tree/sp/gh-4090-enable-bundled-libyaml-full-ci >> >> apk/APKBUILD | 2 -- >> cmake/BuildLibYAML.cmake | 2 +- >> debian/rules | 1 - >> rpm/tarantool.spec | 1 - >> snapcraft.yaml | 1 - >> 5 files changed, 1 insertion(+), 6 deletions(-) >> >> diff --git a/apk/APKBUILD b/apk/APKBUILD >> index e8ea5aa13..7d61aa4a5 100644 >> --- a/apk/APKBUILD >> +++ b/apk/APKBUILD >> @@ -23,10 +23,8 @@ build() { >> cd "$builddir" >> >> cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ >> - -DENABLE_BUNDLED_LIBYAML:BOOL=OFF \ >> -DENABLE_BACKTRACE:BOOL=ON \ >> -DENABLE_DIST:BOOL=ON \ >> - -DENABLE_BUNDLED_LIBYAML:BOOL=OFF \ >> -DCMAKE_INSTALL_PREFIX=/usr \ >> -DCMAKE_INSTALL_SYSCONFDIR=/etc \ >> -DCMAKE_INSTALL_LOCALSTATEDIR=/var \ >> diff --git a/cmake/BuildLibYAML.cmake b/cmake/BuildLibYAML.cmake >> index 7caa1828c..95068d73a 100644 >> --- a/cmake/BuildLibYAML.cmake >> +++ b/cmake/BuildLibYAML.cmake >> @@ -6,7 +6,7 @@ macro(libyaml_build) >> >> add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/libyaml EXCLUDE_FROM_ALL) >> # See comments in BuildLibEV.cmake >> - set_target_properties(yaml PROPERTIES COMPILE_FLAGS "-w") >> + set_target_properties(yaml PROPERTIES COMPILE_FLAGS "-w -std=c99") >> >> find_package_message(LIBYAML >> "Using bundled libyaml" >> diff --git a/debian/rules b/debian/rules >> index edfecfc33..904eaa719 100755 >> --- a/debian/rules >> +++ b/debian/rules >> @@ -15,7 +15,6 @@ DEB_CMAKE_EXTRA_FLAGS := \ >> -DCMAKE_INSTALL_LIBDIR=lib/$(DEB_HOST_MULTIARCH) \ >> -DCMAKE_INSTALL_SYSCONFDIR=/etc \ >> -DCMAKE_INSTALL_LOCALSTATEDIR=/var \ >> - -DENABLE_BUNDLED_LIBYAML=OFF \ >> -DENABLE_DIST=ON \ >> -DWITH_SYSVINIT=ON \ >> -DWITH_SYSTEMD=$(WITH_SYSTEMD) >> diff --git a/rpm/tarantool.spec b/rpm/tarantool.spec >> index 8bee71ed0..002df26b1 100644 >> --- a/rpm/tarantool.spec >> +++ b/rpm/tarantool.spec >> @@ -124,7 +124,6 @@ C and Lua/C modules. >> %cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo \ >> -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \ >> -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ >> - -DENABLE_BUNDLED_LIBYAML:BOOL=OFF \ >> %if %{with backtrace} >> -DENABLE_BACKTRACE:BOOL=ON \ >> %else >> diff --git a/snapcraft.yaml b/snapcraft.yaml >> index a7ce540cb..48b32a890 100644 >> --- a/snapcraft.yaml >> +++ b/snapcraft.yaml >> @@ -25,7 +25,6 @@ parts: >> plugin: cmake >> configflags: >> - -DCMAKE_BUILD_TYPE=RelWithDebInfo >> - - -DENABLE_BUNDLED_LIBYAML=OFF >> - -DENABLE_DIST=OFF # Disable tarantoolctl, init scripts, etc. >> build-packages: >> - cmake >> -- >> 2.20.1 (Apple Git-117) >> -- Sergey Petrenko