Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 45393 - xine-lib-1_rc3-r2 fail to build on ppc
Summary: xine-lib-1_rc3-r2 fail to build on ppc
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC All
: High normal (vote)
Assignee: PPC Porters
URL:
Whiteboard:
Keywords:
: 46272 51927 (view as bug list)
Depends on: 32118 54913
Blocks:
  Show dependency tree
 
Reported: 2004-03-22 07:19 UTC by Alberto Garcia Hierro (Skyhusker)
Modified: 2004-06-29 15:50 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
fix-mtune7450-cflags.diff (fix-mtune7450-cflags.diff,389 bytes, patch)
2004-05-04 17:16 UTC, Alberto Garcia Hierro (Skyhusker)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alberto Garcia Hierro (Skyhusker) 2004-03-22 07:19:46 UTC
Steps to reproduce:

1.-emerge xine-lib

Actual Results:

gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -I../../src -I../../src/xine-engine -I../../src/xine-engine -I../../src/xine-utils -I../../src/input -I../../src/input -Wa,-m7400 -O3 -pipe -fomit-frame-pointer -fexpensive-optimizations -fschedule-insns2 -fno-strict-aliasing -ffast-math -funroll-loops -funroll-all-loops -finline-functions -Wall -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -DENABLE_IPV6 -O2 -pipe -mcpu=7450 -mtune=7450 -c idct_altivec.c -MT idct_altivec.lo -MD -MP -MF .deps/idct_altivec.TPlo  -fPIC -DPIC -o .libs/idct_altivec.o
idct_altivec.c:629: error: syntax error before "signed"
idct_altivec.c:630: error: `vector' undeclared here (not in a function)
idct_altivec.c:630: error: syntax error before "signed"
idct_altivec.c:630: error: initializer element is not constant
idct_altivec.c:630: error: (near initialization for `constants[0]')
idct_altivec.c:631: error: `vector' undeclared here (not in a function)
idct_altivec.c:631: error: syntax error before "signed"
idct_altivec.c:631: error: initializer element is not constant
idct_altivec.c:631: error: (near initialization for `constants[1]')
idct_altivec.c:632: error: `vector' undeclared here (not in a function)
idct_altivec.c:632: error: syntax error before "signed"
idct_altivec.c:632: error: initializer element is not constant
idct_altivec.c:632: error: (near initialization for `constants[2]')
idct_altivec.c:633: error: `vector' undeclared here (not in a function)
idct_altivec.c:633: error: syntax error before "signed"
idct_altivec.c:633: error: initializer element is not constant
idct_altivec.c:633: error: (near initialization for `constants[3]')
idct_altivec.c:634: error: `vector' undeclared here (not in a function)
idct_altivec.c:634: error: syntax error before "signed"
idct_altivec.c:635: error: initializer element is not constant
idct_altivec.c:635: error: (near initialization for `constants[4]')
idct_altivec.c:637: error: syntax error before "signed"
idct_altivec.c:639: warning: no previous prototype for `mpeg2_idct_copy_altivec'
idct_altivec.c: In function `mpeg2_idct_copy_altivec':
idct_altivec.c:640: error: `vector' undeclared (first use in this function)
idct_altivec.c:640: error: (Each undeclared identifier is reported only once
idct_altivec.c:640: error: for each function it appears in.)
idct_altivec.c:640: error: syntax error before "unsigned"
idct_altivec.c:642: error: `c4' undeclared (first use in this function)
idct_altivec.c:642: warning: implicit declaration of function `vec_splat'
idct_altivec.c:642: error: `a0' undeclared (first use in this function)
idct_altivec.c:642: error: `a1' undeclared (first use in this function)
idct_altivec.c:642: error: `a2' undeclared (first use in this function)
idct_altivec.c:642: error: `mc4' undeclared (first use in this function)
idct_altivec.c:642: error: `ma2' undeclared (first use in this function)
idct_altivec.c:642: error: `bias' undeclared (first use in this function)
idct_altivec.c:642: error: syntax error before "signed"
idct_altivec.c:642: error: `zero' undeclared (first use in this function)
idct_altivec.c:642: warning: implicit declaration of function `vec_splat_s16'
idct_altivec.c:642: error: `shift' undeclared (first use in this function)
idct_altivec.c:642: warning: implicit declaration of function `vec_splat_u16'
idct_altivec.c:642: error: `vx0' undeclared (first use in this function)
idct_altivec.c:642: warning: implicit declaration of function `vec_mradds'
idct_altivec.c:642: warning: implicit declaration of function `vec_sl'
idct_altivec.c:642: error: `block' undeclared (first use in this function)
idct_altivec.c:642: error: `vx1' undeclared (first use in this function)
idct_altivec.c:642: error: `vx2' undeclared (first use in this function)
idct_altivec.c:642: error: `vx3' undeclared (first use in this function)
idct_altivec.c:642: error: `vx4' undeclared (first use in this function)
idct_altivec.c:642: error: `vx5' undeclared (first use in this function)
idct_altivec.c:642: error: `vx6' undeclared (first use in this function)
idct_altivec.c:642: error: `vx7' undeclared (first use in this function)
idct_altivec.c:642: error: `t1' undeclared (first use in this function)
idct_altivec.c:642: error: `t8' undeclared (first use in this function)
idct_altivec.c:642: warning: implicit declaration of function `vec_subs'
idct_altivec.c:642: error: `t7' undeclared (first use in this function)
idct_altivec.c:642: error: `t3' undeclared (first use in this function)
idct_altivec.c:642: error: `t5' undeclared (first use in this function)
idct_altivec.c:642: warning: implicit declaration of function `vec_adds'
idct_altivec.c:642: error: `t0' undeclared (first use in this function)
idct_altivec.c:642: error: `t2' undeclared (first use in this function)
idct_altivec.c:642: error: `t4' undeclared (first use in this function)
idct_altivec.c:642: error: `t6' undeclared (first use in this function)
idct_altivec.c:642: error: `vy0' undeclared (first use in this function)
idct_altivec.c:642: error: `vy7' undeclared (first use in this function)
idct_altivec.c:642: error: `vy1' undeclared (first use in this function)
idct_altivec.c:642: error: `vy6' undeclared (first use in this function)
idct_altivec.c:642: error: `vy2' undeclared (first use in this function)
idct_altivec.c:642: error: `vy5' undeclared (first use in this function)
idct_altivec.c:642: error: `vy3' undeclared (first use in this function)
idct_altivec.c:642: error: `vy4' undeclared (first use in this function)
idct_altivec.c:642: warning: implicit declaration of function `vec_mergeh'
idct_altivec.c:642: warning: implicit declaration of function `vec_mergel'
idct_altivec.c:642: warning: implicit declaration of function `vec_sra'
idct_altivec.c:649: error: `tmp' undeclared (first use in this function)
idct_altivec.c:649: warning: implicit declaration of function `vec_packsu'
idct_altivec.c:649: warning: implicit declaration of function `vec_ste'
idct_altivec.c:649: error: syntax error before "unsigned"
idct_altivec.c:649: error: syntax error before "unsigned"
idct_altivec.c:649: error: `dest' undeclared (first use in this function)
idct_altivec.c:649: error: `stride' undeclared (first use in this function)
idct_altivec.c:650: error: syntax error before "unsigned"
idct_altivec.c:650: error: syntax error before "unsigned"
idct_altivec.c:651: error: syntax error before "unsigned"
idct_altivec.c:651: error: syntax error before "unsigned"
idct_altivec.c:652: error: syntax error before "unsigned"
idct_altivec.c:652: error: syntax error before "unsigned"
idct_altivec.c:653: error: syntax error before "unsigned"
idct_altivec.c:653: error: syntax error before "unsigned"
idct_altivec.c:654: error: syntax error before "unsigned"
idct_altivec.c:654: error: syntax error before "unsigned"
idct_altivec.c:655: error: syntax error before "unsigned"
idct_altivec.c:655: error: syntax error before "unsigned"
idct_altivec.c:656: error: syntax error before "unsigned"
idct_altivec.c:656: error: syntax error before "unsigned"
idct_altivec.c:657: warning: implicit declaration of function `memset'
idct_altivec.c: At top level:
idct_altivec.c:660: error: syntax error before "signed"
idct_altivec.c:662: warning: no previous prototype for `mpeg2_idct_add_altivec'
idct_altivec.c: In function `mpeg2_idct_add_altivec':
idct_altivec.c:663: error: `vector' undeclared (first use in this function)
idct_altivec.c:663: error: syntax error before "unsigned"
idct_altivec.c:669: error: `c4' undeclared (first use in this function)
idct_altivec.c:669: error: `a0' undeclared (first use in this function)
idct_altivec.c:669: error: `a1' undeclared (first use in this function)
idct_altivec.c:669: error: `a2' undeclared (first use in this function)
idct_altivec.c:669: error: `mc4' undeclared (first use in this function)
idct_altivec.c:669: error: `ma2' undeclared (first use in this function)
idct_altivec.c:669: error: `bias' undeclared (first use in this function)
idct_altivec.c:669: error: syntax error before "signed"
idct_altivec.c:669: error: `zero' undeclared (first use in this function)
idct_altivec.c:669: error: `shift' undeclared (first use in this function)
idct_altivec.c:669: error: `vx0' undeclared (first use in this function)
idct_altivec.c:669: error: `block' undeclared (first use in this function)
idct_altivec.c:669: error: `vx1' undeclared (first use in this function)
idct_altivec.c:669: error: `vx2' undeclared (first use in this function)
idct_altivec.c:669: error: `vx3' undeclared (first use in this function)
idct_altivec.c:669: error: `vx4' undeclared (first use in this function)
idct_altivec.c:669: error: `vx5' undeclared (first use in this function)
idct_altivec.c:669: error: `vx6' undeclared (first use in this function)
idct_altivec.c:669: error: `vx7' undeclared (first use in this function)
idct_altivec.c:669: error: `t1' undeclared (first use in this function)
idct_altivec.c:669: error: `t8' undeclared (first use in this function)
idct_altivec.c:669: error: `t7' undeclared (first use in this function)
idct_altivec.c:669: error: `t3' undeclared (first use in this function)
idct_altivec.c:669: error: `t5' undeclared (first use in this function)
idct_altivec.c:669: error: `t0' undeclared (first use in this function)
idct_altivec.c:669: error: `t2' undeclared (first use in this function)
idct_altivec.c:669: error: `t4' undeclared (first use in this function)
idct_altivec.c:669: error: `t6' undeclared (first use in this function)
idct_altivec.c:669: error: `vy0' undeclared (first use in this function)
idct_altivec.c:669: error: `vy7' undeclared (first use in this function)
idct_altivec.c:669: error: `vy1' undeclared (first use in this function)
idct_altivec.c:669: error: `vy6' undeclared (first use in this function)
idct_altivec.c:669: error: `vy2' undeclared (first use in this function)
idct_altivec.c:669: error: `vy5' undeclared (first use in this function)
idct_altivec.c:669: error: `vy3' undeclared (first use in this function)
idct_altivec.c:669: error: `vy4' undeclared (first use in this function)
idct_altivec.c:671: error: `p0' undeclared (first use in this function)
idct_altivec.c:671: warning: implicit declaration of function `vec_lvsl'
idct_altivec.c:671: error: `dest' undeclared (first use in this function)
idct_altivec.c:672: error: `p1' undeclared (first use in this function)
idct_altivec.c:672: error: `stride' undeclared (first use in this function)
idct_altivec.c:673: error: `p' undeclared (first use in this function)
idct_altivec.c:673: warning: implicit declaration of function `vec_splat_u8'
idct_altivec.c:674: error: `perm0' undeclared (first use in this function)
idct_altivec.c:675: error: `perm1' undeclared (first use in this function)
idct_altivec.c:686: error: `tmp' undeclared (first use in this function)
idct_altivec.c:686: warning: implicit declaration of function `vec_ld'
idct_altivec.c:686: error: `tmp2' undeclared (first use in this function)
idct_altivec.c:686: error: syntax error before "signed"
idct_altivec.c:686: error: `tmp3' undeclared (first use in this function)
idct_altivec.c:686: error: syntax error before "unsigned"
idct_altivec.c:686: error: syntax error before "unsigned"
idct_altivec.c:687: error: syntax error before "signed"
idct_altivec.c:687: error: syntax error before "unsigned"
idct_altivec.c:687: error: syntax error before "unsigned"
idct_altivec.c:688: error: syntax error before "signed"
idct_altivec.c:688: error: syntax error before "unsigned"
idct_altivec.c:688: error: syntax error before "unsigned"
idct_altivec.c:689: error: syntax error before "signed"
idct_altivec.c:689: error: syntax error before "unsigned"
idct_altivec.c:689: error: syntax error before "unsigned"
idct_altivec.c:690: error: syntax error before "signed"
idct_altivec.c:690: error: syntax error before "unsigned"
idct_altivec.c:690: error: syntax error before "unsigned"
idct_altivec.c:691: error: syntax error before "signed"
idct_altivec.c:691: error: syntax error before "unsigned"
idct_altivec.c:691: error: syntax error before "unsigned"
idct_altivec.c:692: error: syntax error before "signed"
idct_altivec.c:692: error: syntax error before "unsigned"
idct_altivec.c:692: error: syntax error before "unsigned"
idct_altivec.c:693: error: syntax error before "signed"
idct_altivec.c:693: error: syntax error before "unsigned"
idct_altivec.c:693: error: syntax error before "unsigned"
make[3]: *** [idct_altivec.lo] Error 1
make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b/src/libmpeg2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b'
make: *** [all] Error 2

!!! ERROR: media-libs/xine-lib-1_rc3-r2 failed.
!!! Function src_compile, Line 105, Exitcode 2
!!! Parallel make failed

Expected Results:

>>> Regenerating /etc/ld.so.cache...
 * Caching service dependencies...
>>> media-libs/xine-lib-1_rc3-r2 merged.


emerge info output:

americana root # emerge info
Portage 2.0.50-r2 (default-ppc-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.3-benh2)
=================================================================
System uname: 2.6.3-benh2 ppc 7455, altivec supported
Gentoo Base System version 1.4.3.13p1
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.2
ACCEPT_KEYWORDS="ppc ~ppc"
AUTOCLEAN="yes"
CFLAGS="-O2 -pipe -mcpu=7450 -maltivec -mabi=altivec -mtune=7450"
CHOST="powerpc-unknown-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/lib/pbbuttonsd /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -pipe -mcpu=7450 -maltivec -mabi=altivec -mtune=7450"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache fixpackages"
GENTOO_MIRRORS="http://ftp.caliu.info/pub/gentoo http://gentoo.oregonstate.edu http://www.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://192.168.232.1/portage"
USE="X aalib alsa altivec arts berkdb cdr crypt cscope cups dga dvd encode fbcon flash foomaticdb gd gdbm gif gphoto2 gpm gtk gtk2 imagemagick imap imlib innodb ipv6 java javascript joystick jpeg kde lame lcms libwww mad maildir mitshm motif mpeg ncurses net nls oggvorbis opengl oss pam perl png ppc python qt qtmt radeon readline ruby samba sdl slang socks5 spell ssl tcpd tetex tiff truetype usb vim-with-x xml xml2 xv xvid zlib linguas_es"


Observations:

The error said:

!!! Parallel make failed

So, perhaps MAKEOPTS=-j1 emerge xine-lib do the trick, but i can't test it ATM.
Comment 1 Martin Holzer (RETIRED) gentoo-dev 2004-03-30 12:11:59 UTC
*** Bug 46272 has been marked as a duplicate of this bug. ***
Comment 2 Frank Hollenbach 2004-03-30 14:25:48 UTC
MAKEOPTS=-j1 emerge xine-lib does not do the trick

I tried it : MAKEOPTS=-j1 emerge xine-lib

something wrong with it ?

and I got the some error again

dct_altivec.c:692: error: syntax error before "signed"
idct_altivec.c:692: error: syntax error before "unsigned"
idct_altivec.c:692: error: syntax error before "unsigned"
idct_altivec.c:693: error: syntax error before "signed"
idct_altivec.c:693: error: syntax error before "unsigned"
idct_altivec.c:693: error: syntax error before "unsigned"
make[3]: *** [idct_altivec.lo] Fehler 1
make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b/src/libmpeg2'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b'
make: *** [all] Fehler 2

!!! ERROR: media-libs/xine-lib-1_rc3-r2 failed.
!!! Function src_compile, Line 105, Exitcode 2
!!! Parallel make failed

and i saw at the ebuild file :
....
econf \
        `use_enable X x11` \
        `use_enable esd` \
        `use_enable nls` \
        `use_enable alsa` \
        `use_enable arts` \
        `use_enable aalib` \
        `use_enable oggvorbis ogg` `use_enable oggvorbis vorbis` \
        `use_enable sdl sdltest` \
        `use_enable ipv6` \
        `use_enable directfb` \
        ${myconf} || die "Configure failed"

    emake -j1 || die "Parallel make failed"
...

so i guess, its just running "once".

the next try, just running now, is I delete the altivec things in the ebuild,
because, if i remember right, xine will do it by itself to determine what is avaible or not.
krgds,
Frank
Comment 3 Martin Holzer (RETIRED) gentoo-dev 2004-04-30 02:47:05 UTC
does rc3-r3 or rc4 work for you ?
Comment 4 Alberto Garcia Hierro (Skyhusker) 2004-04-30 06:33:17 UTC
No, rc4 fails in the same place. rc3 fails as well. By the way, am I the only experiencing this issue?
Comment 5 Alberto Garcia Hierro (Skyhusker) 2004-05-04 17:14:30 UTC
After some testing, i realized that the problem was caused by -mcpu=7450. The best soution would be provide a patch for the xine-lib sources, but I can't do it. A temporal solution maybe a patch (I provide it) for the ebuild for replacing -mcpu=7450 for -mtune=7450, which works well.
Comment 6 Alberto Garcia Hierro (Skyhusker) 2004-05-04 17:16:40 UTC
Created attachment 30754 [details, diff]
fix-mtune7450-cflags.diff
Comment 7 dario 2004-06-14 03:22:47 UTC
from man gcc:

       -mtune=cpu_type
           Set the instruction scheduling parameters for machine type cpu_type,            
           but do not set the instruction set or register set that
           the option -mcpu=cpu_type would.

           The same values for -mcpu=cpu_type can be used for -mtune=cpu_type,
           but the only useful values are those that select a par-
           ticular cpu implementation.  Those are cypress, supersparc,
           hypersparc, f930, f934, sparclite86x, tsc701, ultrasparc, and
           ultrasparc3.


So the flag mcpu can be directly deleted, mtune won't optimize code.
Comment 8 Luca Barbato gentoo-dev 2004-06-14 08:46:57 UTC
The real solution is fix the libmpeg2 implementation xine people uses, that was reported long time ago and I think at least twice.

Dario: Read better the gcc man you are reporting the sparc section not the ppc one.
That is the correct one:

  -mtune=cpu_type
           Set the instruction scheduling parameters for machine type
           cpu_type, but do not set the architecture type, register
           usage, or choice of mnemonics, as -mcpu=cpu_type would.  The
           same values for cpu_type are used for -mtune as for -mcpu.
           If both are specified, the code generated will use the archi-
           tecture, registers, and mnemonics set by -mcpu, but the
           scheduling parameters set by -mtune.
Comment 9 SpanKY gentoo-dev 2004-06-23 07:44:31 UTC
*** Bug 51927 has been marked as a duplicate of this bug. ***
Comment 10 Michael Hanselmann (hansmi) (RETIRED) gentoo-dev 2004-06-23 15:08:13 UTC
It's a bug in the configure.ac-file of xine-lib. And additionally, a small bug in src/libmpeg2/*_altivec.c. I am working on a patch.
Comment 11 Michael Hanselmann (hansmi) (RETIRED) gentoo-dev 2004-06-24 04:01:57 UTC
Look also at bug 54913.
Comment 12 Jonathan Hudson 2004-06-27 13:19:12 UTC
This bug also occurs for xine-lib-1-rc5/src/libmpeg2/idct_altivec.c.
The change between rc4a and rc5 causing this is:

diff xine-lib-1-rc4a/src/libmpeg2/idct_altivec.c   xine-lib-1-rc5/src/libmpeg2/idct_altivec.c
28c28
< #ifdef ARCH_PPC
---
> #if defined (ARCH_PPC) && defined (ENABLE_ALTIVEC)
Comment 13 Michael Hanselmann (hansmi) (RETIRED) gentoo-dev 2004-06-29 15:50:01 UTC
Jonathan:
Fix for rc5-r2 is in the CVS and will show up on the mirrors in a few hours.

Otherwise look at Bug 55460.