Closed bkauler closed 2 years ago
And, I am using the latest source, downloaded today.
I have just now tried lives 3.0.2 from debian, with a couple of patches from debian. Errors from here:
libtool: link: gcc -Wstrict-aliasing=0 -Wall -DHAVE_LDVGRAB=1 -I libavc1394/avc1394.h -I libraw1394/raw1394.h -I libraw1394/rom1394.h -DIS_LINUX_GNU=1 -DENABLE_OSC=1 -DALSA_MIDI=1 -DHAVE_PULSE_AUDIO=1 -DHAVE_PA_STREAM_BEGIN_WRITE=1 -DLIVES_LIBDIR=\"/usr/lib\" -DHAVE_LINUX_JOYSTICK_H=1 -DHAVE_PRCTL=1 -I/usr/include/tirpc -Wall -pthread -o .libs/lives-exe widget-helper.o main.o support.o effects.o plugins.o effects-weed.o effects-data.o framedraw.o interface.o paramspecial.o paramwindow.o rfx-builder.o preferences.o rte_window.o gui.o ce_thumbs.o htmsocket.o merge.o dialogs.o saveplay.o audio.o events.o resample.o osc.o omc-learn.o callbacks.o colourspace.o keyboard.o utils.o multitrack.o stream.o cvirtual.o startup.o pangotext.o pulse.o ldvgrab.o ldvcallbacks.o ldvinterface.o -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lX11 ../libOSC/.libs/libOSC.a ../libOSC/client/.libs/libOSC_client.a -lm -lavc1394 -lraw1394 -lrom1394 -lasound -lpulse /mnt/sda1/downloads/downloads2/input593/0-lives/lives-3.0.2/libweed/.libs/libweed_slice.so /mnt/sda1/downloads/downloads2/input593/0-lives/lives-3.0.2/libweed/.libs/libweed-utils.so -ldl -pthread /usr/lib/gcc/x86_64-poky-linux/9.3.0/../../../../x86_64-poky-linux/bin/ld: widget-helper.o: in function
lives_combo_populate':
widget-helper.c:(.text+0x7308): undefined reference to lives_combo_prepend_text' /usr/lib/gcc/x86_64-poky-linux/9.3.0/../../../../x86_64-poky-linux/bin/ld: widget-helper.o: in function
lives_standard_dialog_new':
widget-helper.c:(.text+0xb249): undefined reference to lives_dialog_new'
...problem in widget-helper.c again!
My configure:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --disable-gtk3 --disable-libvisual --disable-sdl2 --disable-projectM --disable-jack --disable-GIW --disable-frei0r --disable-liboil --disable-unicap --disable-ladspa --disable-libbz --enable-libz --enable-libpng --enable-mjpegtools --enable-opengl --disable-toonz --disable-turbo --enable-ffmpeg --enable-sdl1 --disable-doxygen --enable-threads=posix
Success! Still on 3.0.2, I replaced all "WIDGET_HELPER_GLOBAL_INLINE" in widget-helper.c with nothing, and all "WIDGET_HELPER_LOCAL_INLINE" with "static". Did the same for "LIVES_GLOBAL_INLINE" and "LIVES_LOCAL_INLINE" in effects-weed.c and colurspace.c
So, why is that inlining broken?
I'll check.
Possibly multiple errors here.
The header bar issue should be fixable by adding a couple of lines like:
#ifdef GTK_HEADER_BAR
#define LIVES_HAS_HEADER_BAR_WIDGET 1
typedef GtkHeaderBar LiVESHeaderBar;
+ #else
+ typedef GtkWidget LiVESHeaderBar;
+ #define LIVES_HEADER_BAR GTK_WIDGET
#endif
and in multitrack.c, the lone instance of gtk_header_bar_pack_start should be changed to lives_header_bar_pack_start.
I have no idea why it is not finding LiVESFontChooser. What version of gtk are you compiling against ?
Ah I see the problem there, --disable-gtk3 is NOT recommended, it is only there as a leftover from the transition from gtk2 to gtk3, defined in order to compare gtk3 with the prior gtk2 version. In fact gtk2 is no longer supported in LiVES, which explains the errors. I'll remove that option so it doesn't happen like this again.
In fact you should not need to specify any --disable or --enable, everything should be detected by configure. Just run it with no options and it should all work. The only thing that might remotely be useful from the list is --disable-doxygen if you want to specifically avoid building documentation to save a few seconds when building.
disable and enable options are only for very specific uses, eg. when testing or when configure fails to autodetect something.
Also, some things like --disable-turbo are by definition completely unnecessary; since the option defined is --enable-turbo, the default is for it to be disabled, In fact autotools will not allow simultaneous definition of --enable-option and --disable-option - the developer has to choose one or other. This means that if the option is --enable-XXX then adding --disable-XXX to configure options is redundant, conversely if there is a --disable-XXX option then adding --enable-XXX is also redundant, as that is the default. (Just a general tip).
Can I close this as fixed now ?
Yes, thanks for your help.
Could you please help me out, I get this error:
In file included from main.h:352, from widget-helper.c:9: widget-helper.h:588:36: error: unknown type name ‘LiVESHeaderBar’ 588 | boolean lives_header_bar_set_title(LiVESHeaderBar *, const char *title); | ^~~~~~~~~~~~~~ widget-helper.h:589:37: error: unknown type name ‘LiVESHeaderBar’ 589 | boolean lives_header_bar_pack_start(LiVESHeaderBar *, LiVESWidget *); | ^~~~~~~~~~~~~~ widget-helper.h:1194:46: error: unknown type name ‘LiVESFontChooser’; did you mean ‘LiVESFileChooser’? 1194 | boolean lives_standard_font_chooser_set_size(LiVESFontChooser *, int fsize); | ^~~~~~~~~~~~~~~~ | LiVESFileChooser
...etc., more errors.
The packages in EasyOS are plain-vanilla, nothing strange about them. glibc is 2.33, gcc 9.3.0. I tried to explicitly tell configure exactly my requirement:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=x86_64-pc-linux-gnu --disable-gtk3 --disable-libvisual --disable-system-weed --disable-sdl2 --disable-projectM --disable-jack --disable-GIW --disable-frei0r --disable-liboil --enable-pulse --enable-dirac --enable-theora --enable-ogg --enable-libdv --enable-v4l2 --disable-unicap --disable-ladspa --disable-libexplain --disable-libbz --enable-libz --enable-libpng --enable-mjpegtools --enable-opengl --disable-toonz --disable-turbo --disable-freenect --disable-fftw3 --disable-opencv --enable-ffmpeg --enable-sdl1 --disable-wayland --enable-xrender --disable-prctl --disable-doxygen --enable-threads=posix
...can do --enable-jack, the above was just trying it without.
Anyway, still get the errors as shown above.
Note on the side: if you think that any of those explicit --disable options will significantly compromise the usefulness of LiVes, let me know.