Bug 109280 - gst-plugins-ffmpeg-0.8.6 fails to build
Bug#: 109280 Product:  Gentoo Linux Version: unspecified Platform: PPC
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: gstreamer@gentoo.org Reported By: dashnu@gmail.com
Component: GNOME
URL: 
Summary: gst-plugins-ffmpeg-0.8.6 fails to build
Keywords:  
Status Whiteboard: 
Opened: 2005-10-14 08:03 0000
Description:   Opened: 2005-10-14 08:03 0000
Build Fails. 
 powerpc-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../..
-I../../libavcodec -fomit-frame-pointer -O2 -pipe -fno-pie -fno-pie -MT
postprocess.lo -MD -MP -MF .deps/postprocess.Tpo -c postprocess.c  -fPIC -DPIC
-o .libs/postprocess.o
postprocess.c:633:42: postprocess_altivec_template.c: No such file or directory
make[8]: *** [postprocess.lo] Error 1
make[8]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext/ffmpeg/libavcodec/libpostproc'
make[7]: *** [all-recursive] Error 1
make[7]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext/ffmpeg/libavcodec'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext/ffmpeg'
make[5]: *** [all] Error 2
make[5]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext/ffmpeg'
make[4]: *** [all-local] Error 2
make[4]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6'
make: *** [all] Error 2



Reproducible: Always
Steps to Reproduce:
1.emerge -u gst-plugins-ffmpeg
2.
3.

Actual Results:  
Build failed

Expected Results:  
build success

Portage 2.0.53_rc5 (default-linux/ppc/2005.1/ppc/G4, gcc-3.4.4, glibc-2.3.5-r2,
2.6.13-gentoo-r2 ppc)
=================================================================
System uname: 2.6.13-gentoo-r2 ppc 7447/7457, altivec supported
Gentoo Base System version 1.12.0_pre9
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5, 2.4.2
sys-apps/sandbox:    1.2.13
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="ppc ~ppc"
AUTOCLEAN="yes"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig candy ccache digest distlocks fixpackages notitles sandbox
sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa altivec bash-completion berkdb bitmap-fonts cdr crypt dvd dvdr esd
gnome gpm gstreamer gtk gtk2 hal howl jpeg ncurses nptl nptlonly opengl pam perl
png ppc python readline spell ssl svg tcpd tiff truetype truetype-fonts
type1-fonts unicode xml2 zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS

------- Comment #1 From gad.kadosh@gmail.com 2005-10-26 04:03:36 0000 -------
same problem here.

------- Comment #2 From Draeven 2005-11-03 06:48:26 0000 -------
I am having the same problem as well.  It appears that there is a file missing
from the source tree, postprocess_altivec_template.c.  I have searched my system
for it and it cannot be found.

 powerpc-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../..
-I../../libavcodec -fomit-frame-pointer -O2 -mcpu=7450 -mtune=powerpc -pipe
-fno-strict-aliasing -maltivec -mabi=altivec -mpowerpc-gfxopt -fno-pie -fno-pie
-MT postprocess.lo -MD -MP -MF .deps/postprocess.Tpo -c postprocess.c  -fPIC
-DPIC -o .libs/postprocess.o
postprocess.c:633:42: postprocess_altivec_template.c: No such file or directory
make[8]: *** [postprocess.lo] Error 1
make[8]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext/ffmpeg/libavcodec/libpostproc'
make[7]: *** [all-recursive] Error 1
make[7]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext/ffmpeg/libavcodec'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext/ffmpeg'
make[5]: *** [all] Error 2
make[5]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext/ffmpeg'
make[4]: *** [all-local] Error 2
make[4]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs/ext'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6/gst-libs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/gst-plugins-ffmpeg-0.8.6/work/gst-ffmpeg-0.8.6'
make: *** [all] Error 2

Portage 2.0.53_rc7 (default-linux/ppc/2005.1/ppc/G4, gcc-3.4.4, glibc-2.3.5-r3,
2.6.14-gentoo ppc)
=================================================================
System uname: 2.6.14-gentoo ppc 7455, altivec supported
Gentoo Base System version 1.12.0_pre9
dev-lang/python:     2.3.5, 2.4.2
sys-apps/sandbox:    1.2.13
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="ppc ~ppc"
AUTOCLEAN="yes"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=7450 -mtune=powerpc -pipe -fno-strict-aliasing -maltivec
-mabi=altivec -mpowerpc-gfxopt"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=7450 -mtune=powerpc -pipe -fno-strict-aliasing -maltivec
-mabi=altivec -mpowerpc-gfxopt"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.netnitco.net
ftp://gentoo.netnitco.net/pub/mirrors/gentoo/source/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="ppc X aac aim aimextras alsa altivec apache2 applet artworkextra audiofile
automount bash-completion berkdb bitmap-fonts bonobo bootsplash browserplugin
bzip2 c++ cdda cddb cdparanoia cdrom chroot clamav clamd cpudetection cracklib
crypt cscope cups curlwrappers dbus doc dri dvd dvdread eds emboss encode esd
ethereal fam fat fbcon fbsplash ffmpeg fftw firefox font-server fontconfig
foomaticdb fortran freetype gd gif gimp gimpprint glx gnome gnome-print
gnomecanvas gnutls gpm gstreamer gtk gtk2 gtkhtml gvim gzip hal hfs howl
ieee1394 image imlib imlib2 javascript jpeg lame lcd lesstif libclamav libwww
logrotate messages mjpeg motif mozdevelop moznocompose moznoirc moznomail
mozsha1 mozsvg mozxmlterm mp3 mp4live mpeg mpeg2 mpeg4 mplayer msn nautilus
ncurses netbeans nethack new-login nfs nls nocardbus nptl nptlonly nsplugin ntfs
offensive ogg oggvorbis on-the-fly-crypt opengl openssh openssl pam pbbuttonsd
pcre pdf pdflib perl png ppds python qt quicktime readline reiserfs servlet-2.3
servlet-2.4 sndfile sounds sox spamassassin spell ssl svg tcpd theora threads
thumbnail tiff truetype truetype-fonts type1 type1-fonts udev unicode urandom
usb userlocales utf8 v4l2 vcd videos vim vim-pager vim-with-x vnc vorbis wifi
xinerama xinetd xml xml2 xosd xpm xprint xscreensaver xv xvid yahoo yv12 zip
zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY


------- Comment #3 From Draeven 2005-11-03 07:49:11 0000 -------
I have also tried turning off the "cpudetection" USE flag to see if that would
fix the problem, but alas it does not.  It seems that there is some sort of
problem with renaming the file "postprocess_template.c" when called based on
architecture.  Here is a snippet of code that applies to the altivec section
from postprocess.c:

Lines 628-636

#ifdef ARCH_POWERPC
#ifdef COMPILE_ALTIVEC
#undef RENAME
#define HAVE_ALTIVEC
#define RENAME(a) a ## _altivec
#include "postprocess_altivec_template.c"
#include "postprocess_template.c"
#endif
#endif //ARCH_POWERPC

I'm wondering if taking out the #include "postprocess_altivec_template.c" line
would fix the problem.  I'll be the first to admit that I'm not a heavy C coder,
so I'm not sure.  I'm going to give it a whirl and see what happens.

Draeven

------- Comment #4 From Draeven 2005-11-03 08:29:51 0000 -------
Created an attachment (id=72027) [details]
Proposed patch for gst-plugins-ffmpeg-0.8.6

Ok, I've patched postprocess.c with the attached patch.  I was able to get to
compile fairly cleanly, the only problem I had when it finished was:

ERROR: Caught a segmentation fault while loading plugin file:
/usr/lib/gstreamer-0.8/libgstvideotestsrc.so

Please either:
- remove it and restart.
- run with --gst-disable-segtrap and debug.

I don't know if this is critical or not, but it is merged into my world file at
this time.

Draeven

------- Comment #5 From Draeven 2005-11-03 08:37:44 0000 -------
Created an attachment (id=72029) [details]
Proposed patch for gst-plugins-ffmpeg-0.8.6

First patch didn't include path info and would fail, this is the correct patch.


Sorry for the mixup.

Draeven

------- Comment #6 From gad.kadosh@gmail.com 2005-11-03 13:12:02 0000 -------
draeven, the segmentation fault is a problem caused by liboil which does not
work well with ppc right now. The devs know about this however, I hope it will
be fixed soon.
see:
http://bugs.gentoo.org/show_bug.cgi?id=110486
http://bugs.gentoo.org/show_bug.cgi?id=109270

------- Comment #7 From Draeven 2005-11-03 19:25:12 0000 -------
With that being said, and that segmentation fault being a liboil issue, is this
patch a viable workaround or is it more or less just a lucky hack on my part?

If it is a viable workaround, can it be included in the next ebuild?

I'm just more or less curious at this point, as I am just starting to learn C.

Thanks,

Draeven

------- Comment #8 From gad.kadosh@gmail.com 2005-11-19 08:10:03 0000 -------
gst-plugins-ffmpeg-0.8.7 compiles fine on ppc, and I think it works too - I'm
not sure how to specifically test it though. Once 0.8.7 is in portage I guess it
should be marked ~ppc while 0.8.6 should be -ppc.

------- Comment #9 From Zaheer Abbas Merali (RETIRED) 2005-11-27 06:29:56 0000 -------
ok fixed