[Tarantool-patches] [PATCH v2] Add missed icu symbols
Alexander Turenko
alexander.turenko at tarantool.org
Thu Oct 1 06:19:27 MSK 2020
On Mon, Sep 28, 2020 at 08:26:05AM +0200, Vladislav Shpilevoy wrote:
> On 28.09.2020 00:39, Alexandr Barulev wrote:
> > Hello, thanks for the review of new patch version!
> >
> > I've fixed commit message (added `build` prefix) and rebased
> > from master.
> >
> > I think commit, mentionied at patch message ("cmake: remove
> > dynamic-list linker option") is related to #5266 issue.
> > It's because symbols exports from required libs into tarantool binary
> > earlier were configured with two options:
> > by `--whole-archive` option;
> > and `--dynamic-list,${exports_file}` option, where exports_file was created
> > with use of mkexports script (symbols was grabbed by nm -D from shared
> > libraries).
> >
> > Also, I've checkouted "cmake: remove dynamic-list linker option"
> > commit, built static tarantool and ran icu-date tests. In result
> > tests failed with `undefined symbol` errors.
> > After that, I checkouted previous commit, built tarantool again
> > and icu-date tests succeed
>
> Ok, so this is because of whole-archive removal. Can it be fixed by
> adding linking with the static ICU with whole-archive option instead of
> manual exporting of each symbol, like it was before?
(I don't know full context of the discussion.)
Decision to link a third-party library statically should be last resort
option and should be considered only when we have a real business need.
Not just to save some lines of code.
Almost all Linux distributions link libraries dynamically and we should
generally follow this way. On the distro level it allows to provide
security updates of libraries (without repackaging of half of a system),
saves some disk and some memory.
More information about the Tarantool-patches
mailing list