x11-toolkits/wxgtk30: fix build with lld 17

Building x11-toolkits/wxgtk30 with lld 17 results in the following link
errors:

  ld: error: version script assignment of 'WXU_3.0.5' to symbol 'wxSVGFileDCImpl::DoDrawPolyPolygon(int, int const*, wxPoint const*, int, int, wxPolygonFillMode)' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.5' to symbol 'wxSVGFileDCImpl::SetAxisOrientation(bool, bool)' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.5' to symbol 'wxSVGFileDCImpl::SetDeviceOrigin(int, int)' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.5' to symbol 'wxSVGFileDCImpl::SetLogicalOrigin(int, int)' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.5' to symbol 'wxWindow::GetContentScaleFactor() const' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.4' to symbol 'wxDirButton::DoApplyWidgetStyle(_GtkRcStyle*)' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.4' to symbol 'wxFileButton::DoApplyWidgetStyle(_GtkRcStyle*)' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.4' to symbol 'wxRibbonPage::ShowScrollButtons1()' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.4' to symbol 'wxWindow::GTKApplyCssStyle(char const*)' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.3' to symbol 'wxDataViewRenderer::FinishEditing()' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.3' to symbol 'wxFloatProperty::DoGetAttribute(wxString const&) const' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.2' to symbol 'wxGenericListCtrl::EndEditLabel(bool)' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.1' to symbol 'wxDataViewListCtrl::ClearColumns()' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.1' to symbol 'wxDataViewListStore::ClearColumns()' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.1' to symbol 'wxInfoBarGeneric::SetForegroundColour(wxColour const&)' failed: symbol not defined
  ld: error: version script assignment of 'WXU_3.0.1' to symbol 'wxTDIChildFrame::DoMoveWindow(int, int, int, int)' failed: symbol not defined

Add -Wl,--undefined-version to LDFLAGS to suppress these errors, since
wxWidgets reuses the same linker version script for all its shared
libraries.

PR:		273753
Approved by:	blanket (desktop)
MFH:		2023Q4
This commit is contained in:
Dimitry Andric 2023-11-09 20:24:08 +01:00
parent ec6c6bf85b
commit ff46b0fb8d

View file

@ -102,6 +102,11 @@ CONFIGURE_ARGS+=--disable-tls
CONFIGURE_ARGS+=--disable-precomp-headers
.endif
# wxWidgets uses the same linker version script for all its shared libraries, so
# some symbols are expectedly undefined. Suppress errors with lld >= 17 due to
# these undefined symbols.
LDFLAGS+= -Wl,--undefined-version
post-build-NLS-on:
@${DO_MAKE_BUILD} allmo -C ${BUILD_WRKSRC}/locale