Closed riban-bw closed 1 year ago
This seems to happen when building standalone module. The failed linking messages appear after this:
Compiling DistrhoPluginMain.cpp (JACK)
Creating JACK standalone for Cardinal
/usr/bin/ld: ../../build/Cardinal/MenuBar.cpp.o: in function `rack::app::createMenuBar()':
MenuBar.cpp:(.text._ZN4rack3app13createMenuBarEv+0x0): multiple definition of `rack::app::createMenuBar()'; ../../build/Cardinal/CardinalPlugin.cpp.o:CardinalPlugin.cpp:(.text._ZN4rack3app13createMenuBarEv+0x0): first defined here
I saw your other issue, does this mean you solved this? Obviously I cant reproduce this, otherwise it would show up on the CI side too. And I am using a aarch64/arm64 system too, built Cardinal from scratch just fine now.
This is separate to the other issue. I have managed to get a partial build but every attempt to build bombs out before completion. I managed to get some executables after some combination of build parameters but the build did not complete without errors. I am running a build now and will report success / failure...
changing the build args after an initial build is not supported. you cant set SYSDEPS to one value, then change it to another mid way through the build. it sucks but if you want to tweak build flags you need a full rebuild every time.
Yes I have found that so do a make clean
before building with different parameters. Current attempt is:
make -j 4 HEADLESS=true CFLAGS=-DCARDINAL_INIT_OSC_THREAD=true
Let's see how this goes...
well those custom flags like that can easily lead to issues. liblo/osc is enabled by default on headless builds, please dont set cardinal compiler macros yourself manually.
The last time I tried to build headless, running the executable, e.g. CardinalNative showed OSC disabled in this build, hence the attempt to enable it.
well it is better to investigate that case. your current build is going to fail on the mini variant that cannot have OSC enabled.
Okay - restarting build with make -j 4 HEADLESS=true
. I will report the result in a few hours...
Yep! Same result.
...
/usr/bin/ld: ../../carla/build/modules/Release/native-plugins.a(distrho-wobblejuice.cpp.o):(.data.rel.ro._ZTVN12dWobbleJuice2UIE[_ZTVN12dWobbleJuice2UIE]+0x38): undefined reference to `CardinalDGL::TopLevelWidget::onCharacterInput(CardinalDGL::Widget::CharacterInputEvent const&)'
/usr/bin/ld: ../../carla/build/modules/Release/native-plugins.a(distrho-wobblejuice.cpp.o):(.data.rel.ro._ZTVN12dWobbleJuice2UIE[_ZTVN12dWobbleJuice2UIE]+0x40): undefined reference to `CardinalDGL::TopLevelWidget::onMouse(CardinalDGL::Widget::MouseEvent const&)'
/usr/bin/ld: ../../carla/build/modules/Release/native-plugins.a(distrho-wobblejuice.cpp.o):(.data.rel.ro._ZTVN12dWobbleJuice2UIE[_ZTVN12dWobbleJuice2UIE]+0x48): undefined reference to `CardinalDGL::TopLevelWidget::onMotion(CardinalDGL::Widget::MotionEvent const&)'
/usr/bin/ld: ../../carla/build/modules/Release/native-plugins.a(distrho-wobblejuice.cpp.o):(.data.rel.ro._ZTVN12dWobbleJuice2UIE[_ZTVN12dWobbleJuice2UIE]+0x50): undefined reference to `CardinalDGL::TopLevelWidget::onScroll(CardinalDGL::Widget::ScrollEvent const&)'
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[2]: *** [../../dpf/Makefile.plugins.mk:483: ../../bin/Cardinal] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [../../dpf/Makefile.plugins.mk:526: ../../bin/Cardinal.lv2/Cardinal.so] Error 1
collect2: error: ld returned 1 exit status
make[2]: *** [../../dpf/Makefile.plugins.mk:680: ../../bin/Cardinal.clap/Cardinal.clap] Error 1
collect2: error: ld returned 1 exit status
make[2]: *** [../../dpf/Makefile.plugins.mk:658: ../../bin/Cardinal.vst3/Contents/aarch64-linux/Cardinal.so] Error 1
make[2]: Leaving directory '/home/dietpi/Cardinal/src/Cardinal'
make[1]: *** [Makefile:128: all] Error 2
make[1]: Leaving directory '/home/dietpi/Cardinal/src'
make: *** [Makefile:135: cardinal] Error 2
The plugins are compiled:
Cardinal.clap Cardinal.lv2 Cardinal.vst Cardinal.vst3 CardinalFX.lv2 CardinalFX.vst3 CardinalMini.lv2 CardinalSynth.lv2 CardinalSynth.vst3
but it fails to compile the executeables.
remove carla/build folder and try again, this is 99% sure just some leftover old objects that were not clean during "make clean" stage
Nope! make clean
does remove Cardinal\carla\build
and if I remove it after the failed build and run make clean
again I get the same result.
I built with make HEADLESS=true STATIC_BUILD=true SYSDEPS=true
and it seemed to build without errors. The final stages seemed to involve launching Cardinal several times to create manifests, etc. But the standalone apps will not connect to audio devices (alsa / jack). Using jalv to host the LV2 does seem to work. I wonder whether STATIC_BUILD
stops the audio interface from working?
It feels like various combinations of build parameters edge me closer to a working build but am yet to find the magical incantation to make it work...
Subsequent to above build, I ran make HEADLESS=true SYSDEPS=true
which completed without error. Now Cardinal standalone will start and connect to jack. I see a lot of warnings during startup, e.g.
libjack.so.0 loaded successfully!
[0.001 info CardinalCommon.cpp:545 Initializer] Cardinal JACK/Standalone 23.07, compatible with Rack version 2.3.0
[0.001 info CardinalCommon.cpp:546 Initializer] Linux 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64
[0.001 info CardinalCommon.cpp:547 Initializer] Binary filename: /home/dietpi/Cardinal/bin/Cardinal
[0.001 info CardinalCommon.cpp:549 Initializer] Bundle path: (null)
[0.001 info CardinalCommon.cpp:555 Initializer] System directory: /usr/local/share/cardinal
[0.001 info CardinalCommon.cpp:556 Initializer] User directory: /home/dietpi/Documents/Cardinal
[0.002 info CardinalCommon.cpp:557 Initializer] Template patch: /home/dietpi/Documents/Cardinal/templates/main.vcv
[0.002 info CardinalCommon.cpp:558 Initializer] System template patch: /usr/local/share/cardinal/patches/templates/main.vcv
System directory "/usr/local/share/cardinal" does not exist.
Make sure Cardinal was downloaded and installed correctly.
[0.002 info CardinalCommon.cpp:572 Initializer] Initializing plugins
Manifest file /usr/local/share/cardinal/PluginManifests/Cardinal.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Fundamental.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/21kHz.json does not exist
...
Manifest file /usr/local/share/cardinal/PluginManifests/ZZC.json does not exist
[0.009 info CardinalCommon.cpp:575 Initializer] Initializing plugin browser DB
[0.009 info CardinalCommon.cpp:637 loadSettings] Loading settings
[0.009 info Rack/src/settings.cpp:512 load] Loading settings /home/dietpi/.config/Cardinal/main.json
[0.010 info CardinalCommon.cpp:590 Initializer] OSC Remote control is available on request
[0.010 info Rack/src/patch.cpp:273 load] Loading patch /home/dietpi/Documents/Cardinal/templates/main.vcv
[0.011 info Rack/src/patch.cpp:273 load] Loading patch /usr/local/share/cardinal/patches/templates/main.vcv
[Cardinal] osdialog_message called 0 0 Could not load system template patch, clearing rack: Unarchiver could not open archive /usr/local/share/cardinal/patches/templates/main.vcv: Failed to open '/usr/local/share/cardinal/patches/templates/main.vcv'
I wonder whether this relates to having had installed Cardinal from deb packages before building. I subsequently removed the deb install but still see these warnings.
I am fairly sure that running make HEADLESS=true SYSDEPS=true
on a fresh git clone will fail but running with STATIC_BUILD=true
first completes without errors.
I am fairly sure that running
make HEADLESS=true SYSDEPS=true
on a fresh git clone will fail but running withSTATIC_BUILD=true
first completes without errors.
there are builds from scratch for every commit I push, so this cannot be the case. I also built from scratch yesterday on a Linux arm64 machine and there were no issues, so really do not know why things get so complicated here.
your run logs do not seem to match the build you made by the way, for example when using HEADLESS=true
the osc part is always on but on your case the logs say OSC Remote control is available on request
which only happens on regular non-headless builds.
regarding the missing files, you need to pass PREFIX=...
during build stage, not just install stage. this is stated on the build docs
I did not specify PREFIX
at all and did not run install. I am running all from the bin directory within the source/build directory.
I am not doing anything clever here. I just started again from scratch:
git clone --recursive https://github.com/DISTRHO/Cardinal.git
cd Cardinal
make HEADLESS=true SYSDEPS=true
I expect this to fail again unless maybe some thing I have done or installed had fixed some of it.
Yes! I saw that OSC wasn't enabled fully. When I can get a build to work then I will move on to getting OSC working (with your help).
do you maybe have CIBUILD
set as environment variable? local builds without CI stuff enabled will always find the resources because they are path hardcoded to the current source location, so that cant possibly fail. It is how I run Cardinal 99% of the time
so I dont know, something does not make sense here
I don't have CIBUILD
set but let's concentrate on the fact that the souce will not build without a lot of effort...
The clean git checkout and build failed again with undefined references, i.e. the object code containing the functions is either not being compiled or not being linked to. Taking one example:
/usr/bin/ld: ../../carla/build/modules/Release/native-plugins.a(distrho-vectorjuice.cpp.o): in function
dVectorJuice::PluginWindow::~PluginWindow()':
distrho-vectorjuice.cpp:(.text._ZN12dVectorJuice12PluginWindowD2Ev[_ZN12dVectorJuice12PluginWindowD5Ev]+0x28): undefined reference to CardinalDGL::puglBackendLeave(CardinalDGL::PuglViewImpl*)'
puglBackendLeave
is defined or declared in the following places:
carla/source/modules/dgl/src/pugl.cpp carla/source/modules/dgl/src/pugl.hpp dpf/dgl/src/pugl.mm dpf/dgl/src/pugl.cpp dpf/dgl/src/pugl.hpp
The command that is failing is the building of the Jack Standalone:
g++ ../../build/Cardinal/CardinalPlugin.cpp.o ../../build/Cardinal/CardinalCommon.cpp.o ../../build/Cardinal/CardinalRemote.cpp.o ../../build/Cardinal/common.cpp.o ../../build/Cardinal/RemoteNanoVG.cpp.o ../../build/Cardinal/RemoteWindow.cpp.o ../../build/Cardinal/DistrhoPluginMain_JACK.cpp.o -Wall -Wextra -pipe -MD -MP -fno-gnu-unique -fPIC -DPIC -DNDEBUG -O3 -ffast-math -fdata-sections -ffunction-sections -fvisibility=hidden -I/home/dietpi/Cardinal-test/Cardinal/include -I/home/dietpi/Cardinal-test/Cardinal/include/simd-compat -I/home/dietpi/Cardinal-test/Cardinal/deps/sysroot/include -DCARDINAL_SYSDEPS -pthread -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/dep/simde -DSIMDE_ACCURACY_PREFERENCE=0 -DSIMDE_FAST_CONVERSION_RANGE -DSIMDE_FAST_MATH -DSIMDE_FAST_NANS -DSIMDE_FAST_ROUND_MODE -DSIMDE_FAST_ROUND_TIES -DSIMDE_X86_SSE4_1_H -DSIMDE_X86_SSE4_2_H -Wno-unused-parameter -Wno-unused-variable -Wno-attributes -DARCH_LIN -DHEADLESS -I/home/dietpi/Cardinal-test/Cardinal/dpf/dgl/src/nanovg -I/home/dietpi/Cardinal-test/Cardinal/dpf/distrho -I/home/dietpi/Cardinal-test/Cardinal/src -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/include -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/include/dsp -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/dep/filesystem/include -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/dep/fuzzysearchdatabase/src -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/dep/glfw/include -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/dep/nanosvg/src -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/dep/oui-blendish -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/dep/pffft -I/home/dietpi/Cardinal-test/Cardinal/src/Rack/dep/tinyexpr -DHAVE_JACK -DHAVE_LIBLO -DHAVE_OPENGL -DDGL_OPENGL -DHAVE_DGL -DHAVE_X11 -DHAVE_XCURSOR -DHAVE_XEXT -DHAVE_XSYNC -DHAVE_XRANDR -I/usr/include/dbus-1.0 -I/usr/lib/aarch64-linux-gnu/dbus-1.0/include -DHAVE_DBUS -DHAVE_X11 -DHAVE_XCURSOR -DHAVE_XEXT -DHAVE_XSYNC -DHAVE_XRANDR -DHAVE_OPENGL -DPRIVATE= -std=gnu++11 -fvisibility-inlines-hidden -fexceptions -DDISTRHO_NAMESPACE=CardinalDISTRHO -DDGL_NAMESPACE=CardinalDGL -DNVG_DISABLE_SKIPPING_WHITESPACE -DNVG_FONT_TEXTURE_FLAGS=NVG_IMAGE_NEAREST -DDGL_WINDOWS_ICON_ID=401 -DDGL_USE_NANOVG_FBO -fno-finite-math-only -fno-strict-aliasing -U_GLIBCXX_ASSERTIONS -Wp,-U_GLIBCXX_ASSERTIONS -Wno-format-security -faligned-new -Wno-abi -I. -I../../dpf/distrho -I../../dpf/dgl -DCARDINAL_PLUGIN_PREFIX='"/usr/local"' -fdata-sections -ffunction-sections -Wl,-O1,--as-needed,--gc-sections -Wl,--strip-all -Wl,--no-undefined -fexceptions -ldl -pthread -ldl ../../plugins/plugins-headless.a ../rack-headless.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/src/common/libsurge-common.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/src/common/libjuce_dsp_rack_sub.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/libs/airwindows/libairwindows.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/libs/eurorack/libeurorack.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/libs/fmt/libfmt.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/libs/sqlite-3.23.3/libsqlite.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/libs/sst/sst-plugininfra/libsst-plugininfra.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/libs/sst/sst-plugininfra/libs/filesystem/libfilesystem.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/libs/sst/sst-plugininfra/libs/strnatcmp/libstrnatcmp.a /home/dietpi/Cardinal-test/Cardinal/deps/surge-build/libs/sst/sst-plugininfra/libs/tinyxml/libtinyxml.a /home/dietpi/Cardinal-test/Cardinal/deps/sysroot/lib/libquickjs.a ../../carla/build/plugin/Release/carla-host-plugin.cpp.o ../../carla/build/modules/Release/carla_engine_plugin.a ../../carla/build/modules/Release/carla_plugin.a ../../carla/build/modules/Release/native-plugins.a ../../carla/build/modules/Release/audio_decoder.a ../../carla/build/modules/Release/jackbridge.min.a ../../carla/build/modules/Release/lilv.a ../../carla/build/modules/Release/rtmempool.a ../../carla/build/modules/Release/water.a ../../carla/build/modules/Release/ysfx.a ../../carla/build/modules/Release/zita-resampler.a -lsndfile -lsndfile -llo -lpthread -ldl -lm -lrt -lmagic -pthread -lrt -ldl -pthread -lrt ../../deps/aubio/libaubio.a -lfftw3f -ljansson -larchive -lsamplerate -lspeexdsp -llo -lpthread -o ../../bin/Cardinal
We see that it is linking ../../carla/build/modules/Release/native-plugins.a
. If I nm ../../carla/build/modules/Release/native-plugins.a
we see the function puglBackendLeave is called several times so what lib or object file resolves this dependency?
So it looks like pugl provides this, either from carla or from dpf/dgl. dpf/dgl seems only to be used for includes in this compile/linker command so we must be using the carla libs...
So it looks like the standalone version uses carla as a host for the plugin but carla is not being (fully?) built? So I manually build carla:
cd carla
make HEADLESS=true SYSDEPS=true
but that fails with undefined references too, e.g.
/usr/bin/ld: ../../build/modules/Release/carla_plugin.a(CarlaPluginJack.cpp.o):(.data.rel.ro._ZTVN12CarlaBackend15CarlaPluginJackE[_ZTVN12CarlaBackend15CarlaPluginJackE]+0x250): undefined reference to `CarlaBackend::CarlaPlugin::waitForBridgeSaveSignal()'
I know this is a lot of stuff and possibly down the wrong rabbit hole but I am trying to understand / trace back to where the issue is arising. As you say, this should not happen but it is happening consistently. It is most likely a missing dependency that is not detected sufficiently early to stop the build or it is a configuration difference between my platform and the reference platform.
You have said that the build works on your aarch64 platform. Did you build in the same way as me or did you use some other build process that maybe adds other configuration elements?
I didnt build as headless in arm64 system, but the CI has a headless build test in x64/intel mode which should catch any failures.
the only thing I can think about here is different compiler versions, maybe headless build is broken under new gcc or something. nothing else makes sense.
I have started from scratch again...
sudo apt install build-essential git libdbus-1-dev libgl1-mesa-dev liblo-dev libmagic-dev libsndfile1-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev python3 libarchive-dev libjansson-dev libsamplerate0-dev libspeexdsp-dev libdbus-1-dev libgl1-mesa-dev liblo-dev libmagic-dev libsndfile1-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev cmake wget alsa-utils jackd vim tmux
export JACK_NO_AUDIO_RESERVATION=1
# Allows jackd to start properlytmux add
# Using tmux to protect against ssh disconnect interrupting progressgit clone --recursive https://github.com/DISTRHO/Cardinal.git
cd Cardinal
make -j4 HEADLESS=true SYSDEPS=true STATIC_BUILD=true
This builds successfully but cannot connect to the audio server:
bin/Cardinal
Failed to create the Native audio driver, reason was:
Communication error with the JACK server.
Subsequently running:
make -j4 HEADLESS=true SYSDEPS=true
builds without errors and creates an executable that will start and connects to jackd:
bin/Cardinal
libjack.so.0 loaded successfully!
[0.000 info CardinalCommon.cpp:545 Initializer] Cardinal JACK/Standalone 23.07, compatible with Rack version 2.3.0
[0.000 info CardinalCommon.cpp:546 Initializer] Linux 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64
[0.000 info CardinalCommon.cpp:547 Initializer] Binary filename: /home/dietpi/Cardinal/bin/Cardinal
[0.000 info CardinalCommon.cpp:549 Initializer] Bundle path: (null)
[0.000 info CardinalCommon.cpp:555 Initializer] System directory: /usr/local/share/cardinal
[0.001 info CardinalCommon.cpp:556 Initializer] User directory: /home/dietpi/Documents/Cardinal
[0.001 info CardinalCommon.cpp:557 Initializer] Template patch: /home/dietpi/Documents/Cardinal/templates/main.vcv
[0.001 info CardinalCommon.cpp:558 Initializer] System template patch: /usr/local/share/cardinal/patches/templates/main.vcv
System directory "/usr/local/share/cardinal" does not exist.
Make sure Cardinal was downloaded and installed correctly.
[0.001 info CardinalCommon.cpp:572 Initializer] Initializing plugins
Manifest file /usr/local/share/cardinal/PluginManifests/Cardinal.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Fundamental.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/21kHz.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/8Mode.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AaronStatic.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/alefsbits.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Algoritmarte.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AmalgamatedHarmonics.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AnimatedCircuits.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ArableInstruments.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AriaModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AS.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AudibleInstruments.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Autinn.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Axioma.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/BaconPlugs.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Befaco.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Bidoo.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/BogaudioModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/CatroModulo.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/cf.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ChowDSP.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/dBiz.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/DrumKit.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ESeries.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ExpertSleepers-Encoders.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Extratone.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/FehlerFabrik.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/forsitan-modulare.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/GlueTheGiant.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/GoodSheperd.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/GrandeModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/h4n4-modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/HamptonHarmonics.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/HetrickCV.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ImpromptuModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ihtsyn.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/JW-Modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/kocmoc.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LifeFormModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LilacLoop.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LittleUtils.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LomasModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LyraeModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Meander.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/MindMeldModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ML_modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/MockbaModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Mog.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/mscHack.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/MSM.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/myth-modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/nonlinearcircuits.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Orbits.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ParableInstruments.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/PathSet.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/PinkTrombone.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Prism.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/rackwindows.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/RebelTech.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/repelzen.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Sapphire.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/sonusmodular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/stocaudio.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/stoermelder-packone.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/surgext.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/unless_modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ValleyAudio.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/voxglitch.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/WhatTheRack.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ZetaCarinaeModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ZZC.json does not exist
[0.006 info CardinalCommon.cpp:575 Initializer] Initializing plugin browser DB
[0.006 info CardinalCommon.cpp:637 loadSettings] Loading settings
[0.006 info Rack/src/settings.cpp:512 load] Loading settings /home/dietpi/.config/Cardinal/main.json
[0.006 info CardinalCommon.cpp:590 Initializer] OSC Remote control is available on request
[0.007 info Rack/src/patch.cpp:273 load] Loading patch /home/dietpi/Documents/Cardinal/templates/main.vcv
[0.007 info Rack/src/patch.cpp:273 load] Loading patch /usr/local/share/cardinal/patches/templates/main.vcv
[Cardinal] osdialog_message called 0 0 Could not load system template patch, clearing rack: Unarchiver could not open archive /usr/local/share/cardinal/patches/templates/main.vcv: Failed to open '/usr/local/share/cardinal/patches/templates/main.vcv'
Install:
sudo make install
Now it starts okay:
libjack.so.0 loaded successfully!
[0.000 info CardinalCommon.cpp:545 Initializer] Cardinal JACK/Standalone 23.07, compatible with Rack version 2.3.0
[0.001 info CardinalCommon.cpp:546 Initializer] Linux 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64
[0.001 info CardinalCommon.cpp:547 Initializer] Binary filename:
[0.001 info CardinalCommon.cpp:549 Initializer] Bundle path: (null)
[0.001 info CardinalCommon.cpp:555 Initializer] System directory: /usr/local/share/cardinal
[0.001 info CardinalCommon.cpp:556 Initializer] User directory: /home/dietpi/Documents/Cardinal
[0.001 info CardinalCommon.cpp:557 Initializer] Template patch: /home/dietpi/Documents/Cardinal/templates/main.vcv
[0.001 info CardinalCommon.cpp:558 Initializer] System template patch: /usr/local/share/cardinal/patches/templates/main.vcv
[0.001 info CardinalCommon.cpp:572 Initializer] Initializing plugins
[0.068 info CardinalCommon.cpp:575 Initializer] Initializing plugin browser DB
[0.077 info CardinalCommon.cpp:637 loadSettings] Loading settings
[0.077 info Rack/src/settings.cpp:512 load] Loading settings /home/dietpi/.config/Cardinal/main.json
[0.077 info CardinalCommon.cpp:590 Initializer] OSC Remote control is available on request
[0.081 info Rack/src/patch.cpp:273 load] Loading patch /home/dietpi/Documents/Cardinal/templates/main.vcv
[0.082 info Rack/src/patch.cpp:273 load] Loading patch /usr/local/share/cardinal/patches/templates/main.vcv
[0.082 info Rack/src/patch.cpp:339 loadAutosave] Loading autosave /tmp/Cardinal.0001/patch.json
[0.083 info Rack/src/patch.cpp:486 fromJson] Patch was made with Rack 2.1, current Rack version is 2.3.0
[0.083 info Rack/src/window/Svg.cpp:28 loadFile] Loaded SVG /usr/local/share/cardinal/ComponentLibrary/PJ301M.svg
[0.084 info Rack/src/app/RackWidget.cpp:327 fromJson] Creating module widget DISTRHO Text Editor
[0.084 info Rack/src/app/RackWidget.cpp:327 fromJson] Creating module widget DISTRHO Host MIDI
[0.084 info Rack/src/app/RackWidget.cpp:327 fromJson] Creating module widget DISTRHO Host Time
[0.084 info Rack/src/app/RackWidget.cpp:327 fromJson] Creating module widget DISTRHO Host Parameters
[0.085 info Rack/src/app/RackWidget.cpp:327 fromJson] Creating module widget DISTRHO Host CV
[0.085 info Rack/src/app/RackWidget.cpp:327 fromJson] Creating module widget DISTRHO Audio 8
So it seems that building with STATIC_BUILD=true
then subsequently building without STATIC_BUILD=true
produces a (mostly) working system without build errors but trying to build without the intermediate step fails with undefined reference errors.
I hope this helps to trace the issue with building. I do now have a method of building (albeit rather convoluted). I will raise a separate issue about OSC control.
I started a headless build from scratch on a linux arm64 system and can confirm the issue. It is very weird since:
will see about fixing that sometime soon
Yay! Seems to have been fixed by commit 41cc57c. Thanks!
I have tried to compile from git origin/main https://github.com/DISTRHO/Cardinal/commit/a51cb460bc958b60c7b40c0d27943a136fe1f49b. After a long (many hours) compile, linking fails with lots of errors about undefined reference, e.g.
I have tried building with
make SYSDEPS=true HEADLESS=true
on Raspberry Pi running dietpi aarch64 OS. I also tried withSYSDEPS=true
although am not convinced this has not picked up the previous (partial) build.