That was helpful, fixed upstream.

I once again reiterate my suggestion to pass problems to upstream first
before attempting to work around them locally in the packaging
infrastructure of a single distribution.

The expected workflow is a different one. Let the package does not build on a particular architecture. Iff it is detected by porter (me), porter tries to find the cause or provide workaround/fix/hints. They go to Debian BTS, package maintainer evaluates them and integrates into package and forward upstream. In some cases the package maintainer is upstream author or have commit rights into upstream repository, some upstream authors look after bug entries in some distribution.

Please take a look at [1], click on bottom on "Toggle all extra information". There is at about 16000 source packages in Debian. It cannot be managed to comunicate with every of thousands upstreams directly. Moreover the entry in BTS signals for other porters, that the problem is known and its state.


The build for mplayer from current SVN snapshot, without any flags passed to configure on kfreebsd-amd64:

cc .. -c -o libvo/vo_dfbmga.o libvo/vo_dfbmga.c
libvo/vo_dfbmga.c: In function 'get_image':
libvo/vo_dfbmga.c:1352: warning: cast to pointer from integer of different size
libvo/vo_dfbmga.c: In function 'draw_image':
libvo/vo_dfbmga.c:1369: warning: cast from pointer to integer of different size cc -MD -MP -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 -march=native -mtune=native -pipe -ffast-math -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Ilibdvdread4 -I. -I/usr/local/include -D_THREAD_SAFE -I/usr/include/directfb -I/usr/include/kde/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_REENTRANT -I/usr/include/freetype2 -c -o libvo/vo_directfb2.o libvo/vo_directfb2.c
Glibvo/vo_directfb2.c:40:22: error: linux/kd.h: No such file or directory
make: *** [libvo/vo_directfb2.o] Error 1

It is  needed to pass "--disable-directfb" to finish build.

When I do this:

--- libvo/vo_directfb2.c~       2010-04-23 06:15:06.000000000 +0200
+++ libvo/vo_directfb2.c        2010-04-23 10:24:06.000000000 +0200
@@ -34,11 +34,7 @@
 #include <stdlib.h>
 #include <string.h>

-#ifdef __linux__
 #include <sys/kd.h>
-#include <linux/kd.h>

 #include "config.h"
 #include "video_out.h"

The build ends with:

cc -MD -MP -Wstrict-prototypes -Wmissing-prototypes -Wundef -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 -march=native -mtune=native -pipe -ffast-math -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Ilibdvdread4 -I. -I/usr/local/include -D_THREAD_SAFE -I/usr/include/directfb -I/usr/include/kde/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_REENTRANT -I/usr/include/freetype2 -c -o libvo/vo_directfb2.o libvo/vo_directfb2.c
In file included from libvo/vo_directfb2.c:40:
libvo/video_out.h:272: error: redefinition of 'struct keymap'
make: *** [libvo/vo_directfb2.o] Error 1

There is already "struct keymap" defined in system header

Would be possible to use a different name in
<libvo/video_out.h>, i.e. "struct vo_keymap" ?

I should probably note that GNU/kFreeBSD uses same kernel as FreeBSD,
but libc/gcc/binutils same as Linux.


pkg-multimedia-maintainers mailing list

Reply via email to