LiVES
LiVES copied to clipboard
build fails with error: expected identifier or '(' before 'if' (future_prefs->jack_opts & JACK_INFO_TEST_SETUP)
building from git using gcc-10.2 on an RPi4 using aarch64 fails:
CC="gcc -march=armv8-a+crc -mtune=cortex-a72 -Os -pipe" CXX="g++ -march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --localstatedir=/var --disable-jack
The build still assumes jack is present/enabled?
Note also "--disable-static" fails because libOSC links with the static lib.
gcc -march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -DPACKAGE_NAME=\"LiVES\" -DPACKAGE_TARNAME=\"lives\" -DPACKAGE_VERSION=\"3.2.1-pre\" -DPACKAGE_STRING=\"LiVES\ 3.2.1-pre\" -DPACKAGE_BUGREPORT=\"https://github.com/salsaman/LiVES/issues\" -DPACKAGE_URL=\"http://lives-video.com\" -DPACKAGE=\"lives\" -DVERSION=\"3.2.1-pre\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -DHAVE_PTHREAD=1 -DGETTEXT_PACKAGE=\"lives\" -DLOCALEDIR=\"\$\{datarootdir\}/locale\" -DPREFIX=\"/usr/local\" -DLiVES_VERSION=\"3.2.1-pre\" -DENABLE_NLS=1 -DHAVE_GETTEXT=1 -DHAVE_DCGETTEXT=1 -DHAVE_LIBDL=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_POSIX_FALLOCATE=1 -DHAVE_GETENTROPY=1 -DHAVE_SYS_PRCTL_H=1 -DHAVE_LINUX_JOYSTICK_H=1 -DHAVE_BZLIB_H=1 -DHAVE_LINUX_VIDEODEV2_H=1 -I. -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DLIVES_DIR=\"""\" -DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\" -I .. -I "../libOSC" -pthread -I/usr/local/include/gtk-3.0 -I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include -I/usr/local/include/gtk-3.0 -I/usr/local/include/gio-unix-2.0 -I/usr/local/include -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/pango-1.0 -I/usr/local/include/harfbuzz -I/usr/local/include/pango-1.0 -I/usr/local/include/fribidi -I/usr/local/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/local/include/libdrm -I/usr/local/include -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/include/uuid -I/usr/local/include -I/usr/local/include -fcommon -fPIE -Wstrict-aliasing=0 -Wall -pthread -I/usr/local/include/gtk-3.0 -I/usr/local/include/gio-unix-2.0 -I/usr/local/include -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/pango-1.0 -I/usr/local/include/harfbuzz -I/usr/local/include/pango-1.0 -I/usr/local/include/fribidi -I/usr/local/include -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/local/include/libdrm -I/usr/local/include -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/include/uuid -I/usr/local/include -DHAVE_WAYLAND=1 -DLIBAV_TRANSCODE=1 -DIS_LINUX_GNU=1 -DENABLE_OSC=1 -I/usr/local/include -DALSA_MIDI=1 -I/usr/local/include/libpng16 -DUSE_LIBPNG=1 -I/usr/local/include -I/usr/local/include -DUSE_SWSCALE=1 -D_REENTRANT -I/usr/local/include -DHAVE_PULSE_AUDIO=1 -DHAVE_PA_STREAM_BEGIN_WRITE=1 -DENABLE_GIW=1 -DNEED_LOCAL_WEED=1 -DNEED_LOCAL_WEED_UTILS=1 -DDISABLE_GSLICE=1 -DNEED_LOCAL_WEED_UTILS=1 -DNEED_LOCAL_WEED_COMPAT=1 -DLIVES_LIBDIR=\""/usr/local/lib"\" -DHAVE_XRENDER=1 -DHAVE_X11=1 -DHAVE_OPENGL=1 -DHAVE_WEBM=1 -DHAVE_LINUX_JOYSTICK_H=1 -DHAVE_PRCTL=1 -Wall -MT main.o -MD -MP -MF $depbase.Tpo -c -o main.o main.c &&\
mv -f $depbase.Tpo $depbase.Po
main.c: In function 'lives_init':
main.c:2218:1: warning: label 'post_audio_choice' defined but not used [-Wunused-label]
2218 | post_audio_choice:
| ^~~~~~~~~~~~~~~~~
main.c:2204:1: warning: label 'audio_choice' defined but not used [-Wunused-label]
2204 | audio_choice:
| ^~~~~~~~~~~~
main.c:2550:3: warning: no return statement in function returning non-void [-Wreturn-type]
2550 | }
| ^
main.c: At top level:
main.c:2552:3: error: expected identifier or '(' before 'if'
2552 | if (future_prefs->jack_opts & JACK_INFO_TEST_SETUP) {
| ^~
main.c:2556:3: warning: data definition has no type or storage class
2556 | reset_font_size();
| ^~~~~~~~~~~~~~~
main.c:2556:3: warning: type defaults to 'int' in declaration of 'reset_font_size' [-Wimplicit-int]
main.c:2556:3: error: conflicting types for 'reset_font_size'
In file included from main.h:620,
from main.c:48:
pangotext.h:58:6: note: previous declaration of 'reset_font_size' was here
58 | void reset_font_size(void);
| ^~~~~~~~~~~~~~~
main.c:2558:3: error: expected identifier or '(' before 'if'
2558 | if (prefs->startup_phase != 0) {
| ^~
main.c:2596:3: error: expected identifier or '(' before 'if'
2596 | if (strcmp(future_prefs->theme, prefs->theme)) {
| ^~
main.c:2602:3: error: expected identifier or '(' before 'if'
2602 | if (mainw->vpp && mainw->vpp->get_audio_fmts) mainw->vpp->audio_codec = get_best_audio(mainw->vpp);
| ^~
main.c:2603:3: error: expected identifier or '(' before 'return'
2603 | return TRUE;
| ^~~~~~
main.c:2604:1: error: expected identifier or '(' before '}' token
2604 | } // end of lives_init
| ^
make[1]: *** [Makefile:1220: main.o] Error 1
make[1]: Leaving directory '/usr/src/LiVES/src'
make: *** [Makefile:609: all-recursive] Error 1
Yes, code needs updating to handle --disable-jack (and --diasable-pulse)
I've made a start, but can't promise to finish it until the new year.
I tried a build with jack.
src/intents.c needs libweed/weed-utils.h rather than weed-utils.h
The build fails with:
gcc -march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -DPACKAGE_NAME=\"LiVES\" -DPACKAGE_TARNAME=\"lives\" -DPACKAGE_VERSION=\"3.2.1-pre\" -DPACKAGE_STRING=\"LiVES\ 3.2.1-pre\" -DPACKAGE_BUGREPORT=\"https://github.com/salsaman/LiVES/issues\" -DPACKAGE_URL=\"http://lives-video.com\" -DPACKAGE=\"lives\" -DVERSION=\"3.2.1-pre\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DSTDC_HEADERS=1 -DHAVE_PTHREAD=1 -DGETTEXT_PACKAGE=\"lives\" -DLOCALEDIR=\"\$\{datarootdir\}/locale\" -DPREFIX=\"/usr/local\" -DLiVES_VERSION=\"3.2.1-pre\" -DENABLE_NLS=1 -DHAVE_GETTEXT=1 -DHAVE_DCGETTEXT=1 -DHAVE_LIBDL=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_POSIX_FALLOCATE=1 -DHAVE_GETENTROPY=1 -DHAVE_SYS_PRCTL_H=1 -DHAVE_LINUX_JOYSTICK_H=1 -DHAVE_JACK_CONTROL_H=1 -DHAVE_JACK_TRANSPORT_H=1 -DHAVE_BZLIB_H=1 -DHAVE_LINUX_VIDEODEV2_H=1 -I. -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DLIVES_DIR=\"""\" -DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\" -I .. -I "../libOSC" -pthread -I/usr/local/include/gtk-3.0 -I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include -I/usr/local/include/gtk-3.0 -I/usr/local/include/gio-unix-2.0 -I/usr/local/include -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/pango-1.0 -I/usr/local/include/harfbuzz -I/usr/local/include/pango-1.0 -I/usr/local/include/fribidi -I/usr/local/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/local/include/libdrm -I/usr/local/include -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/include/uuid -I/usr/local/include -I/usr/local/include -fcommon -fPIE -Wstrict-aliasing=0 -Wall -pthread -I/usr/local/include/gtk-3.0 -I/usr/local/include/gio-unix-2.0 -I/usr/local/include -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/pango-1.0 -I/usr/local/include/harfbuzz -I/usr/local/include/pango-1.0 -I/usr/local/include/fribidi -I/usr/local/include -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/local/include/libdrm -I/usr/local/include -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/include/uuid -I/usr/local/include -DHAVE_WAYLAND=1 -DLIBAV_TRANSCODE=1 -DIS_LINUX_GNU=1 -DENABLE_OSC=1 -I/usr/local/include -DALSA_MIDI=1 -I/usr/local/include/libpng16 -DUSE_LIBPNG=1 -I/usr/local/include -I/usr/local/include -DUSE_SWSCALE=1 -DENABLE_JACK=1 -I/usr/local/include -DENABLE_JACK_TRANSPORT=1 -D_REENTRANT -I/usr/local/include -DHAVE_PULSE_AUDIO=1 -DHAVE_PA_STREAM_BEGIN_WRITE=1 -DENABLE_GIW=1 -DNEED_LOCAL_WEED=1 -DNEED_LOCAL_WEED_UTILS=1 -DDISABLE_GSLICE=1 -DNEED_LOCAL_WEED_UTILS=1 -DNEED_LOCAL_WEED_COMPAT=1 -DLIVES_LIBDIR=\""/usr/local/lib"\" -DHAVE_XRENDER=1 -DHAVE_X11=1 -DHAVE_OPENGL=1 -DHAVE_WEBM=1 -DHAVE_LINUX_JOYSTICK_H=1 -DHAVE_PRCTL=1 -Wall -MT memory.o -MD -MP -MF $depbase.Tpo -c -o memory.o memory.c &&\
mv -f $depbase.Tpo $depbase.Po
memory.c: In function 'intrin_resample_vol':
memory.c:418:3: error: unknown type name '__m128'
418 | __m128 srcv, dstv;
| ^~~~~~
Actually I think that line is redundant now. Removing it in github. Thanks.
The error "unknown type name '__m128'" still remains though..
That's just something I was testing. In machinestate.h you can comment out #define USE_INTRINSICS 1
I'll check that into github also.
Thanks - after changing machinestate.h and editing the first line of build-weed-plugin-C to read "#!/usr/bin/env perl", the build now suceeds.
What does the /usr/bin/env do exactly ?
It allows the script to find perl in $PATH - it is at /usr/local/bin/perl on my system
This should probably be done in various other files, e.g build-lives-plugin, build-lives-plugin-multi