system headers, breakage, ffmpeg, and moar.

Horst Günther Burkhardt III horst at sxemacs.org
Tue Feb 3 22:46:10 PST 2009


First of all: the ports for x264, ffmpeg, and xvid are all horridly
broken. 

in port for x264, 

.if ${ARCH} == powerpc
CFLAGS-= -DHAVE_PPC
ALTIVECFLAGS=-mno-altivec
.endif

should be implemented, due to inline asm being used which calls altivec.
also osdeps.h needs to be patched to

if (defined(SYS_FREEBSD))
define log2f(x)   logf(x) / logf(2.0)

... or alternatively, what happened to the PR from _2005_ to include
log2f and other ISO C99 functions in the FreeBSD libm? even NetBSD
picked that up...

also x264 requires GNU bash to be installed for the buildchain, and
version.sh and configure need to be patched with

s/'#!/bin/bash\n'/'#!/usr/local/bin/bash\n'//g  or similar, otherwise
ports throws a hissyfit when configure fails.


for xvid, port should have

.if ${ARCH} == powerpc
CONFIGURE_ARGS+= --disable-assembly
.endif


also for ffmpeg

CONFIGURE_ARGS+= --disable-altivec 

(for some reason ffmpeg will try to enable altivec on anything that
moves, I think gcc on i386/x86 is just sensible enough to ignore it)


All these ports are also WAY out of date, so you may need to tweak the
snapshots you get.



speaking of ffmpeg, I have found that building dies with the following
error : 

cc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I.
-I"/usr/ports/multimedia/ffmpeg/work/ffmpeg-2008-07-27" -Os -pipe
-mcpu=7400 -mtune=7400 -mno-altivec -O2 -fno-strict-aliasing
-D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -I/usr/local/include/vorbis
-I/usr/local/include -std=c99 -fomit-frame-pointer
-Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization
-Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual
-Wwrite-strings -Wundef -O3 -fno-math-errno         -c -o
libavdevice/bktr.o libavdevice/bktr.c
In file included from libavdevice/bktr.c:30:
/usr/include/dev/bktr/ioctl_meteor.h:53: error: expected
specifier-qualifier-list before 'u_short'
/usr/include/dev/bktr/ioctl_meteor.h:61: error: expected
specifier-qualifier-list before 'u_long'
/usr/include/dev/bktr/ioctl_meteor.h:70: error: expected
specifier-qualifier-list before 'u_long'
In file included from libavdevice/bktr.c:31:
/usr/include/dev/bktr/ioctl_bt848.h:94: error: expected
specifier-qualifier-list before 'u_char'
/usr/include/dev/bktr/ioctl_bt848.h:195: error: expected
specifier-qualifier-list before 'u_int'
libavdevice/bktr.c: In function 'bktr_init':
libavdevice/bktr.c:143: error: 'struct meteor_geomet' has no member
named 'rows'
libavdevice/bktr.c:144: error: 'struct meteor_geomet' has no member
named 'columns'
libavdevice/bktr.c:145: error: 'struct meteor_geomet' has no member
named 'frames'
libavdevice/bktr.c:146: error: 'struct meteor_geomet' has no member
named 'oformat'
libavdevice/bktr.c:159: error: 'struct meteor_geomet' has no member
named 'oformat'
libavdevice/bktr.c: In function 'bktr_getframe':
libavdevice/bktr.c:212: warning: implicit declaration of function
'usleep'
libavdevice/bktr.c: In function 'grab_read_header':
libavdevice/bktr.c:277: warning: implicit declaration of function
'strcasecmp'
gmake: *** [libavdevice/bktr.o] Error 1


I'm informed this is a broken system header, can anyone assist with
this?

(also regarding earlier ports stuff, i'm trusting either someone in -ppc
is a ports committer, or that there's some link to freebsd@ in here :))

Thanks in advance,
	--Horst.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-ppc/attachments/20090204/65c11daa/attachment.pgp


More information about the freebsd-ppc mailing list