-
Notifications
You must be signed in to change notification settings - Fork 24
Description
I understand some of the reasons that we might want to lock our installed libs/apps to a version, and why we might want to additionally patch them, but is there further information available about these choices or a maintenance plan? In particular I don't see the value-add of the diffs in the forks (eg mod-host fork only seems to add optimization for cortex-a53 and I can't see the jack2 fork adding anything).
https://github.com/TreeFallSound/pi-stomp/blob/pistomp-v3/setup/mod/install.sh installs from:
https://github.com/micahvdm/mod-host (71 commits behind parent)
https://github.com/micahvdm/jack2 (1.9.14 vs 1.9.22 from ChangeLog.rst, https://github.com/jackaudio/jack2)
I came to this because of a segfault in mod-host whenever I assign a CV signal to an effect parameter. After updating to https://github.com/mod-audio/mod-host [master] and https://github.com/jackaudio/jack2.git [develop], my CV problem is fixed.
My initial hint was: mod-audio/mod-host#88; building a debug version of mod-host and attaching gdb to it showed the segfault was in /lib/aarch64-linux-gnu/libjack.so.0). (I wouldn't recommend pulling from develop, instead using a 1.9.22 tag for distribution of course.)
Some notes about updating to these versions (I'll continue to test):
- mod-host required a small Makefile patch to update to the current processor and
- I needed to ignore /usr/local/lib/liblilv-0.a; I was trying not to rebuild more than I had to like lilv):
diff --git a/Makefile b/Makefile
index ba5bf86..42164a3 100644
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,7 @@ MANDIR = $(SHAREDIR)/man/man1/
CFLAGS += -O3 -Wall -Wextra -c -std=gnu99 -fPIC -D_GNU_SOURCE -pthread
CFLAGS += -Wno-deprecated-declarations
CFLAGS += -Werror=implicit-function-declaration -Werror=return-type
+CFLAGS += -mcpu=cortex-a76 -mtune=cortex-a76
# debug mode compiler and linker flags
ifeq ($(DEBUG), 1)
@@ -46,7 +47,8 @@ CFLAGS += -Winit-self -Wjump-misses-init -Wmissing-prototypes -Wnested-externs -
endif
# libraries
-LIBS = $(shell pkg-config --libs lilv-0)
+# force a link against the shared library instead of the installed static library
+LIBS = /usr/lib/aarch64-linux-gnu/liblilv-0.so -ldl -lsord-0 -lserd-0 -lsratom-0 -ljack
ifeq ($(MOD_DESKTOP),1)
LIBS += $(subst -ljack ,-ljackserver ,$(shell pkg-config --libs jack))