Xavi92 Posted December 13, 2017 Report Share Posted December 13, 2017 Hello everyone, I would like to contribute somehow to 0 A.D. community, so I first wanted to compile from current SVN branch. These were the steps I followed: cd build/workspaces/ sh update-workspaces.sh cd gcc/ make -j6 update-workspaces.sh worked as expected, but ld returned some errors when linking "AtlasUI": Linking AtlasUI obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x758): undefined reference to `non-virtual thunk to wxChoice::GetCount() const' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x760): undefined reference to `non-virtual thunk to wxChoice::GetString(unsigned int) const' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x768): undefined reference to `non-virtual thunk to wxComboBox::SetString(unsigned int, wxString const&)' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x770): undefined reference to `non-virtual thunk to wxChoice::FindString(wxString const&, bool) const' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x790): undefined reference to `non-virtual thunk to wxComboBox::Clear()' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x7b0): undefined reference to `non-virtual thunk to wxChoice::DoInsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType)' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x7c0): undefined reference to `non-virtual thunk to wxChoice::DoSetItemClientData(unsigned int, void*)' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x7c8): undefined reference to `non-virtual thunk to wxChoice::DoGetItemClientData(unsigned int) const' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x7d0): undefined reference to `non-virtual thunk to wxChoice::DoClear()' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x7d8): undefined reference to `non-virtual thunk to wxChoice::DoDeleteOneItem(unsigned int)' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x810): undefined reference to `non-virtual thunk to wxComboBox::SetValue(wxString const&)' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x850): undefined reference to `non-virtual thunk to wxComboBox::Clear()' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x960): undefined reference to `non-virtual thunk to wxComboBox::EnableTextChangedEvents(bool)' obj/AtlasUI_Release/Object.o:(.data.rel.ro._ZTV14PlayerComboBox[_ZTV14PlayerComboBox]+0x970): undefined reference to `non-virtual thunk to wxComboBox::GetEditable() const' obj/AtlasUI_Release/Player.o:(.data.rel.ro._ZTV14PlayerNotebook[_ZTV14PlayerNotebook]+0x740): undefined reference to `non-virtual thunk to wxChoicebook::SetImageList(wxImageList*)' obj/AtlasUI_Release/ActorEditorListCtrl.o:(.data.rel.ro._ZTV19ActorEditorListCtrl[_ZTV19ActorEditorListCtrl]+0x7d8): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)' obj/AtlasUI_Release/AnimListEditor.o:(.data.rel.ro._ZTV22AnimListEditorListCtrl[_ZTV22AnimListEditorListCtrl]+0x7d8): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)' obj/AtlasUI_Release/PropListEditor.o:(.data.rel.ro._ZTV22PropListEditorListCtrl[_ZTV22PropListEditorListCtrl]+0x7d8): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)' obj/AtlasUI_Release/TexListEditor.o:(.data.rel.ro._ZTV21TexListEditorListCtrl[_ZTV21TexListEditorListCtrl]+0x7d8): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)' obj/AtlasUI_Release/DraggableListCtrl.o:(.data.rel.ro._ZTV17DraggableListCtrl[_ZTV17DraggableListCtrl]+0x7d8): undefined reference to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)' obj/AtlasUI_Release/EditableListCtrl.o:(.data.rel.ro._ZTV16EditableListCtrl[_ZTV16EditableListCtrl]+0x7d8): more undefined references to `non-virtual thunk to wxGenericListCtrl::GetSizeAvailableForScrollTarget(wxSize const&)' follow obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x758): undefined reference to `non-virtual thunk to wxChoice::GetCount() const' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x760): undefined reference to `non-virtual thunk to wxChoice::GetString(unsigned int) const' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x768): undefined reference to `non-virtual thunk to wxComboBox::SetString(unsigned int, wxString const&)' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x770): undefined reference to `non-virtual thunk to wxChoice::FindString(wxString const&, bool) const' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x790): undefined reference to `non-virtual thunk to wxComboBox::Clear()' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x7b0): undefined reference to `non-virtual thunk to wxChoice::DoInsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType)' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x7c0): undefined reference to `non-virtual thunk to wxChoice::DoSetItemClientData(unsigned int, void*)' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x7c8): undefined reference to `non-virtual thunk to wxChoice::DoGetItemClientData(unsigned int) const' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x7d0): undefined reference to `non-virtual thunk to wxChoice::DoClear()' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x7d8): undefined reference to `non-virtual thunk to wxChoice::DoDeleteOneItem(unsigned int)' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x810): undefined reference to `non-virtual thunk to wxComboBox::SetValue(wxString const&)' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x850): undefined reference to `non-virtual thunk to wxComboBox::Clear()' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x960): undefined reference to `non-virtual thunk to wxComboBox::EnableTextChangedEvents(bool)' obj/AtlasUI_Release/QuickComboBox.o:(.data.rel.ro._ZTV13QuickComboBox[_ZTV13QuickComboBox]+0x970): undefined reference to `non-virtual thunk to wxComboBox::GetEditable() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x7f8): undefined reference to `non-virtual thunk to wxTextCtrlBase::overflow(int)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x820): undefined reference to `non-virtual thunk to wxTextCtrl::GetLineLength(long) const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x828): undefined reference to `non-virtual thunk to wxTextCtrl::GetLineText(long) const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x830): undefined reference to `non-virtual thunk to wxTextCtrl::GetNumberOfLines() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x838): undefined reference to `non-virtual thunk to wxTextCtrl::IsModified() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x840): undefined reference to `non-virtual thunk to wxTextCtrl::MarkDirty()' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x848): undefined reference to `non-virtual thunk to wxTextCtrl::DiscardEdits()' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x850): undefined reference to `non-virtual thunk to wxTextCtrl::SetStyle(long, long, wxTextAttr const&)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x858): undefined reference to `non-virtual thunk to wxTextCtrl::GetStyle(long, wxTextAttr&)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x860): undefined reference to `non-virtual thunk to wxTextCtrlBase::SetDefaultStyle(wxTextAttr const&)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x870): undefined reference to `non-virtual thunk to wxTextCtrl::XYToPosition(long, long) const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x878): undefined reference to `non-virtual thunk to wxTextCtrl::PositionToXY(long, long*, long*) const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x880): undefined reference to `non-virtual thunk to wxTextCtrl::ShowPosition(long)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x888): undefined reference to `non-virtual thunk to wxTextCtrl::HitTest(wxPoint const&, long*) const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x898): undefined reference to `non-virtual thunk to wxTextCtrl::GetValue() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x8c0): undefined reference to `non-virtual thunk to wxTextCtrl::DoPositionToCoords(long) const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x8f8): undefined reference to `non-virtual thunk to wxTextCtrl::WriteText(wxString const&)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x908): undefined reference to `non-virtual thunk to wxTextCtrl::GetValue() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x920): undefined reference to `non-virtual thunk to wxTextCtrl::Remove(long, long)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x930): undefined reference to `non-virtual thunk to wxTextCtrl::Copy()' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x938): undefined reference to `non-virtual thunk to wxTextCtrl::Cut()' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x940): undefined reference to `non-virtual thunk to wxTextCtrl::Paste()' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x980): undefined reference to `non-virtual thunk to wxTextCtrl::SetInsertionPoint(long)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x990): undefined reference to `non-virtual thunk to wxTextCtrl::GetInsertionPoint() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x998): undefined reference to `non-virtual thunk to wxTextCtrl::GetLastPosition() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x9a0): undefined reference to `non-virtual thunk to wxTextCtrl::SetSelection(long, long)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x9b8): undefined reference to `non-virtual thunk to wxTextCtrl::GetSelection(long*, long*) const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x9c8): undefined reference to `non-virtual thunk to wxTextCtrl::IsEditable() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x9d0): undefined reference to `non-virtual thunk to wxTextCtrl::SetEditable(bool)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0x9f8): undefined reference to `non-virtual thunk to wxTextCtrl::DoSetValue(wxString const&, int)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0xa00): undefined reference to `non-virtual thunk to wxTextCtrl::DoGetValue() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0xa38): undefined reference to `non-virtual thunk to wxTextCtrl::EnableTextChangedEvents(bool)' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0xa40): undefined reference to `non-virtual thunk to wxTextCtrl::GTKIMFilterKeypress(_GdkEventKey*) const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0xa48): undefined reference to `non-virtual thunk to wxTextCtrl::GetEditable() const' obj/AtlasUI_Release/QuickFileCtrl.o:(.data.rel.ro._ZTV17FileCtrl_TextCtrl[_ZTV17FileCtrl_TextCtrl]+0xa50): undefined reference to `non-virtual thunk to wxTextCtrl::GetEntry() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x7f8): undefined reference to `non-virtual thunk to wxTextCtrlBase::overflow(int)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x820): undefined reference to `non-virtual thunk to wxTextCtrl::GetLineLength(long) const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x828): undefined reference to `non-virtual thunk to wxTextCtrl::GetLineText(long) const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x830): undefined reference to `non-virtual thunk to wxTextCtrl::GetNumberOfLines() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x838): undefined reference to `non-virtual thunk to wxTextCtrl::IsModified() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x840): undefined reference to `non-virtual thunk to wxTextCtrl::MarkDirty()' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x848): undefined reference to `non-virtual thunk to wxTextCtrl::DiscardEdits()' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x850): undefined reference to `non-virtual thunk to wxTextCtrl::SetStyle(long, long, wxTextAttr const&)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x858): undefined reference to `non-virtual thunk to wxTextCtrl::GetStyle(long, wxTextAttr&)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x860): undefined reference to `non-virtual thunk to wxTextCtrlBase::SetDefaultStyle(wxTextAttr const&)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x870): undefined reference to `non-virtual thunk to wxTextCtrl::XYToPosition(long, long) const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x878): undefined reference to `non-virtual thunk to wxTextCtrl::PositionToXY(long, long*, long*) const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x880): undefined reference to `non-virtual thunk to wxTextCtrl::ShowPosition(long)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x888): undefined reference to `non-virtual thunk to wxTextCtrl::HitTest(wxPoint const&, long*) const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x898): undefined reference to `non-virtual thunk to wxTextCtrl::GetValue() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x8c0): undefined reference to `non-virtual thunk to wxTextCtrl::DoPositionToCoords(long) const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x8f8): undefined reference to `non-virtual thunk to wxTextCtrl::WriteText(wxString const&)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x908): undefined reference to `non-virtual thunk to wxTextCtrl::GetValue() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x920): undefined reference to `non-virtual thunk to wxTextCtrl::Remove(long, long)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x930): undefined reference to `non-virtual thunk to wxTextCtrl::Copy()' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x938): undefined reference to `non-virtual thunk to wxTextCtrl::Cut()' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x940): undefined reference to `non-virtual thunk to wxTextCtrl::Paste()' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x980): undefined reference to `non-virtual thunk to wxTextCtrl::SetInsertionPoint(long)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x990): undefined reference to `non-virtual thunk to wxTextCtrl::GetInsertionPoint() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x998): undefined reference to `non-virtual thunk to wxTextCtrl::GetLastPosition() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x9a0): undefined reference to `non-virtual thunk to wxTextCtrl::SetSelection(long, long)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x9b8): undefined reference to `non-virtual thunk to wxTextCtrl::GetSelection(long*, long*) const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x9c8): undefined reference to `non-virtual thunk to wxTextCtrl::IsEditable() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x9d0): undefined reference to `non-virtual thunk to wxTextCtrl::SetEditable(bool)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0x9f8): undefined reference to `non-virtual thunk to wxTextCtrl::DoSetValue(wxString const&, int)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0xa00): undefined reference to `non-virtual thunk to wxTextCtrl::DoGetValue() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0xa38): undefined reference to `non-virtual thunk to wxTextCtrl::EnableTextChangedEvents(bool)' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0xa40): undefined reference to `non-virtual thunk to wxTextCtrl::GTKIMFilterKeypress(_GdkEventKey*) const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0xa48): undefined reference to `non-virtual thunk to wxTextCtrl::GetEditable() const' obj/AtlasUI_Release/QuickTextCtrl.o:(.data.rel.ro._ZTV13QuickTextCtrl[_ZTV13QuickTextCtrl]+0xa50): undefined reference to `non-virtual thunk to wxTextCtrl::GetEntry() const' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x6c0): undefined reference to `non-virtual thunk to wxRadioBox::GetCount() const' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x6c8): undefined reference to `non-virtual thunk to wxRadioBox::GetString(unsigned int) const' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x6d0): undefined reference to `non-virtual thunk to wxRadioBox::SetString(unsigned int, wxString const&)' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x6e0): undefined reference to `non-virtual thunk to wxRadioBox::SetSelection(int)' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x6e8): undefined reference to `non-virtual thunk to wxRadioBox::GetSelection() const' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x6f8): undefined reference to `non-virtual thunk to wxRadioBox::Enable(unsigned int, bool)' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x700): undefined reference to `non-virtual thunk to wxRadioBox::Show(unsigned int, bool)' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x708): undefined reference to `non-virtual thunk to wxRadioBox::IsItemEnabled(unsigned int) const' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x710): undefined reference to `non-virtual thunk to wxRadioBox::IsItemShown(unsigned int) const' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x718): undefined reference to `non-virtual thunk to wxRadioBox::GetItemFromPoint(wxPoint const&) const' obj/AtlasUI_Release/Brushes.o:(.data.rel.ro._ZTV14BrushShapeCtrl[_ZTV14BrushShapeCtrl]+0x728): undefined reference to `non-virtual thunk to wxRadioBox::DoSetItemToolTip(unsigned int, wxToolTip*)' collect2: error: ld returned 1 exit status AtlasUI.make:146: recipe for target '../../../binaries/system/libAtlasUI.so' failed make[1]: *** [../../../binaries/system/libAtlasUI.so] Error 1 Makefile:164: recipe for target 'AtlasUI' failed make: *** [AtlasUI] Error 2 It looks like there is something missing related to wxwidgets, so I search installed packages, but honestly I don't know if everything is OK from this side: libwxbase3.0-dev/artful,now 3.0.3.1+dfsg2-1 amd64 [installed,automatic] libwxbase3.1-dev/now 3.1.0-1.zesty amd64 [installed,local] libwxgtk-media3.1-dev/now 3.1.0-1.zesty amd64 [installed,local] libwxgtk-webview3.1-dev/now 3.1.0-1.zesty amd64 [installed,local] libwxgtk3.0-dev/artful,now 3.0.3.1+dfsg2-1 amd64 [installed] libwxgtk3.1-dev/now 3.1.0-1.zesty amd64 [installed,local] wx-common/now 3.1.0-1.zesty amd64 [installed,local] wx3.0-headers/artful,now 3.0.3.1+dfsg2-1 amd64 [installed,automatic] wx3.1-headers/now 3.1.0-1.zesty amd64 [installed,local] I have already checked the following packages, described on 0 A.D. "BuildInstructions" webpage", are installed: udo apt-get install build-essential libboost-dev libboost-filesystem-dev \ > libcurl4-gnutls-dev libenet-dev libgloox-dev libicu-dev \ > libminiupnpc-dev libnspr4-dev libnvtt-dev libogg-dev libopenal-dev \ > libpng-dev libsdl2-dev libvorbis-dev libwxgtk3.0-dev libxcursor-dev \ > libxml2-dev subversion zlib1g-dev [sudo] password for xavier: Reading package lists... Done Building dependency tree Reading state information... Done build-essential is already the newest version (12.4ubuntu1). libboost-dev is already the newest version (1.62.0.1). libboost-filesystem-dev is already the newest version (1.62.0.1). libminiupnpc-dev is already the newest version (1.9.20140610-4ubuntu1). libnspr4-dev is already the newest version (2:4.16-1ubuntu2). libogg-dev is already the newest version (1.3.2-1). libpng-dev is already the newest version (1.6.34-1). libvorbis-dev is already the newest version (1.3.5-4). subversion is already the newest version (1.9.7-2ubuntu1). zlib1g-dev is already the newest version (1:1.2.11.dfsg-0ubuntu2). libenet-dev is already the newest version (1.3.12+ds-2). libgloox-dev is already the newest version (1.0.18-1). libnvtt-dev is already the newest version (2.0.8-1+dfsg-8.1). libopenal-dev is already the newest version (1:1.17.2-4). libsdl2-dev is already the newest version (2.0.6+dfsg1-3ubuntu1). libwxgtk3.0-dev is already the newest version (3.0.3.1+dfsg2-1). libcurl4-gnutls-dev is already the newest version (7.55.1-1ubuntu2.2). libicu-dev is already the newest version (57.1-6ubuntu0.2). libxcursor-dev is already the newest version (1:1.1.14-3ubuntu0.1). libxml2-dev is already the newest version (2.9.4+dfsg1-4ubuntu1.2). 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. I have asked on #0ad-dev IRC channel, but nobody could help me - instead, they encouraged me to sign up at the forums. FYI, I am using Kubuntu 17.10. Thanks for reading, Xavi Quote Link to comment Share on other sites More sharing options...
Imarok Posted December 13, 2017 Report Share Posted December 13, 2017 Installed all dependencies? Maybe you missed wxwidgets? Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted December 13, 2017 Report Share Posted December 13, 2017 If the wxWidgets presents, the problem can be in different build configurations (different ABI for different versions of compilers - built with c++98Â vs built with c++11). Or too many different versions of the wxWidgets. Quote Link to comment Share on other sites More sharing options...
fabio Posted December 14, 2017 Report Share Posted December 14, 2017 It looks you are mixing packages of artful (3.0) and zesty (3.1). If you are using artful (17.10) you should remove all packages of zesty (3.1, strangely newer than the ones in artful 3.0), probably installed from a third party PPA. Quote Link to comment Share on other sites More sharing options...
Xavi92 Posted December 14, 2017 Author Report Share Posted December 14, 2017 In fact, I was using Zesty some weeks ago and I still had the same problems (obviously, Artful packages were not yet installed). Now, I have removed all packages from Zesty, but still getting the same linker errors. Quote Link to comment Share on other sites More sharing options...
fabio Posted December 15, 2017 Report Share Posted December 15, 2017 Just to be sure I'd suggest running: Quote dpkg -l | grep wx then remove all packages that can be removed (without removing other packages depending on it) and reinstall libwxgtk3.0-dev again. In some case where packages from different PPA or ubuntu versions get mixed it may make more sense to just format and reinstall a clean system from scratch. Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted December 15, 2017 Report Share Posted December 15, 2017 I've built 0ad successfully on a clean Kubuntu 17.10. wxWidgets packages: > dpkg -l | grep wx ii libwxbase3.0-0v5:amd64 3.0.3.1+dfsg2-1 amd64 wxBase library (runtime) - non-GUI support classes of wxWidgets toolkit ii libwxbase3.0-dev 3.0.3.1+dfsg2-1 amd64 wxBase library (development) - non-GUI support classes of wxWidgets toolkit ii libwxgtk3.0-0v5:amd64 3.0.3.1+dfsg2-1 amd64 wxWidgets Cross-platform C++ GUI toolkit (GTK+ runtime) ii libwxgtk3.0-dev 3.0.3.1+dfsg2-1 amd64 wxWidgets Cross-platform C++ GUI toolkit (GTK+ development) ii wx-common 3.0.3.1+dfsg2-1 amd64 wxWidgets Cross-platform C++ GUI toolkit (common support files) ii wx3.0-headers 3.0.3.1+dfsg2-1 amd64 wxWidgets Cross-platform C++ GUI toolkit (header files)  Quote Link to comment Share on other sites More sharing options...
Xavi92 Posted December 16, 2017 Author Report Share Posted December 16, 2017 Thanks vladislavbelov for testing this out. I've ensured to be using the same packages as you, see dpkg output below: $ dpkg -l | grep wx ii libwxbase3.0-0v5:amd64 3.0.3.1+dfsg2-1 amd64 wxBase library (runtime) - non-GUI support classes of wxWidgets toolkit ii libwxbase3.0-dev 3.0.3.1+dfsg2-1 amd64 wxBase library (development) - non-GUI support classes of wxWidgets toolkit ii libwxgtk3.0-0v5:amd64 3.0.3.1+dfsg2-1 amd64 wxWidgets Cross-platform C++ GUI toolkit (GTK+ runtime) ii libwxgtk3.0-dev 3.0.3.1+dfsg2-1 amd64 wxWidgets Cross-platform C++ GUI toolkit (GTK+ development) ii wx-common 3.0.3.1+dfsg2-1 amd64 wxWidgets Cross-platform C++ GUI toolkit (common support files) ii wx3.0-headers 3.0.3.1+dfsg2-1 amd64 wxWidgets Cross-platform C++ GUI toolkit (header files) However, it keeps throwing out the same errors when linking. I've also ran: $ sudo apt install libwxbase3.0-0v5 libwxbase3.0-dev libwxgtk3.0-0v5 libwxgtk3.0-dev wx-common wx3.0-headers --reinstall Just to ensure packages are fresh, but no luck whatsoever. Quote Link to comment Share on other sites More sharing options...
fabio Posted December 16, 2017 Report Share Posted December 16, 2017 Make sure to do this before building after previous failure: ./clean-workspaces.sh And as a last resort if it still doesn't work you may want to compile without atlas, passing --disable-atlas to ./update-workspaces.sh Quote Link to comment Share on other sites More sharing options...
Xavi92 Posted December 16, 2017 Author Report Share Posted December 16, 2017 Passing --disable-atlas to ./update-workspaces.sh made it for me. This should be enough so far, so now I can dig into 0 A.D.'s source code and learn from it. Thanks a lot! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.