Ticket Hash: | de78c7158e87e94dd5a91d86e027569b52e9ef4f | |||
Title: | 2.1.0-beta1 fails to build when using --disable-xlsxwriter | |||
Status: | Open | Type: | Build_Problem | |
Severity: | Important | Priority: | Immediate | |
Subsystem: | Resolution: | Open | ||
Last Modified: | 2020-08-25 08:25:16 | |||
Version Found In: | 2.1.0-beta1 | |||
User Comments: | ||||
anonymous added on 2020-08-03 06:23:21:
The Debian package build of 2.1.0-beta1 failed to build due to undefined references: /usr/bin/ld: ResultSetView.o: in function `MyResultSetView::OnCmdExpXlsx(wxCommandEvent&)': ./ResultSetView.cpp:3704: undefined reference to `MyFrame::DoExportXLSX(wxString&, wxString&)' /usr/bin/ld: TableTree.o: in function `MyTableTree::OnCmdDumpXlsx(wxCommandEvent&)': ./TableTree.cpp:7337: undefined reference to `MyFrame::DoExportXLSX(wxString&, wxString&)' The package uses --disable-xlsxwriter because the library is not available. It seems that the code calling the xlsx functions needs to be made conditional. anonymous added on 2020-08-03 06:44:38: The following patch fixes the issue: --- a/ResultSetView.cpp +++ b/ResultSetView.cpp @@ -185,8 +185,10 @@ wxPanel(parent, id, wxDefaultPosition, w (wxObjectEventFunction) & MyResultSetView::OnCmdExpSylk); Connect(Grid_ExpDbf, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction) & MyResultSetView::OnCmdExpDbf); +#ifdef ENABLE_XLSXWRITER // only if XlsxWriter is supported Connect(Grid_ExpXlsx, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction) & MyResultSetView::OnCmdExpXlsx); +#endif // end XlsxWriter Connect(Grid_Filter, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction) & MyResultSetView::OnCmdFilter); Connect(Grid_MapShow, wxEVT_COMMAND_MENU_SELECTED, @@ -1976,10 +1978,12 @@ done: exportMenu->Append(menuItem); menuItem = new wxMenuItem(exportMenu, Grid_ExpDbf, wxT("as &DBF archive")); exportMenu->Append(menuItem); +#ifdef ENABLE_XLSXWRITER // only if XlsxWriter is supported menuItem = new wxMenuItem(exportMenu, Grid_ExpXlsx, wxT("as MS &Excell Spreadsheet (XLSX)")); exportMenu->Append(menuItem); +#endif // end XlsxWriter menu.AppendSubMenu(exportMenu, wxT("&Export ResultSet")); menu.AppendSeparator(); if (MainFrame->IsValidSqlFilter() == true) @@ -3670,6 +3674,7 @@ void MyResultSetView::OnCmdExpDbf(wxComm } } +#ifdef ENABLE_XLSXWRITER // only if XlsxWriter is supported void MyResultSetView::OnCmdExpXlsx(wxCommandEvent & WXUNUSED(event)) { // @@ -3705,3 +3710,4 @@ void MyResultSetView::OnCmdExpXlsx(wxCom ::wxEndBusyCursor(); } } +#endif // end XlsxWriter --- a/TableTree.cpp +++ b/TableTree.cpp @@ -317,8 +317,10 @@ MyTableTree::MyTableTree(MyFrame * paren (wxObjectEventFunction) & MyTableTree::OnCmdDumpSylk); Connect(Tree_DumpDbf, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction) & MyTableTree::OnCmdDumpDbf); +#ifdef ENABLE_XLSXWRITER // only if XlsxWriter is supported Connect(Tree_DumpXlsx, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction) & MyTableTree::OnCmdDumpXlsx); +#endif // end XlsxWriter Connect(Tree_DumpPostGIS, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction) & MyTableTree::OnCmdDumpPostGIS); Connect(Tree_Edit, wxEVT_COMMAND_MENU_SELECTED, @@ -3091,9 +3093,11 @@ void MyTableTree::DoMainTableContextMenu menu.Append(menuItem); menuItem = new wxMenuItem(&menu, Tree_DumpDbf, wxT("Export as &DBF")); menu.Append(menuItem); +#ifdef ENABLE_XLSXWRITER // only if XlsxWriter is supported menuItem = new wxMenuItem(&menu, Tree_DumpXlsx, wxT("Export as MS &XLSX Spreadsheet")); menu.Append(menuItem); +#endif // end XlsxWriter menuItem = new wxMenuItem(&menu, Tree_DumpPostGIS, wxT("SQL Dump for &PostGIS")); menu.Append(menuItem); @@ -3164,9 +3168,11 @@ void MyTableTree::DoMainViewContextMenu( menu.Append(menuItem); menuItem = new wxMenuItem(&menu, Tree_DumpDbf, wxT("Export as &DBF")); menu.Append(menuItem); +#ifdef ENABLE_XLSXWRITER // only if XlsxWriter is supported menuItem = new wxMenuItem(&menu, Tree_DumpXlsx, wxT("Export as MS &XLSX Spreadsheet")); menu.Append(menuItem); +#endif // end XlsxWriter menuItem = new wxMenuItem(&menu, Tree_DumpPostGIS, wxT("SQL Dump for &PostGIS")); menu.Append(menuItem); @@ -3243,9 +3249,11 @@ void MyTableTree::DoAttachedTableContext menu.Append(menuItem); menuItem = new wxMenuItem(&menu, Tree_DumpDbf, wxT("Export as &DBF")); menu.Append(menuItem); +#ifdef ENABLE_XLSXWRITER // only if XlsxWriter is supported menuItem = new wxMenuItem(&menu, Tree_DumpXlsx, wxT("Export as MS &XLSX Spreadsheet")); menu.Append(menuItem); +#endif // end XlsxWriter menuItem = new wxMenuItem(&menu, Tree_DumpPostGIS, wxT("SQL Dump for &PostGIS")); menu.Append(menuItem); @@ -3294,9 +3302,11 @@ void MyTableTree::DoAttachedViewContextM menu.Append(menuItem); menuItem = new wxMenuItem(&menu, Tree_DumpDbf, wxT("Export as &DBF")); menu.Append(menuItem); +#ifdef ENABLE_XLSXWRITER // only if XlsxWriter is supported menuItem = new wxMenuItem(&menu, Tree_DumpXlsx, wxT("Export as MS &XLSX Spreadsheet")); menu.Append(menuItem); +#endif // end XlsxWriter menuItem = new wxMenuItem(&menu, Tree_DumpPostGIS, wxT("SQL Dump for &PostGIS")); menu.Append(menuItem); @@ -7300,6 +7310,7 @@ void MyTableTree::OnCmdDumpDbf(wxCommand } } +#ifdef ENABLE_XLSXWRITER // only if XlsxWriter is supported void MyTableTree::OnCmdDumpXlsx(wxCommandEvent & WXUNUSED(event)) { // @@ -7338,6 +7349,7 @@ void MyTableTree::OnCmdDumpXlsx(wxComman ::wxEndBusyCursor(); } } +#endif // end XlsxWriter void MyTableTree::OnCmdDumpPostGIS(wxCommandEvent & WXUNUSED(event)) { anonymous added on 2020-08-25 08:25:16: 8b0e381ae3961077 has some changes to address this issue, but leaves the events connected. Why ifdef those out too like the above patch does? |