salsaman / LiVES

LiVES is a feature rich application which combines elements of VJ and video editing software. The current version runs on Linux / BSD. Check_out_the_new_discussion_area https://github.com/salsaman/LiVES/discussions
http://lives-video.com
GNU General Public License v3.0
89 stars 11 forks source link

build fails with error: expected identifier or '(' before 'if' (future_prefs->jack_opts & JACK_INFO_TEST_SETUP) #42

Open juanitotc opened 2 years ago

juanitotc commented 2 years ago

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
salsaman commented 2 years ago

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.

juanitotc commented 2 years ago

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;
      |   ^~~~~~
salsaman commented 2 years ago

Actually I think that line is redundant now. Removing it in github. Thanks.

juanitotc commented 2 years ago

The error "unknown type name '__m128'" still remains though..

salsaman commented 2 years ago

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.

juanitotc commented 2 years ago

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.

salsaman commented 2 years ago

What does the /usr/bin/env do exactly ?

juanitotc commented 2 years ago

It allows the script to find perl in $PATH - it is at /usr/local/bin/perl on my system

salsaman commented 2 years ago

This should probably be done in various other files, e.g build-lives-plugin, build-lives-plugin-multi