dragonfly-reverb icon indicating copy to clipboard operation
dragonfly-reverb copied to clipboard

3.2.6: Build issues

Open dvzrv opened this issue 2 years ago • 11 comments

Hi! When building 3.2.6 as a package for Arch Linux I ran into issues:

Compiling DistrhoUIMain.cpp (VST3)
In file included from ../../common/freeverb/progenitor.hpp:50,
                 from ../../common/freeverb/progenitor2.hpp:25,
                 from DSP.hpp:22,
                 from DSP.cpp:19:
../../common/freeverb/progenitor_t.hpp:23:1: error: expected class-name before ‘{’ token
   23 | {
      | ^
In file included from ../../common/freeverb/progenitor.hpp:56,
                 from ../../common/freeverb/progenitor2.hpp:25,
                 from DSP.hpp:22,
                 from DSP.cpp:19:
../../common/freeverb/progenitor_t.hpp:23:1: error: expected class-name before ‘{’ token
   23 | {
      | ^
In file included from ../../common/freeverb/progenitor.hpp:50,
                 from ../../common/freeverb/progenitor2.hpp:25,
                 from DSP.hpp:22,
                 from Plugin.hpp:19,
                 from Plugin.cpp:17:
../../common/freeverb/progenitor_t.hpp:23:1: error: expected class-name before ‘{’ token
   23 | {
      | ^
In file included from ../../common/freeverb/progenitor.hpp:56,
                 from ../../common/freeverb/progenitor2.hpp:25,
                 from DSP.hpp:22,
                 from Plugin.hpp:19,
                 from Plugin.cpp:17:
../../common/freeverb/progenitor_t.hpp:23:1: error: expected class-name before ‘{’ token
   23 | {
      | ^
make[1]: *** [../../dpf/Makefile.plugins.mk:312: ../../build/DragonflyRoomReverb/DSP.cpp.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [../../dpf/Makefile.plugins.mk:312: ../../build/DragonflyRoomReverb/Plugin.cpp.o] Error 1
In file included from ../../common/freeverb/progenitor.hpp:50,
                 from ../../common/freeverb/progenitor2.hpp:25,
                 from DSP.hpp:22,
                 from UI.cpp:19:
../../common/freeverb/progenitor_t.hpp:23:1: error: expected class-name before ‘{’ token
   23 | {
      | ^
In file included from ../../common/freeverb/progenitor.hpp:56,
                 from ../../common/freeverb/progenitor2.hpp:25,
                 from DSP.hpp:22,
                 from UI.cpp:19:
../../common/freeverb/progenitor_t.hpp:23:1: error: expected class-name before ‘{’ token
   23 | {
      | ^
make[1]: *** [../../dpf/Makefile.plugins.mk:310: ../../build/DragonflyRoomReverb/UI.cpp.o] Error 1
make[1]: Leaving directory '/build/dragonfly-reverb/src/DragonflyReverb-Source-v3.2.6/plugins/dragonfly-room-reverb'
make: *** [Makefile:24: plugins] Error 2
make: Leaving directory '/build/dragonfly-reverb/src/DragonflyReverb-Source-v3.2.6'

This looks freeverb related and I am using SYSTEM_FREEVERB3="true". Maybe it is not honored in some parts of the build?

dvzrv avatar Apr 04 '22 16:04 dvzrv

After explicitly removing the common/freeverb directory before build, I am able to build successfully.

dvzrv avatar Apr 04 '22 16:04 dvzrv

@dvzrv Thanks for reporting this, I'll see what I can do about a fix for the next version.

michaelwillis avatar Apr 07 '22 13:04 michaelwillis

@dvzrv Is anybody maintaining the system freeverb3 package? If not, it might be better to build against the bundled freeverb3.

michaelwillis avatar Apr 07 '22 18:04 michaelwillis

The package for Arch is maintained by me. However, the upstream is here: http://www.nongnu.org/freeverb3/

Judging from its history I don't see a lot of activity in the past years though: http://git.savannah.gnu.org/cgit/freeverb3.git Not sure whether that will change or not, but given that those are the sources you are using, what would be the upside to using the bundled sources you provide with dragonfly-reverb?

dvzrv avatar Apr 07 '22 21:04 dvzrv

Sometimes I consider modernizing the freeverb3 library that is bundled with Dragonfly Reverb, doing things like finding a better way to avoid issues with denormals and such. I hesitate to diverge from the version at savannah.gnu.org because I know that some people build using the SYSTEM_FREEVERB3 env var, but if I didn't have to support that, it would give more freedom to optimize the bundled library.

michaelwillis avatar Apr 07 '22 22:04 michaelwillis

Sometimes I consider modernizing the freeverb3 library that is bundled with Dragonfly Reverb, [..]

Then these changes should be upstreamed IMHO, so that others also benefit from it. Have you reached out to the current freeverb3 upstream about these changes?

dvzrv avatar Apr 08 '22 09:04 dvzrv

The freeverb3 maintainer didn't write me back the last time I wrote, but I can try again.

michaelwillis avatar Apr 08 '22 14:04 michaelwillis

I'd love there to be an optimized bundled freeverb3 just for dragonfly reverb. Disk space is relatively cheap, plus I can see what is being optimized.

muziker avatar Jul 27 '22 05:07 muziker

@dvzrv Are there other arch packages that depend upon freeverb3?

michaelwillis avatar Jul 27 '22 14:07 michaelwillis

Sorry for the late reply: Nope, not currently.

dvzrv avatar Sep 25 '22 12:09 dvzrv

@dvzrv I think this will still be a problem with 3.2.7, as I am not currently set up to test a build on Arch Linux against the system freeverb3 library.

michaelwillis avatar Oct 03 '22 13:10 michaelwillis