zyn-fusion-build icon indicating copy to clipboard operation
zyn-fusion-build copied to clipboard

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

Open russnes opened this issue 4 years ago • 10 comments

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

russnes avatar Dec 30 '20 20:12 russnes

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

fundamental avatar Dec 30 '20 20:12 fundamental

Same issue...

voland62 avatar Jan 01 '21 19:01 voland62

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?

JohannesLorenz avatar Jan 01 '21 20:01 JohannesLorenz

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

russnes avatar Jan 01 '21 21:01 russnes

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

git clone [email protected]:zynaddsubfx/zynaddsubfx.git
cd zynaddsubfx/
git submodule update --init --recursive
mkdir build
cd build/
cmake ..
make -j 4

Does this work for you, too?

JohannesLorenz avatar Jan 01 '21 22:01 JohannesLorenz

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.

fundamental avatar Jan 02 '21 20:01 fundamental

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

russnes avatar Jan 03 '21 10:01 russnes

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 avatar Jan 03 '21 17:01 fundamental

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 avatar Jan 09 '21 01:01 fundamental

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.

fundamental avatar Jan 09 '21 15:01 fundamental