Page 1 of 1

v0.8.6e compiler error under FreeBSD 6.3-STABLE

Posted: 05 Mar 2008 00:35
by evd
Hi,

Compiling v0.8.6e on a FreeBSD 6.3 host ends up with the following error:

cc -Wsign-compare -Wall -O2 -fno-strict-aliasing -pipe -pthread -pipe -pthread -pthread -o libaa_plugin.so -shared -pthread -fpic -fPIC -u vlc_entry__0_8_6 -L/home/usr/ports/multimedia/vlc/work/fake//usr/local/lib -L/usr/local/lib libaa_plugin.a /usr/local/lib/libaa.so -lncurses -lm /usr/local/lib/libX11.so /usr/local/lib/libXau.so /usr/local/lib/libXdmcp.so -lrpcsvc -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib
if cc -DHAVE_CONFIG_H -I. -I. -I../.. -I/home/usr/ports/multimedia/vlc/work/fake//usr/local/include -I/home/usr/ports/multimedia/vlc/work/vlc-0.8.6e/include -I/usr/local/include/speex -I/usr/local/include -I/usr/local/include -I/usr/local/ffmpeg -DHAVE_POSTPROC_POSTPROCESS_H -I/usr/local/include -DSYS_FREEBSD6_3 -I../../include `top_builddir="../.." ../../vlc-config --cflags plugin caca` -Wsign-compare -Wall -O2 -fno-strict-aliasing -pipe -pthread -pipe -MT libcaca_plugin_a-caca.o -MD -MP -MF ".deps/libcaca_plugin_a-caca.Tpo" -c -o libcaca_plugin_a-caca.o `test -f 'caca.c' || echo './'`caca.c; \
then mv -f ".deps/libcaca_plugin_a-caca.Tpo" ".deps/libcaca_plugin_a-caca.Po"; else rm -f ".deps/libcaca_plugin_a-caca.Tpo"; exit 1; fi
caca.c: In function `Manage':
caca.c:309: error: structure has no member named `type'
caca.c:316: error: structure has no member named `data'
caca.c:339: error: structure has no member named `data'
caca.c:342: error: structure has no member named `data'
caca.c: In function `Render':
caca.c:378: warning: `cucul_set_color' is deprecated (declared at /usr/local/include/cucul.h:313)
gmake[4]: *** [libcaca_plugin_a-caca.o] Error 1
gmake[4]: Leaving directory `/home/usr/ports/multimedia/vlc/work/vlc-0.8.6e/modules/video_output'
gmake[3]: *** [all-modules] Error 1
gmake[3]: Leaving directory `/home/usr/ports/multimedia/vlc/work/vlc-0.8.6e/modules/video_output'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/home/usr/ports/multimedia/vlc/work/vlc-0.8.6e/modules'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/usr/ports/multimedia/vlc/work/vlc-0.8.6e'
gmake: *** [all] Error 2
*** Error code 2

Stop in /home/usr/ports/multimedia/vlc.
*** Error code 1

Stop in /home/usr/ports/multimedia/vlc.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade.56337.0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=vlc-0.8.6.d,2 UPGRADE_PORT_VER=0.8.6.d,2 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! multimedia/vlc (vlc-0.8.6.d,2) (new compiler error)


Does anybody know how to fix this? With 0.8.6d everything worked perfectly.

Thanks, Erik

Re: v0.8.6e compiler error under FreeBSD 6.3-STABLE

Posted: 05 Mar 2008 00:46
by funman
API of libcaca has changed, either upgrade or downgrade libcaca, or look at detection code in vlc 0.9.0

Re: v0.8.6e compiler error under FreeBSD 6.3-STABLE

Posted: 05 Mar 2008 00:54
by funman
Here is the changeset, maybe you can ask the ports maintainer to use it.

commit 82ca50d33fc3342f74fb4c26fe09f60ae079c7ea
Author: Rafaël Carré <funman@videolan.org>
Date: Mon Jan 21 16:30:36 2008 +0000

fix #1387 (update to new libcaca api)

diff --git a/configure.ac b/configure.ac
index 948ff83..b50b2f5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4631,6 +4631,13 @@ then
VLC_ADD_PLUGINS([caca])
VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`])
VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`])
+ AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <caca.h>
+ caca_event_t ev;]],
+ [[ev.type = 0;]]
+ )],
+ [],
+ [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])]
+ )
fi
fi

diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c
index eb565db..1d8ff52 100644
--- a/modules/video_output/caca.c
+++ b/modules/video_output/caca.c
@@ -304,14 +304,22 @@ static int Manage( vout_thread_t *p_vout )
vlc_value_t val;

#ifdef CACA_API_VERSION_1
+#ifdef CACA_EVENT_OPAQUE
+ switch( caca_get_event_type( &ev ) )
+#else
switch( ev.type )
+#endif /* CACA_EVENT_OPAQUE */
#else
switch( ev )
#endif
{
case CACA_EVENT_KEY_RELEASE:
#ifdef CACA_API_VERSION_1
+#ifdef CACA_EVENT_OPAQUE
+ switch( caca_get_event_key_ch( &ev ) )
+#else
switch( ev.data.key.ch )
+#endif /* CACA_EVENT_OPAQUE */
#else
switch( ev & 0x00ffffff )
#endif
@@ -334,10 +342,22 @@ static int Manage( vout_thread_t *p_vout )
break;
#ifdef CACA_API_VERSION_1
case CACA_EVENT_MOUSE_MOTION:
- val.i_int = ev.data.mouse.x * p_vout->render.i_width
+ val.i_int =
+#ifdef CACA_EVENT_OPAQUE
+ caca_get_event_mouse_x( &ev )
+#else
+ ev.data.mouse.x
+#endif /* CACA_EVENT_OPAQUE */
+ * p_vout->render.i_width
/ cucul_get_canvas_width( p_vout->p_sys->p_cv );
var_Set( p_vout, "mouse-x", val );
- val.i_int = ev.data.mouse.y * p_vout->render.i_height
+ val.i_int =
+#ifdef CACA_EVENT_OPAQUE
+ caca_get_event_mouse_y( &ev )
+#else
+ ev.data.mouse.y
+#endif /* CACA_EVENT_OPAQUE */
+ * p_vout->render.i_height
/ cucul_get_canvas_height( p_vout->p_sys->p_cv );
var_Set( p_vout, "mouse-y", val );
val.b_bool = VLC_TRUE;

Re: v0.8.6e compiler error under FreeBSD 6.3-STABLE

Posted: 06 Mar 2008 00:13
by evd
Thanks for your quick response. I don't think I really need this libcaca, so I disabled this option in my VLC configuration. After having done this, the VLC 0.8.6e port was built and installed without any problem.

cheers, Erik

Re: v0.8.6e compiler error under FreeBSD 6.3-STABLE

Posted: 08 Mar 2008 15:17
by Fenomen
Hi,
Help me, PLEASE
Compiling v0.8.6e on a FreeBSD 6.x host ends up with the following error:

Code: Select all

# make install clean ===> vlc-0.8.6.e,2 depends on file: /usr/local/include/linux/videodev.h - found ===> vlc-0.8.6.e,2 depends on file: /usr/local/live/liveMedia/libliveMedia.a - found ===> vlc-0.8.6.e,2 depends on executable: gmake - found ===> vlc-0.8.6.e,2 depends on file: /usr/local/bin/sdl-config - found ===> vlc-0.8.6.e,2 depends on file: /usr/local/bin/perl5.8.8 - found ===> vlc-0.8.6.e,2 depends on file: /usr/local/bin/intltool-extract - found ===> vlc-0.8.6.e,2 depends on file: /usr/local/libdata/pkgconfig/gnome-mime-data-2.0.pc - found ===> vlc-0.8.6.e,2 depends on executable: pkg-config - found ===> vlc-0.8.6.e,2 depends on shared library: notify.1 - not found ===> Verifying install for notify.1 in /usr/ports/devel/libnotify ===> libnotify-0.4.4_1 depends on executable: gmake - found ===> libnotify-0.4.4_1 depends on file: /usr/local/bin/libtool - found ===> libnotify-0.4.4_1 depends on file: /usr/local/bin/intltool-extract - found ===> libnotify-0.4.4_1 depends on executable: pkg-config - found ===> libnotify-0.4.4_1 depends on shared library: dbus-glib-1.2 - found ===> libnotify-0.4.4_1 depends on shared library: atk-1.0.0 - found ===> libnotify-0.4.4_1 depends on shared library: glib-2.0.0 - found ===> libnotify-0.4.4_1 depends on shared library: gtk-x11-2.0.0 - not found ===> Verifying install for gtk-x11-2.0.0 in /usr/ports/x11-toolkits/gtk20 ===> Building for gtk-2.12.8_2 gmake all-recursive gmake[1]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8' Making all in po gmake[2]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/po' gmake[2]: Nothing to be done for `all'. gmake[2]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/po' Making all in po-properties gmake[2]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/po-properties' gmake[2]: Nothing to be done for `all'. gmake[2]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/po-properties' Making all in gdk-pixbuf gmake[2]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk-pixbuf' gmake all-recursive gmake[3]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk-pixbuf' Making all in pixops gmake[4]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk-pixbuf/pixops' gmake[4]: Nothing to be done for `all'. gmake[4]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk-pixbuf/pixops' gmake[4]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk-pixbuf' gmake[4]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk-pixbuf' gmake[3]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk-pixbuf' gmake[2]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk-pixbuf' Making all in gdk gmake[2]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk' gmake all-recursive gmake[3]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk' Making all in x11 gmake[4]: Entering directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk/x11' if /bin/sh /usr/ports/x11-toolkits/gtk20/work/gnome-libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I../.. -DG_LOG_DOMAIN=\"Gdk\" -DGDK_COMPILATION -I../.. -I../../gdk -I../../gdk -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_CAST_CHECKS -D_REENTRANT -D_THREAD_SAFE -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pango-1.0 -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/freetype2 -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -O2 -fno-strict-aliasing -pipe -Wall -MT gdkasync.lo -MD -MP -MF ".deps/gdkasync.Tpo" \ -c -o gdkasync.lo `test -f 'gdkasync.c' || echo './'`gdkasync.c; \ then mv -f ".deps/gdkasync.Tpo" ".deps/gdkasync.Plo"; \ else rm -f ".deps/gdkasync.Tpo"; exit 1; \ fi cc -DHAVE_CONFIG_H -I. -I. -I../.. -DG_LOG_DOMAIN=\"Gdk\" -DGDK_COMPILATION -I../.. -I../../gdk -I../../gdk -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_CAST_CHECKS -D_REENTRANT -D_THREAD_SAFE -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pango-1.0 -I/usr/local/include/cairo -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/freetype2 -I/usr/local/include -D_THREAD_SAFE -I/usr/local/include -O2 -fno-strict-aliasing -pipe -Wall -MT gdkasync.lo -MD -MP -MF .deps/gdkasync.Tpo -c gdkasync.c -fPIC -DPIC -o .libs/gdkasync.o In file included from ../../gdk/x11/gdkwindow-x11.h:30, from gdkprivate-x11.h:36, from gdkx.h:81, from gdkasync.c:52: ../../gdk/x11/gdkdrawable-x11.h:35:36: X11/extensions/Xrender.h: No such file or directory In file included from ../../gdk/x11/gdkwindow-x11.h:30, from gdkprivate-x11.h:36, from gdkx.h:81, from gdkasync.c:52: ../../gdk/x11/gdkdrawable-x11.h:71: error: syntax error before "Picture" In file included from gdkprivate-x11.h:36, from gdkx.h:81, from gdkasync.c:52: ../../gdk/x11/gdkwindow-x11.h:33:36: X11/extensions/Xdamage.h: No such file or directory In file included from gdkprivate-x11.h:36, from gdkx.h:81, from gdkasync.c:52: ../../gdk/x11/gdkwindow-x11.h:88: error: syntax error before "Damage" In file included from gdkprivate-x11.h:38, from gdkx.h:81, from gdkasync.c:52: ../../gdk/x11/gdkdisplay-x11.h:168: error: syntax error before "XRenderPictFormat" gmake[4]: *** [gdkasync.lo] Error 1 gmake[4]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk/x11' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8/gdk' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/usr/ports/x11-toolkits/gtk20/work/gtk+-2.12.8' gmake: *** [all] Error 2 *** Error code 2 Stop in /usr/ports/x11-toolkits/gtk20. *** Error code 1 Stop in /usr/ports/devel/libnotify. *** Error code 1 Stop in /usr/ports/multimedia/vlc. *** Error code 1 Stop in /usr/ports/multimedia/vlc.
Best regards , Fenomen

Re: v0.8.6e compiler error under FreeBSD 6.3-STABLE

Posted: 13 Mar 2008 00:17
by evd
Hi,

Make sure that /etc/make.conf DOES NOT contain the following lines:
WITH_X11=NO
WITHOUT_X11=YES

If one of these is in, remove them, and rebuild vlc including all required ports.

I always use portupgrade to install or upgrade ports. In case of problems, the following might help:
portupgrade -R vlc
or, if you have to rebuild all ports required by vlc:
portupgrade -fR vlc
(see man portupgrade for details)

Hope this helps.

cheers, Erik