Building wfview on Mac OS

I’m trying to build from the master branch on Mac OS 12.3.1

I have installed qt5 with brew and downloaded QCustomPlot and untarred into the wfview source dir (that I pulled with git).

Under wfview I’ve created a buid dir and changed to the dir.

  1. qmake …/wfview.pro runs ok.
  2. make -j gives the following errors:
In file included from ../audiohandler.cpp:6:
../../wfview/audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
In file included from moc_audiohandler.cpp:10:
./../audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
1 error generated.
make: *** [audiohandler.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [moc_audiohandler.o] Error 1
In file included from ../udphandler.cpp:4:
In file included from ../../wfview/udphandler.h:25:
../../wfview/audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
In file included from moc_udphandler.cpp:10:
In file included from ./../udphandler.h:25:
../../wfview/audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
In file included from ../rigcommander.cpp:1:
In file included from ../../wfview/rigcommander.h:11:
In file included from ../../wfview/udphandler.h:25:
../../wfview/audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
make: *** [moc_udphandler.o] Error 1
In file included from ../rigctld.cpp:1:
In file included from ../../wfview/rigctld.h:21:
In file included from ../../wfview/rigcommander.h:11:
In file included from ../../wfview/udphandler.h:25:
../../wfview/audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
In file included from ../udpserver.cpp:1:
In file included from ../../wfview/udpserver.h:24:
In file included from ../../wfview/udphandler.h:25:
../../wfview/audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
In file included from moc_rigcommander.cpp:10:
In file included from ./../rigcommander.h:11:
In file included from ../../wfview/udphandler.h:25:
../../wfview/audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [udphandler.o] Error 1
In file included from moc_udpserver.cpp:10:
In file included from ./../udpserver.h:24:
In file included from ../../wfview/udphandler.h:25:
../../wfview/audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
In file included from moc_rigctld.cpp:10:
In file included from ./../rigctld.h:21:
In file included from ../../wfview/rigcommander.h:11:
In file included from ../../wfview/udphandler.h:25:
../../wfview/audiohandler.h:19:10: fatal error: 'QAudioDeviceInfo' file not found
#include <QAudioDeviceInfo>
         ^~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [moc_udpserver.o] Error 1
1 error generated.
1make: *** [moc_rigcommander.o] Error 1
 error generated.
1 error generated.
make: *** [rigctld.o] Error 1
make: *** [rigcommander.o] Error 1
1 error generated.
make: *** [moc_rigctld.o] Error 1
In file included from ../pttyhandler.cpp:5:
In file included from /usr/local/lib/QtCore.framework/Headers/QFile:1:
/usr/local/lib/QtCore.framework/Headers/qfile.h:67:58: error: 'path' is unavailable: introduced in macOS 10.15
inline QString fromFilesystemPath(const std::filesystem::path &path)
                                                         ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/filesystem:902:24: note: 'path' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS path {
                       ^
In file included from ../pttyhandler.cpp:5:
In file included from /usr/local/lib/QtCore.framework/Headers/QFile:1:
/usr/local/lib/QtCore.framework/Headers/qfile.h:72:40: error: 'native' is unavailable: introduced in macOS 10.15
    return QString::fromStdString(path.native());
                                       ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/include/c++/v1/filesystem:1154:22: note: 'native' has been explicitly marked unavailable here
  const string_type& native() const noexcept { return __pn_; }
                     ^
In file included from ../pttyhandler.cpp:5:
In file included from /usr/local/lib/QtCore.framework/Headers/QFile:1:
/usr/local/lib/QtCore.framework/Headers/qfile.h:76:25: error: 'path' is unavailable: introduced in macOS 10.15
inline std::filesystem::path toFilesystemPath(const QString &path)

The errors are truncated as the post was too big.

Many thanks.
Steve G0UQT

Hi Steve.

That error is because you don’t have Qt Multimedia installed. I always use the Qt MaintenanceTool so don’t know the correct brew package name for it.

Buillding wfview on MacOS is a pretty complex operation with LOTS of pre-requisites that aren’t always obvious. Unless there is a specific feature that you need, I would recommend using one of the pre-built binaries.

73 Phil M0VSE

Hi Phill,

I have the pre-built 1.2d running fine but wanted to have a go at building myself.

I can install Qt-5.12.2 with Qt Creator but only install Qt Multimedia for Qt 6.3.0 or 6.2.4 under Qt Creator.

73 Steve G0UQT

Hi Phil,

I’ve managed to do a build by using the Mac Ports version of Qt5 as this allowed me in easily install all the required dependancies. It was easier building from the command line rather than QtCreator. The set clock feature is handy with the 7300.

Thinkgs are looking good.

73

Steve G0UQT

Hi Phil,

If anyone is interested I’ve documented how I built it on my Website:

73,
Steve G0UQT

1 Like

That’s great Steve, thanks. You might want to check out the wfserver branch as that has a number of improvements that I have been working on that haven’t been merged to master yet.

73 Phil M0VSE

Hi Steve,

This is great! Do you mind if I link back to it from our Developer’s Corner?

Thanks,

–E
de W6EL

Hi Eliggett,

The wfserver branch builds and runs for me, although I don’t use is as a remote server much. The rigs are behind me, I find it easier to operate the rig with wfview being disabled myself.

73
Steve G0UQT

Hi Eliggett,

Feel free to link back / copy etc.

73,
Steve G0UQT

Posted!

Thanks,

–E
de W6EL