zynaddsubfx / zyn-fusion-build

Build Scripts For Zyn-Fusion
Do What The F*ck You Want To Public License
124 stars 40 forks source link

field ‘fContext’ has incomplete type ‘DGL::GraphicsContext’ #67

Open russnes opened 3 years ago

russnes commented 3 years ago

Dear all

I've tried building the project on both Debian 10 and Ubuntu 20.04, both pretty much fresh installs with the steps detailed in the Wiki under Building on Linux.

Here's of a copy of the steps:

$ sudo apt-get install build-essential git ruby libtool libmxml-dev automake cmake libfftw3-dev libjack-jackd2-dev liblo-dev libz-dev libasound2-dev mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev libcairo2-dev libfontconfig1-dev bison
$ git clone https://github.com/zynaddsubfx/zyn-fusion-build
$ cd zyn-fusion-build
$ ruby build-linux.rb
$ tar -jxvf zyn-fusion-linux-64bit-3.0.3-patch1-release.tar.bz2
$ cd zyn-fusion
$ sudo bash ./install-linux.sh

Unfortunately I cannot complete the step ruby build-linux.rb. The error as shown below is the cause.

.
.
[ 89%] Building CXX object src/Plugin/Reverb/CMakeFiles/ZynReverb_lv2.dir/__/__/__/DPF/distrho/DistrhoPluginMain.cpp.o                                                          
[ 89%] Building CXX object src/Plugin/Reverb/CMakeFiles/ZynReverb_lv2.dir/Reverb.cpp.o
[ 90%] Linking CXX shared library lv2/ZynReverb.so
Generate ttl data for '/home/baka/workspace/zyn-fusion-build/build-zynaddsubfx-demo/src/Plugin/Reverb/lv2/ZynReverb.so', basename: 'ZynReverb'
Writing manifest.ttl... done!
Writing ZynReverb.ttl... done!
Writing presets.ttl... done!
[ 90%] Built target ZynReverb_lv2
Scanning dependencies of target ZynAddSubFX_vst
[ 90%] Building CXX object src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/__/__/globals.cpp.o                                                                            
[ 91%] Building CXX object src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/__/__/UI/ConnectionDummy.cpp.o
[ 91%] Building CXX object src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/__/__/__/DPF/distrho/DistrhoPluginMain.cpp.o
[ 92%] Building CXX object src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/__/__/__/DPF/distrho/DistrhoUIMain.cpp.o
[ 92%] Building CXX object src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/__/__/__/DPF/dgl/src/Geometry.cpp.o
[ 92%] Building CXX object src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/__/__/__/DPF/dgl/src/Widget.cpp.o
[ 93%] Building CXX object src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/__/__/__/DPF/dgl/src/Window.cpp.o
/home/baka/workspace/zyn-fusion-build/zynaddsubfx/DPF/dgl/src/Window.cpp:1226:21: error: field ‘fContext’ has incomplete type ‘DGL::GraphicsContext’
1226 |     GraphicsContext fContext;
    |                     ^~~~~~~~
In file included from /home/baka/workspace/zyn-fusion-build/zynaddsubfx/DPF/dgl/src/Window.cpp:22:
/home/baka/workspace/zyn-fusion-build/zynaddsubfx/DPF/dgl/src/../Base.hpp:95:8: note: forward declaration of ‘struct DGL::GraphicsContext’
95 | struct GraphicsContext;
    |        ^~~~~~~~~~~~~~~
make[2]: *** [src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/build.make:141: src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/__/__/__/DPF/dgl/src/Window.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2766: src/Plugin/ZynAddSubFX/CMakeFiles/ZynAddSubFX_vst.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
ERROR: 'make' failed
fundamental commented 3 years ago

@JohannesLorenz You recently encountered some warnings with this part of DPF, right?

voland62 commented 3 years ago

Same issue...

JohannesLorenz commented 3 years ago

Sorry, I thought I had answered already.

I had this issue. The solution was to simply remove the cmake cache (or better, the whole build dir) and then to do a complete rebuild. Does this solve it for anyone?

russnes commented 3 years ago

I just tried it again in a fresh clone of the repository, but unfortunately with the same result.

JohannesLorenz commented 3 years ago

Confirmed error here (ArchLinux) with build-linux.rb. However, with only zyn, it works for me:

git clone git@github.com:zynaddsubfx/zynaddsubfx.git
cd zynaddsubfx/
git submodule update --init --recursive
mkdir build
cd build/
cmake ..
make -j 4

Does this work for you, too?

fundamental commented 3 years ago

I can confirm that there was an issue (only triggered with the zest GUI build). There appears to be some hang up in terms of generating out one of the .ttl files. Hopefully this will be resolved in the next hour or so.

russnes commented 3 years ago

Perhaps the build script could target specific commits or release packages on its dependencies to avoid sudden breaking

fundamental commented 3 years ago

Perhaps the build script could target specific commits or release packages on its dependencies to avoid sudden breaking

It does. A new version of one dependency was pinned as it looked like one of the build configs was fine, but the tested build config is not the one packaged by these scripts.

fundamental commented 3 years ago

Build is working again on my end (at least for the build-linux.rb script). Let me know if there are remaining problems, but for now I'll close the issue.

fundamental commented 3 years ago

ok, looks like there's still some residual issues with the DPF version. I'll revert that and confirm that the GUI works in LV2 at least before closing this again.