zynthian / jack-smf-utils

Jack Standard MIDI File Utils: SMF library, recorder & player
Other
9 stars 2 forks source link

Problems with compiling the package in Manjaro Arch Linux #6

Open haghish opened 1 year ago

haghish commented 1 year ago

Hi, I have had issues with compiling the software both on Manjaro 2022 and 2023. I made sure the required libraries are installed, but the errors keep coming... whereas in previous versions of Manjaro there were no compilation errors. Here is the error I am currently getting:

Building jack-smf-utils...
==> Making package: jack-smf-utils 1.0-5 (Mo 10 Apr 2023 21:46:01 CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading jack-smf-utils-1.0.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   387  100   387    0     0    885      0 --:--:-- --:--:-- --:--:--   887

100  117k  100  117k    0     0   166k      0 --:--:-- --:--:-- --:--:--  166k
==> Validating source files with md5sums...
    jack-smf-utils-1.0.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting jack-smf-utils-1.0.tar.gz with bsdtar
==> Starting build()...
configure.ac:8: warning: The macro `AC_CONFIG_HEADER' is obsolete.
configure.ac:8: You should run autoupdate.
./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from...
configure.ac:8: the top level
configure.ac:34: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:34: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:34: the top level
configure.ac:40: warning: The macro `AC_HEADER_TIME' is obsolete.
configure.ac:40: You should run autoupdate.
./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from...
configure.ac:40: the top level
configure.ac:49: warning: The macro `AC_TYPE_SIGNAL' is obsolete.
configure.ac:49: You should run autoupdate.
./lib/autoconf/types.m4:776: AC_TYPE_SIGNAL is expanded from...
configure.ac:49: the top level
configure.ac:11: installing './compile'
configure.ac:46: installing './config.guess'
configure.ac:46: installing './config.sub'
/usr/share/automake-1.16/am/library.am: warning: 'libsmf.a': linking libraries using a non-POSIX
/usr/share/automake-1.16/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
libsmf/Makefile.am:1:   while processing library 'libsmf.a'
/usr/share/automake-1.16/am/library.am: warning: 'libsmf.a': linking libraries using a non-POSIX
/usr/share/automake-1.16/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
libsmf/Makefile.am:1:   while processing library 'libsmf.a'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/missing: Unknown `--is-lightweight' option
Try `/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for ranlib... ranlib
checking for pow in -lm... yes
checking for main in -lreadline... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for sys/time.h... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for arpa/inet.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for int8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for working volatile... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for GNU libc compatible malloc... yes
checking for working memcmp... yes
checking for GNU libc compatible realloc... yes
checking return type of signal handlers... void
checking for working strtod... yes
checking for gettimeofday... yes
checking for memset... yes
checking for pow... yes
checking for strdup... yes
checking for strerror... yes
checking for strtol... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GLIB... yes
checking for GTHREAD... yes
checking for JACK... yes
checking for JACK_MIDI_NEEDS_NFRAMES... no
checking for LASH... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libsmf/Makefile
config.status: creating man/Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
make  all-recursive
make[1]: Entering directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0'
Making all in libsmf
make[2]: Entering directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/libsmf'
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf.o -MD -MP -MF .deps/libsmf_a-smf.Tpo -c -o libsmf_a-smf.o `test -f 'smf.c' || echo './'`smf.c
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf_decode.o -MD -MP -MF .deps/libsmf_a-smf_decode.Tpo -c -o libsmf_a-smf_decode.o `test -f 'smf_decode.c' || echo './'`smf_decode.c
mv -f .deps/libsmf_a-smf_decode.Tpo .deps/libsmf_a-smf_decode.Po
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf_load.o -MD -MP -MF .deps/libsmf_a-smf_load.Tpo -c -o libsmf_a-smf_load.o `test -f 'smf_load.c' || echo './'`smf_load.c
mv -f .deps/libsmf_a-smf.Tpo .deps/libsmf_a-smf.Po
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf_save.o -MD -MP -MF .deps/libsmf_a-smf_save.Tpo -c -o libsmf_a-smf_save.o `test -f 'smf_save.c' || echo './'`smf_save.c
mv -f .deps/libsmf_a-smf_load.Tpo .deps/libsmf_a-smf_load.Po
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DG_LOG_DOMAIN=\"libsmf\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT libsmf_a-smf_tempo.o -MD -MP -MF .deps/libsmf_a-smf_tempo.Tpo -c -o libsmf_a-smf_tempo.o `test -f 'smf_tempo.c' || echo './'`smf_tempo.c
mv -f .deps/libsmf_a-smf_save.Tpo .deps/libsmf_a-smf_save.Po
mv -f .deps/libsmf_a-smf_tempo.Tpo .deps/libsmf_a-smf_tempo.Po
rm -f libsmf.a
ar cru libsmf.a libsmf_a-smf.o libsmf_a-smf_decode.o libsmf_a-smf_load.o libsmf_a-smf_save.o libsmf_a-smf_tempo.o 
ar: `u' modifier ignored since `D' is the default (see `U')
ranlib libsmf.a
make[2]: Leaving directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/libsmf'
Making all in src
make[2]: Entering directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/src'
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread    -I../libsmf -DG_LOG_DOMAIN=\"jack-smf-player\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT jack_smf_player-jack-smf-player.o -MD -MP -MF .deps/jack_smf_player-jack-smf-player.Tpo -c -o jack_smf_player-jack-smf-player.o `test -f 'jack-smf-player.c' || echo './'`jack-smf-player.c
gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread    -I../libsmf -DG_LOG_DOMAIN=\"jack-smf-recorder\" -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -MT jack_smf_recorder-jack-smf-recorder.o -MD -MP -MF .deps/jack_smf_recorder-jack-smf-recorder.Tpo -c -o jack_smf_recorder-jack-smf-recorder.o `test -f 'jack-smf-recorder.c' || echo './'`jack-smf-recorder.c
jack-smf-recorder.c: In function ‘warning_async’:
jack-smf-player.c: In function ‘warning_async’:
jack-smf-recorder.c:122:9: error: format not a string literal and no format arguments [-Werror=format-security]
  122 |         g_warning(str);
      |         ^~~~~~~~~
jack-smf-player.c:131:9: error: format not a string literal and no format arguments [-Werror=format-security]
  131 |         g_warning(str);
      |         ^~~~~~~~~
jack-smf-recorder.c: In function ‘main’:
jack-smf-recorder.c:430:9: warning: ‘g_thread_init’ is deprecated [-Wdeprecated-declarations]
  430 |         g_thread_init(NULL);
      |         ^~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:115,
                 from jack-smf-recorder.c:46:
/usr/include/glib-2.0/glib/deprecated/gthread.h:267:10: note: declared here
  267 | void     g_thread_init                   (gpointer vtable);
      |          ^~~~~~~~~~~~~
jack-smf-player.c: In function ‘main’:
jack-smf-player.c:661:9: warning: ‘g_thread_init’ is deprecated [-Wdeprecated-declarations]
  661 |         g_thread_init(NULL);
      |         ^~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:115,
                 from jack-smf-player.c:46:
/usr/include/glib-2.0/glib/deprecated/gthread.h:267:10: note: declared here
  267 | void     g_thread_init                   (gpointer vtable);
      |          ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [Makefile:433: jack_smf_recorder-jack-smf-recorder.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
make[2]: *** [Makefile:419: jack_smf_player-jack-smf-player.o] Error 1
make[2]: Leaving directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0/src'
make[1]: *** [Makefile:379: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/pamac-build-mizzan/jack-smf-utils/src/jack-smf-utils-1.0'
make: *** [Makefile:320: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
haghish commented 1 year ago

I edited the build file to avoid treating warnings as errors and that allowed me to compile, but haven't checked if the software works as intended... Thanks for your help in advance

build() {
    cd $pkgname-$pkgver
    # use /usr/bin/smfsh from package libsmf instead of the one 
    # shipped with this package to avoid file conflict
    sed -i ':a;$!N;1,5ba;P;$d;D' libsmf/Makefile.am
    autoreconf --install
    automake --add-missing
    CFLAGS=-Wno-error ./configure --prefix=/usr
    make
}