[tarantool-patches] Re[2]: [PATCH] build: enable bundled libyaml for all systems.

Sergey Petrenko sergepetrenko at tarantool.org
Tue Jul 23 00:48:23 MSK 2019


Hi! Thank you for review.


>Понедельник, 22 июля 2019, 10:10 +03:00 от Alexander Turenko <alexander.turenko at tarantool.org>:
>
>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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20190723/0f7c5cbc/attachment.html>


More information about the Tarantool-patches mailing list