Emulator Issues #1946
closedwxWidgets link fails in ArchLinux (possible fix included)
0%
Description
What steps will reproduce the problem?
1.Install needed dependencies and checkout the latest revisions (yaourt
handles it all automatically)
2.Try to compile
What is the expected output? What do you see instead?
Fails when trying to link the wxWidgets library:
Linking Binary/Linux-x86_64/Dolphin
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
CRegisterView::CRegisterView(wxWindow*, int)': RegisterView.cpp:(.text+0x7e7): undefined reference to
wxGridNameStr'
RegisterView.cpp:(.text+0x81e): undefined reference to
wxGrid::wxGrid(wxWindow*, int, wxPoint const&, wxSize const&, long, wxString const&)' RegisterView.cpp:(.text+0x87b): undefined reference to
wxGrid::SetTable(wxGridTableBase*, bool, wxGrid::wxGridSelectionModes)'
RegisterView.cpp:(.text+0x88c): undefined reference to
wxGrid::SetRowLabelSize(int)' RegisterView.cpp:(.text+0x89d): undefined reference to
wxGrid::SetColLabelSize(int)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
CRegisterView::CRegisterView(wxWindow*, int)': RegisterView.cpp:(.text+0x8df): undefined reference to
wxGridNameStr'
RegisterView.cpp:(.text+0x916): undefined reference to
wxGrid::wxGrid(wxWindow*, int, wxPoint const&, wxSize const&, long, wxString const&)' RegisterView.cpp:(.text+0x973): undefined reference to
wxGrid::SetTable(wxGridTableBase*, bool, wxGrid::wxGridSelectionModes)'
RegisterView.cpp:(.text+0x984): undefined reference to
wxGrid::SetRowLabelSize(int)' RegisterView.cpp:(.text+0x995): undefined reference to
wxGrid::SetColLabelSize(int)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
CRegisterView::Update()': RegisterView.cpp:(.text+0x9d2): undefined reference to
wxGrid::ForceRefresh()'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
wxGridCellAttr::wxGridCellAttr(wxGridCellAttr*)': RegisterView.cpp:(.text._ZN14wxGridCellAttrC1EPS_[wxGridCellAttr::wxGridCellAttr(wxGridCellAttr*)]+0x66): undefined reference to
wxGridCellAttr::Init(wxGridCellAttr*)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
wxGrid::DisableDragRowSize()': RegisterView.cpp:(.text._ZN6wxGrid18DisableDragRowSizeEv[wxGrid::DisableDragRowSize()]+0x19): undefined reference to
wxGrid::EnableDragRowSize(bool)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
wxGrid::AutoSizeColumns(bool)': RegisterView.cpp:(.text._ZN6wxGrid15AutoSizeColumnsEb[wxGrid::AutoSizeColumns(bool)]+0x22): undefined reference to
wxGrid::SetOrCalcColumnSizes(bool, bool)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
CRegTable::CRegTable()': RegisterView.cpp:(.text._ZN9CRegTableC1Ev[CRegTable::CRegTable()]+0x14): undefined reference to
wxGridTableBase::wxGridTableBase()'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x10): undefined reference to wxGrid::GetClassInfo() const' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable for CRegisterView]+0x58): undefined reference to
wxGrid::GetEventTable()
const'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x60): undefined reference to
wxGrid::GetEventHashTable() const' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable for CRegisterView]+0xe0): undefined reference to
wxGrid::Fit()'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x150): undefined reference to wxGrid::Enable(bool)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable for CRegisterView]+0x238): undefined reference to
wxGrid::Refresh(bool,
wxRect const*)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x448): undefined reference to wxGrid::DoGetBestSize() const' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable for CRegisterView]+0x508): undefined reference to
wxGrid::DrawCellHighlight(wxDC&, wxGridCellAttr const*)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x510): undefined reference to
wxGrid::DrawRowLabels(wxDC&, wxArrayInt const&)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable for CRegisterView]+0x518): undefined reference to
wxGrid::DrawRowLabel(wxDC&, int)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x520): undefined reference to
wxGrid::DrawColLabels(wxDC&, wxArrayInt const&)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable for CRegisterView]+0x528): undefined reference to
wxGrid::DrawColLabel(wxDC&, int)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x530): undefined reference to
wxGrid::GetDefaultGridLinePen()' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable for CRegisterView]+0x538): undefined reference to
wxGrid::GetRowGridLinePen(int)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x540): undefined reference to
wxGrid::GetColGridLinePen(int)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable for CRegisterView]+0x548): undefined reference to
wxGrid::GetDefaultEditorForCell(int, int) const'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x550): undefined reference to
wxGrid::GetDefaultRendererForCell(int, int) const' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable for CRegisterView]+0x558): undefined reference to
wxGrid::GetDefaultEditorForType(wxString const&) const'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV13CRegisterView[vtable
for CRegisterView]+0x560): undefined reference to
wxGrid::GetDefaultRendererForType(wxString const&) const' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0x10): undefined reference to
wxGridTableBase::GetClassInfo() const'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0x60): undefined reference to
wxGridTableBase::GetTypeName(int, int)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0x68): undefined reference to
wxGridTableBase::CanGetValueAs(int, int, wxString const&)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0x70): undefined reference to
wxGridTableBase::CanSetValueAs(int, int, wxString const&)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0x78): undefined reference to
wxGridTableBase::GetValueAsLong(int, int)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0x80): undefined reference to
wxGridTableBase::GetValueAsDouble(int, int)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0x88): undefined reference to
wxGridTableBase::GetValueAsBool(int, int)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0x90): undefined reference to
wxGridTableBase::SetValueAsLong(int, int, long)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0x98): undefined reference to
wxGridTableBase::SetValueAsDouble(int, int, double)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0xa0): undefined reference to
wxGridTableBase::SetValueAsBool(int, int, bool)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0xa8): undefined reference to
wxGridTableBase::GetValueAsCustom(int, int, wxString const&)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0xb0): undefined reference to
wxGridTableBase::SetValueAsCustom(int, int, wxString const&, void*)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0xd0): undefined reference to
wxGridTableBase::InsertRows(unsigned long, unsigned long)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0xd8): undefined reference to
wxGridTableBase::AppendRows(unsigned long)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0xe0): undefined reference to
wxGridTableBase::DeleteRows(unsigned long, unsigned long)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0xe8): undefined reference to
wxGridTableBase::InsertCols(unsigned long, unsigned long)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0xf0): undefined reference to
wxGridTableBase::AppendCols(unsigned long)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0xf8): undefined reference to
wxGridTableBase::DeleteCols(unsigned long, unsigned long)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0x100): undefined reference to
wxGridTableBase::GetRowLabelValue(int)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0x108): undefined reference to
wxGridTableBase::GetColLabelValue(int)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0x120): undefined reference to
wxGridTableBase::CanHaveAttributes()'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0x130): undefined reference to
wxGridTableBase::SetAttr(wxGridCellAttr*, int, int)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable for CRegTable]+0x138): undefined reference to
wxGridTableBase::SetRowAttr(wxGridCellAttr*, int)'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTV9CRegTable[vtable
for CRegTable]+0x140): undefined reference to
wxGridTableBase::SetColAttr(wxGridCellAttr*, int)' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTI13CRegisterView[typeinfo for CRegisterView]+0x10): undefined reference to
typeinfo for wxGrid'
Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o):(.rodata._ZTI9CRegTable[typeinfo
for CRegTable]+0x10): undefined reference to typeinfo for wxGridTableBase' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
CRegisterView::~CRegisterView()':
RegisterView.cpp:(.text._ZN13CRegisterViewD1Ev[CRegisterView::~CRegisterView()]+0x38):
undefined reference to wxGrid::~wxGrid()' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
CRegisterView::~CRegisterView()':
RegisterView.cpp:(.text._ZN13CRegisterViewD0Ev[CRegisterView::~CRegisterView()]+0x38):
undefined reference to wxGrid::~wxGrid()' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
CRegTable::~CRegTable()':
RegisterView.cpp:(.text._ZN9CRegTableD1Ev[CRegTable::~CRegTable()]+0x31):
undefined reference to wxGridTableBase::~wxGridTableBase()' Build/Linux-x86_64-release/libs/libdebwx.a(RegisterView.o): In function
CRegTable::~CRegTable()':
RegisterView.cpp:(.text._ZN9CRegTableD0Ev[CRegTable::~CRegTable()]+0x31):
undefined reference to `wxGridTableBase::~wxGridTableBase()'
collect2: ld returned 1 exit status
scons: *** [Binary/Linux-x86_64/Dolphin] Error 1
scons: building terminated because of errors.
What version of the product are you using? On what operating system?
Revision 4783 in ArchLinux x86_64
Please provide any additional information below.
As explained in AUR:
http://aur.archlinux.org/packages.php?ID=21990
"Adding '-Wl,--no-as-needed' to the LINKFLAGS variable in
Source/Core/DolphinWX/Src/SConscript fix the linking problem."