Closed yurivict closed 2 weeks ago
Hi @yurivict
Check this commit:
https://github.com/gsequencer/gsequencer/commit/cedf2b40d13e1f8eab191f95c9b9ddde0ec021eb
You should be able to generate symbols like this:
make gen-symbols-all
make fix-symbols-all-bsd
I am just building another tarball.
@joelkraehemann
Hi Joel,
I am curious, why are the symbols different on BSD? Does something fail to build or is something disabled that isn't disabled on Liux?
Thanks, Yuri
I am bit confused about sed and its use in Makefiles. Do you know a good resource about using sed with automake?
sed in automake? No, I avoid automake as much as I can.
I get this failure:
$ gmake fix-symbols-all-bsd
gmake[1]: Entering directory '/usr/ports/audio/gsequencer/work/gsequencer-6.12.6'
Makefile:37228: warning: overriding recipe for target 'rm-symbols-ags-audio-vst3-bsd'
Makefile:37222: warning: ignoring old recipe for target 'rm-symbols-ags-audio-vst3-bsd'
rm -f libags.sym.in
touch libags.sym.in
cat license-notice-gnu-gpl-3-0+-sym.txt >> libags.sym.in
echo -e -n "\n" >> libags.sym.in
find ags/util -name "*.h" | xargs grep --no-filename -o -P "(?<=\s)(ags_[a-z0-9_]+)(?=[\s]*\()" >> libags.sym.in
grep: invalid option -- P
usage: grep [-abcDEFGHhIiLlmnOopqRSsUVvwxz] [-A num] [-B num] [-C num]
[-e pattern] [-f file] [--binary-files=value] [--color=when]
[--context=num] [--directories=action] [--label] [--line-buffered]
[--null] [pattern] [file ...]
gmake[1]: *** [Makefile:37179: gen-symbols-ags] Error 1
These commands don't solve the problem:
make gen-symbols-all
make fix-symbols-all-bsd
Is perl an option?
find ags/util -name ".h" -exec perl -ne 'while(/(?<=\s)(ags[a-z0-9]+)(?=[\s]()/g){print "$&\n";}' '{}' \;
perl is possible.
FYI, I have just added the perl script to generate symbols:
https://github.com/gsequencer/gsequencer/blob/6.12.x/gen-symbols-all.pl
Note, if you modify symbols file run configure again because of these m4 macros:
https://github.com/gsequencer/gsequencer/blob/6.12.x/m4/ags-symbols.m4
You can do now following to generate symbols files:
./configure
make gen-symbols-all-bsd
make fix-symbols-all-bsd
./configure
make
make install
Fix included in 6.12.7
https://github.com/gsequencer/gsequencer/releases/tag/6.12.7
With clang build fails:
The core reason is that you have these symbol names in .sym files but they don't appear in any built binaries. The GCC toolchain appears to be forgiving with this problem, but clang is more rigorous.
Version: 6.12.5 clang-18.1.5 FreeBSD 14.0