-
Notifications
You must be signed in to change notification settings - Fork 44
Error during make #86
Description
I'm getting this error in make. Running on Debian bookworm (Xeon). Installed packages are
- git
- build-essential
- libwxgtk3.2-dev
- libasound-dev
- libmosquitto-dev
- nlohmann-json3-dev
The rest of the build looks ok. It might have something to do with linwxgtk3.2 type checking but I used that library on an earlier release without problems.
g++ -DwxUSE_GUI=0 -O2 -Wall -I/usr/lib/x86_64-linux-gnu/wx/include/gtk3-unicode-3.2 -I/usr/include/wx-3.2 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -DLOG_DIR='"/var/log"' -DCONF_DIR='"/etc"' -DDATA_DIR='"/usr/share/ircddbgateway"' -g -D_DEBUG -I../Common -c -o TimerControlAppD.o TimerControlAppD.cpp
TimerControlAppD.cpp: In member function ‘bool CTimerControlAppD::init()’:
TimerControlAppD.cpp:162:63: error: no matching function for call to ‘CLogger::CLogger(wxString&, wxString&)’
162 | wxLog* log = new CLogger(m_logDir, logBaseName);
| ^
In file included from TimerControlAppD.cpp:23:
../Common/Logger.h:26:9: note: candidate: ‘CLogger::CLogger()’
26 | CLogger();
| ^~~~~~~
../Common/Logger.h:26:9: note: candidate expects 0 arguments, 2 provided
make[1]: *** [Makefile:13: TimerControlAppD.o] Error 1
Chris Sullivan
VE3NRT
Update: I have an older version from about a year ago and it builds and installs without error in the same environment, There were no changes to TimerControlAppD.cpp but Logger.h was changed with a function prototype that doesn't match the cpp code.
diff ./Common/Logger.h ../ircDDBGateway/Common/Logger.h 2c2
< * Copyright (C) 2002,2003,2009,2011,2012,2019 by Jonathan Naylor G4KLX
---
> * Copyright (C) 2002,2003,2009,2011,2012,2019,2023 by Jonathan Naylor G4KLX
23,24d22
< #include <wx/ffile.h>
< #include <wx/filename.h>
28c26
< CLogger(const wxString& directory, const wxString& name);
---
> CLogger();
34,39d31
< wxString m_name;
< wxFFile* m_file;
< wxFileName m_fileName;
< int m_day;
<
< void writeLog(const wxChar* msg, time_t timestamp);
Logger.cpp also has a parallel change, and it looks like the meaning of the function has been changed from actual logging to initialization of the logging capability. Maybe TimerControlAppD.cpp missed the boat on the changeover to the new method. I don't see another function/method that provides a compatible set of arguments and my scant familiarity with C++ is insufficient to attempt a fix.