Project

General

Profile

Actions

Emulator Issues #1946

closed

wxWidgets link fails in ArchLinux (possible fix included)

Added by johan.az almost 15 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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."

Actions

Also available in: Atom PDF