LiVES icon indicating copy to clipboard operation
LiVES copied to clipboard

Compile 4.0

Open papoteur-mga opened this issue 1 year ago • 4 comments

Hello, I tried to build the current state of the 4.0 branch for Mageia cauldron (next release). What I have done (in our rpm spec file):

./autogen.sh
%configure   --disable-sdl2 --disable-projectM --enable-threads=posix
%make_build CPPFLAGS="`pkg-config --cflags libtirpc`"

While building, I get this error:

make[1]: Entering directory '/builddir/build/BUILD/LiVES-LiVES-4.0/src'
gcc -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\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WCHAR_H=1 -DSTDC_HEADERS=1 -D_ALL_SOURCE=1 -D_DARWIN_C_SOURCE=1 -D_GNU_SOURCE=1 -D_HPUX_ALT_XOPEN_SOCKET_API=1 -D_NETBSD_SOURCE=1 -D_OPENBSD_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D__STDC_WANT_IEC_60559_ATTRIBS_EXT__=1 -D__STDC_WANT_IEC_60559_BFP_EXT__=1 -D__STDC_WANT_IEC_60559_DFP_EXT__=1 -D__STDC_WANT_IEC_60559_FUNCS_EXT__=1 -D__STDC_WANT_IEC_60559_TYPES_EXT__=1 -D__STDC_WANT_LIB_EXT2__=1 -D__STDC_WANT_MATH_SPEC_FUNCS__=1 -D_TANDEM_SOURCE=1 -D__EXTENSIONS__=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_PTHREAD=1 -DGETTEXT_PACKAGE=\"lives\" -DLOCALEDIR=\"/usr/share/locale\" -DPREFIX=\"/usr\" -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_TRANSPORT_H=1 -DHAVE_BZLIB_H=1 -DHAVE_LADSPA_H=1 -DHAVE_LINUX_VIDEODEV2_H=1 -DHAVE_FREI0R_H=1 -DHAVE_LIBRAW1394_RAW1394_H=1 -DHAVE_LIBAVC1394_AVC1394_H=1 -DHAVE_LIBAVC1394_ROM1394_H=1 -I.  -DPACKAGE_DATA_DIR=\""/usr/share"\" -DLIVES_DIR=\"""\" -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\" -I .. -I "../libOSC" -I/usr/include/mjpegtools -I/usr/include/mjpegtools/mpeg2enc -I/usr/include/mjpegtools/mplex -I/usr/include/unicap -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/at-spi-2.0 -pthread   -I/usr/include/tirpc  -fcommon -fPIE -Wstrict-aliasing=0 -Wall -DHAVE_YUV4MPEG=1 -DHAVE_LDVGRAB=1 -I libavc1394/avc1394.h -I libraw1394/raw1394.h -I libraw1394/rom1394.h  -I/usr/include/liboil-0.3  -DENABLE_OIL=1 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -pthread  -DHAVE_WAYLAND=1 -DLIBAV_TRANSCODE=1 -DIS_X86_64   -DIS_LINUX_GNU=1   -DENABLE_OSC=1 -DALSA_MIDI=1 -I/usr/include/libpng16  -DUSE_LIBPNG=1 -DUSE_SWSCALE=1 -DENABLE_JACK=1 -DENABLE_JACK_TRANSPORT=1 -DJACK_V2=1 -D_REENTRANT -DHAVE_PULSE_AUDIO=1 -DHAVE_PA_STREAM_BEGIN_WRITE=1  -DENABLE_GIW=1 -DHAVE_UNICAP=1 -DNEED_LOCAL_WEED=1 -DNEED_LOCAL_WEED_UTILS = 1 -DNEED_LOCAL_WEED_HOST_UTILS = 1 -DDISABLE_GSLICE=1 -DNEED_LOCAL_WEED_UTILS=1 -DNEED_LOCAL_WEED_COMPAT=1 -DLIVES_LIBDIR=\""/usr/lib64"\"  -DHAVE_LIBVISUAL=1 -DHAVE_FREI0R=1 -DHAVE_LADSPA=1  -DHAVE_XRENDER=1 -DHAVE_X11=1 -DHAVE_OPENGL=1  -DHAVE_WEBM=1 -DHAVE_LINUX_JOYSTICK_H=1 -DHAVE_PRCTL=1  -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -Wall -c -o rpmalloc.o rpmalloc.c
gcc: warning: =: linker input file unused because linking not done
gcc: error: =: linker input file not found: No such file or directory
gcc: warning: 1: linker input file unused because linking not done
gcc: error: 1: linker input file not found: No such file or directory
gcc: warning: =: linker input file unused because linking not done
gcc: error: =: linker input file not found: No such file or directory
gcc: warning: 1: linker input file unused because linking not done
gcc: error: 1: linker input file not found: No such file or directory
make[1]: *** [Makefile:1281: rpmalloc.o] Error 1

I know that this is work in progress, but perhaps do I something wrong? I added the ./autogen.sh because without it, I have no configure.

papoteur-mga avatar Aug 02 '22 09:08 papoteur-mga

PS: I try this because with 3.2.0, build fails with:

libav_stream.c:465:10: error: 'AVStream' has no member named 'codec'
  465 |   ost->st->codec = ost->enc = c;
      |          ^~

I presume this error occurs because of ffmpeg 5.0.

papoteur-mga avatar Aug 02 '22 09:08 papoteur-mga

LiVES 4.0 is a Work In Progress as you point out. I am focusing on getting things working first before looking into new issues, so apologies for the delay in responding.

If you have developer skills, you could look into the libav tests in configure.ac and make updates to libav_helper.h in the same directory.

The usual thing is test for a libav macro or presence of a a library function, set an automake variable based on this, convert this to a define (-D) in Makefile.am, then define a symbol in libav_helper.h accordingly, and replace the code with the symbolic name in the C file. There are plenty of examples of this already. The only hard parts are devising the test condition, and making a symbol which works for both old and new versions.

salsaman avatar Mar 20 '23 23:03 salsaman

Hello, Sorry, I have no C developer skill, I just hope that someone can go further with your explanation.

papoteur-mga avatar Mar 21 '23 10:03 papoteur-mga

While you are waiting, check out the new Discussions area. I'll be posting updates about the new version, and you could ask for help in the Suggestions and problems category, feel free to use any of the categories though https://github.com/salsaman/LiVES/discussions

salsaman avatar Mar 21 '23 19:03 salsaman