On Mon, Jan 22, 2018 at 4:24 PM, Florian Weimer <fweimer@xxxxxxxxxx> wrote: > I updated redhat-rpm-config to instruct ld to reject linking shared objects > with undefined symbols. Such undefined symbols break symbol versioning > because the are not necessarily bound to the correct symbol version at run > time. (rhbz#1535422) > > ### Disable strict symbol checks in the link editor (ld) > > By default, the link editor will refuse to link shared objects which > contain undefined symbols. In some cases (such as when a DSO is > loaded as a plugin and is expected to bind to symbols in the main > executable), undefined symbols are expected. In this case, you can > add > > %undefine _strict_symbol_defs_build > > to the RPM spec file to disable these strict checks. Alternatively, > you can pass `-z undefs` to ld (written as `-Wl,-z,undefs` on the gcc > command line). The latter needs binutils 2.29.1-12.fc28 or later. So, with this change to redhat-rpm-config, about 20 of my ~100 packages now fail / will probably fail to build due to undefined symbols. For the record, my affected packages are (according to koschei, and as of the time of writing this): - gala (internal plugins) - maya-calendar("ceil" reference missing, ppc64 only) - noise (internal plugins) - pantheon-photos(internal plugins) - scratch-text-editor(internal plugins) - slingshot-launcher(plugin) - switchboard-plug-onlineaccounts(internal plugins) - wingpanel(no idea) - wingpanel-indicator-datetime ("ceil" reference missing, ppc64 only) I have no idea how to tell if these are really fallout from the change to redhat-rpm-config, or if the change only uncovered bugs in the upstream build definitions (which lead to erroneous underlinking?). Fabio > This is also part of the build flags documentation at: > > <https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/master/f/buildflags.md> > > Thanks, > Florian > _______________________________________________ > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx