| Summary: | xine-lib-1_rc3-r2 fail to build on ppc | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Alberto Garcia Hierro (Skyhusker) <tcpdevil> |
| Component: | Current packages | Assignee: | PPC Porters <ppc> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | chriswhite, Frank, hansmi, mholzer |
| Priority: | High | ||
| Version: | 2004.0 | ||
| Hardware: | PPC | ||
| OS: | All | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Bug Depends on: | 32118, 54913 | ||
| Bug Blocks: | |||
| Attachments: | fix-mtune7450-cflags.diff | ||
|
Description
Alberto Garcia Hierro (Skyhusker)
2004-03-22 07:19:46 UTC
*** Bug 46272 has been marked as a duplicate of this bug. *** 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
does rc3-r3 or rc4 work for you ? No, rc4 fails in the same place. rc3 fails as well. By the way, am I the only experiencing this issue? 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. Created attachment 30754 [details, diff]
fix-mtune7450-cflags.diff
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.
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.
*** Bug 51927 has been marked as a duplicate of this bug. *** 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. Look also at bug 54913. 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)
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. |