[Tarantool-patches] [PATCH] cmake: cleanup src/CMakeLists.txt

Mavr Huston huston.mavr at gmail.com
Wed Jun 17 18:29:10 MSK 2020


EXPORT_LIST contains following libraries in case of static build (with
normal build it's empty):

/usr/lib/x86_64-linux-gnu/libreadline.so

/usr/lib/x86_64-linux-gnu/libcurses.so

/usr/lib/x86_64-linux-gnu/libform.so

/usr/lib/x86_64-linux-gnu/libtinfo.so

/usr/lib/x86_64-linux-gnu/libz.so

/opt/local/lib/libssl.so

/opt/local/lib/libcrypto.so

/usr/lib/x86_64-linux-gnu/libz.so

/opt/local/lib/libicui18n.so

/opt/local/lib/libicuuc.so

/opt/local/lib/libicudata.so


It doesn’t contains libcurl because it’s bundled statically. So it isn’t
related to https://github.com/tarantool/tarantool/issues/4559 but this
problem may be solved with next patch:
https://github.com/tarantool/tarantool/tree/rosik/refactor-static-build. At
this patch added flag --disble-symbos-hiding (
https://github.com/tarantool/tarantool/blob/rosik/refactor-static-build/cmake/BuildLibCURL.cmake#L93
) at building libcurl and after that most of libcurl symbols are visible
from tarantool binary

вт, 16 июн. 2020 г. в 00:20, Vladislav Shpilevoy <v.shpilevoy at tarantool.org
>:

> Hi!
>
> On 11/06/2020 02:25, HustonMmmavr wrote:
> > Removed definition and initialization of EXPORT_LIST variable at file
> > src/CMakeLists.txt. After patch 03790ac551 this variable is unused
> > (no reference to this variable after its initialization can be found
> > in whole project) and it is only misleading.
>
> Actually I am not sure it is not needed. Seems like purpose of this
> exporter was the same as for static libraries in a non-static build -
> not to allow to remove any public symbols of these libraries.
>
> Because linker can eliminate some parts of static libraries, if sees
> they are not used in the final executable.
>
> So probably EXPORT_LIST for static build should be exported just like
> exports.h, and it was missed in #2971.
>
> > Closes #5066
> > ---
> > I've builded tarantool before applying this changes and after.
> > Then I've checked difference in tarantool binary file symbols with
> > nm and diff commands and there was no difference.
>
> Have you tried static build or normal build? Did you see the content
> of EXPORT_LIST, what is there? Isn't this related to
> https://github.com/tarantool/tarantool/issues/4559?
>
> > Issue: https://github.com/tarantool/tarantool/issues/5066
> > Branch:
> https://github.com/tarantool/tarantool/tree/HustonMmmavr/gh-5066-delete-unusued-export-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20200617/6769d63e/attachment.html>


More information about the Tarantool-patches mailing list