drowe67 / freedv-gui

GUI Application for FreeDV – open source digital voice for HF radio
https://freedv.org/
GNU Lesser General Public License v2.1
206 stars 52 forks source link

Cannot build on Windows or Mac(M1) #188

Closed SrBigotones closed 2 years ago

SrBigotones commented 2 years ago

Hello, sorry in advance for my ignorance.

Environment: Macbook Air M1 Monterrey Windows 10 build 19043.1348 WSL2 Ubuntu 20.04.2

I first tried to build the project following the guide: https://github.com/drowe67/freedv-gui/blob/master/README.osx But after 10min of compiling I get this error:

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/freedv] Error 1
make[1]: *** [src/CMakeFiles/freedv.dir/all] Error 2
make: *** [all] Error 2

Not knowing what to do next I try to build it on my windows 10, first with docker desktop and using the WSL2 integration, and then with docker just on WSL, I can build the docker images without problems but when executing the _freedv_buildwindows.sh script I run to the same error at the end, no matter what...

In the console I get this:

./freedv_build_windows.sh 64
Creating network "docker_default" with the default driver
Creating fdv_win_fed34_c ... done

Error response from daemon: bad parameter: pathcannot be empty

The last lines of the .log file:


fdv_win_fed34_c     | -- Threads library flags: 
fdv_win_fed34_c     | -- Using codec2 from build directory...
fdv_win_fed34_c     | -- Using LPCNet from build directory...
fdv_win_fed34_c     | -- Will attempt static build of portaudio.
fdv_win_fed34_c     | -- Looking for hamlib...
fdv_win_fed34_c     | --   Hamlib library: /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libhamlib.dll.a
fdv_win_fed34_c     | --   Hamlib headers: /usr/x86_64-w64-mingw32/sys-root/mingw/include
fdv_win_fed34_c     | -- Hamlib library found.
fdv_win_fed34_c     | -- Looking for samplerate...
fdv_win_fed34_c     | --   samplerate library: /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libsamplerate.dll.a
fdv_win_fed34_c     | --   samplerate headers: /usr/x86_64-w64-mingw32/sys-root/mingw/include
fdv_win_fed34_c     | -- Looking for sndfile...
fdv_win_fed34_c     | --   sndfile library: /usr/x86_64-w64-mingw32/sys-root/mingw/lib/libsndfile.dll.a
fdv_win_fed34_c     | --   sndfile headers: /usr/x86_64-w64-mingw32/sys-root/mingw/include
fdv_win_fed34_c     | -- Looking for wxWidgets...
fdv_win_fed34_c     | -- Found wxWidgets: -L/usr/x86_64-w64-mingw32/sys-root/mingw/lib;;;-fstack-protector;-lssp;-Wl,--subsystem,windows;-mwindows;-lwx_mswu_core-3.1-x86_64-w64-mingw32;-lwx_baseu-3.1-x86_64-w64-mingw32;-lwx_mswu_aui-3.1-x86_64-w64-mingw32;-lwx_mswu_html-3.1-x86_64-w64-mingw32;-lwx_baseu_net-3.1-x86_64-w64-mingw32;-lwx_mswu_propgrid-3.1-x86_64-w64-mingw32 (found version "3.1.5") 
fdv_win_fed34_c     | -- wxWidgets version: 3.1.5
fdv_win_fed34_c     | -- Looking for Speex DSP library.
fdv_win_fed34_c     | --   Speex DSP headers: /usr/x86_64-w64-mingw32/sys-root/mingw/include
fdv_win_fed34_c     | --   Speex DSP library: SPEEXDSP_LIBRARY-NOTFOUND
fdv_win_fed34_c     | -- Could not find speexdsp, reverting to static build.
fdv_win_fed34_c     | -- Build type will be: Debug
fdv_win_fed34_c     | CMake Error at CMakeLists.txt:557 (set):
fdv_win_fed34_c     |   Syntax error in cmake code at
fdv_win_fed34_c     | 
fdv_win_fed34_c     |     /home/build/freedv-gui/CMakeLists.txt:557
fdv_win_fed34_c     | 
fdv_win_fed34_c     |   when parsing string
fdv_win_fed34_c     | 
fdv_win_fed34_c     |     reg delete HKEY_CURRENT_USER\SOFTWARE\CODEC2-Project\FreeDV /f
fdv_win_fed34_c     | 
fdv_win_fed34_c     |   Invalid escape sequence \S
fdv_win_fed34_c     | 
fdv_win_fed34_c     | 
fdv_win_fed34_c     | -- Configuring incomplete, errors occurred!
fdv_win_fed34_c     | See also "/home/build/freedv-gui/build_win64/CMakeFiles/CMakeOutput.log".
fdv_win_fed34_c     | See also "/home/build/freedv-gui/build_win64/CMakeFiles/CMakeError.log".
fdv_win_fed34_c     | make: *** No targets specified and no makefile found.  Stop.
fdv_win_fed34_c     | + '[' mingw64-cmake = mingw64-cmake ']'
fdv_win_fed34_c     | + cd build_win64
fdv_win_fed34_c     | + make package
fdv_win_fed34_c     | make: *** No rule to make target 'package'.  Stop.
fdv_win_fed34_c exited with code 2

tmiw commented 2 years ago

Can you try the ms-packaging branch for the Windows build? There were some changes for https://github.com/drowe67/freedv-gui/pull/187 that will probably help.

Re: macOS, https://github.com/drowe67/freedv-gui/pull/184 may also help.

SrBigotones commented 2 years ago

Thanks for the help @tmiw ! I will try to compile it on my Windows machine when I'm at home. The OSX compiled without problems on the main branch, I had to uninstall conflicting packages from brew (portaudio, libsndfile and libsamplerate) that the installer tried to use when compiling.

tmiw commented 2 years ago

@SrBigotones, are you still having issues building for Windows? If not, I can go ahead and close this out.

tmiw commented 2 years ago

Closing due to lack of recent updates. Feel free to reopen if this is still an issue. 👍