Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 110960 - gxine-0.5.0 cann't compile on ppc64
Summary: gxine-0.5.0 cann't compile on ppc64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC64 Linux
: High normal (vote)
Assignee: ppc64 architecture team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-30 18:58 UTC by Yang Dehua
Modified: 2006-04-25 17:33 UTC (History)
2 users (show)

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


Attachments
config.log of gxine compilation (config.log,51.43 KB, text/plain)
2005-11-14 16:53 UTC, Yang Dehua
Details
File name is 'conftest.c' (conftest-gxine.c,80 bytes, text/plain)
2005-12-29 05:52 UTC, Yuta SATOH (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yang Dehua 2005-10-30 18:58:37 UTC
I tried to emerge gxine-0.5.0 on my gentoo ppc64 linux, but failed with in configure stage:  
checking for GLIB2... yes  
  found version 2.8.3  
checking for GTK2... yes  
  found version 2.6.8  
checking for GTHREAD2... yes  
  found version 2.8.3  
checking whether glib uses the system malloc by default... configure: error: failed to run test  
See `config.log' for more details.  
 
I emerged gxine-0.4.8 successfully but not anymore since gxine-0.4.9 version. 
emerge info of my system: 
Gentoo Base System version 1.6.13 
Portage 2.0.51.22-r3 (default-linux/ppc/2005.1/ppc64/multilib, gcc-3.4.4, glibc-2.3.5-r2, 
2.6.14-ck1 ppc64) 
================================================================= 
System uname: 2.6.14-ck1 ppc64 PPC970, altivec supported 
ccache version 2.3 [disabled] 
dev-lang/python:     2.3.5-r2, 2.4.1-r1 
sys-apps/sandbox:    1.2.12 
sys-devel/autoconf:  2.13, 2.59-r6 
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.18-r1 
virtual/os-headers:  2.6.11-r2 
ACCEPT_KEYWORDS="ppc64" 
AUTOCLEAN="yes" 
CBUILD="powerpc64-unknown-linux-gnu" 
CFLAGS="-O3 -mcpu=G5 -mtune=970 -maltivec -mabi=altivec -mpowerpc64 -mpowerpc-gpopt 
-fsigned-char -pipe" 
CHOST="powerpc64-unknown-linux-gnu" 
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /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/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" 
CXXFLAGS="-O3 -mcpu=G5 -mtune=970 -maltivec -mabi=altivec -mpowerpc64 
-mpowerpc-gpopt -fsigned-char -pipe" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoconfig distlocks sandbox sfperms strict" 
GENTOO_MIRRORS="http://mirror.averse.net/pub/gentoo http://mirror.gentoo.gr.jp 
http://mymirror.asiaosc.org/gentoo/" 
LANG="en_US.UTF-8" 
LINGUAS="zh_CN en" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
USE="ppc64 X aac aalib alsa altivec arts aspell berkdb bitmap-fonts cdr cjk crypt cups curl dba 
dvd dvdnav eds encode esd faac faad2 fam fb ffmpeg flac foomaticdb fortran gd gd-external 
gdbm gif gimpprint gnome gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java jpeg 
ldap libwww mad motif mozilla mp3 mpeg mysql nas ncurses nls nptl nptlonly ogg opengl oss 
pam perl png python qt readline samba sdl slang spell ssl svg tcpd tetex theora tiff truetype 
truetype-fonts type1-fonts udev unicode v4l vidix vorbis xanim xine xml xml2 xmms xv xvmc 
zlib linguas_zh_CN linguas_en userland_GNU kernel_linux elibc_glibc" 
Unset:  ASFLAGS, CTARGET, LC_ALL, LDFLAGS, MAKEOPTS, PORTDIR_OVERLAY
Comment 1 Brent Baude (RETIRED) gentoo-dev 2005-10-31 13:36:30 UTC
I was able to get gxine-0.5.0 to emerge with glib-2.8.3.  Here's my emerge --info

emerge --info 
Portage 2.0.51.22-r3 (default-linux/ppc/2005.1/ppc64/64bit-userland, gcc-3.4.4,
glibc-2.3.4.20041102-r1, 2.6.12.5 ppc64)
=================================================================
System uname: 2.6.12.5 ppc64 POWER5 (gs)
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5, 2.4.1-r1
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
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.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="ppc64"
AUTOCLEAN="yes"
CBUILD="powerpc64-unknown-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="powerpc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /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 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="ppc64 X berkdb bitmap-fonts cups curl emboss esd fam fortran gd gif gpm gtk
ibm imagemagick imlib ipv6 jpeg libwww ncurses nls nptl opengl pam perl png
postgres python qt readline ssl tcpd tiff truetype truetype-fonts type1-fonts
udev unicode xine xml2 xv zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 2 Yuta SATOH (RETIRED) gentoo-dev 2005-11-14 05:54:05 UTC
Yang,
Would you attach config.log ?
Probably config.log is in /var/tmp/portage/gxine-0.5.0/work/gxine-0.5.0 . 
Comment 3 Yang Dehua 2005-11-14 16:53:55 UTC
Created attachment 72919 [details]
config.log of gxine compilation

Yes, here it is.
Comment 4 Yang Dehua 2005-11-14 17:15:21 UTC
Yuta,
I tried your multilib support files on my system(I found them by following ppc64 
wiki): opera worked well without a problem, but firefox crashed when I browsed 
some websites with cjk fonts, especially forums. The same occured for epiphany, 
which I think may have something to do with mozilla rendering engine or xorg-x11 
rendering functions. I use xorg-x11-6.8.99.15-r4(this version wroks, could it be 
marked test?). Here is the message:

The program 'firefox-bin' received an X Window System error.
This probably reflects a bug in the program.
The error was 'RenderBadGlyphSet (invalid GlyphSet parameter)'.
  (Details: serial 19896 error_code 184 request_code 155 minor_code 24)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
firefox-bin exited with non-zero status (1)
 
Comment 5 Yuta SATOH (RETIRED) gentoo-dev 2005-11-27 06:47:47 UTC
Yang,
Sorry, I have not reproduced the problem about your gxine yet...
I reply to comment #4 previously.

I found that it is avoidable by using windowmaker or twm for the moment.
And, this problem already exists on Bugzilla.
Please check Bug #98958 and Bug #112355 .
Comment 6 Yang Dehua 2005-12-25 02:12:51 UTC
Yuta,
Could you post your emerge info? I tried gxine-0.5.1 to 0.5.3, but none of them could be configured properly. The same error persisted.
Thank you.
Comment 7 Yuta SATOH (RETIRED) gentoo-dev 2005-12-29 02:11:48 UTC
Yang,
sure. here is my emerge info.

Portage 2.0.51.22-r3 (default-linux/ppc/2005.1/ppc64/multilib, gcc-3.4.4, glibc-2.3.4.20041102-r2, 2.6.14-gentoo-r3 ppc64)
=================================================================
System uname: 2.6.14-gentoo-r3 ppc64 PPC970, altivec supported
Gentoo Base System version 1.6.14
powerpc64-unknown-linux-gnu-gcc (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8) [disabled]
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
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="ppc64"
AUTOCLEAN="yes"
CBUILD="powerpc64-unknown-linux-gnu"
CFLAGS="-O2 -mtune=970 -maltivec -mabi=altivec -pipe -fomit-frame-pointer"
CHOST="powerpc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/X11/xkb /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/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mtune=970 -maltivec -mabi=altivec -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig cvs digest distlocks noclean sandbox sfperms"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages/ppc64"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage.cross"
SYNC="rsync://rsync4.jp.gentoo.org/gentoo-portage"
USE="ppc64 X Xaw3d a52 aac aalib acl alsa altivec apache2 arts audiofile berkdb bitmap-fonts bmp bzip2 cdparanoia cdr cjk crypt cscope cups curl dga dvd dvdr eds emacs encode esd estraier exif expat fam fbcon ffmpeg firefox flac flash font-server foomaticdb fortran gd gdbm gif glut gnome gphoto2 gpm gstreamer gtk gtk2 iconv icq idn imagemagick imap imlib immqt insecure-drivers java javascript joystick jpeg kde lcms ldap libwww linguas_ja m17n-lib mad maildir matroska migemo mime ming mng mozilla mp3 mpeg msn ncurses nls nptl ogg oggvorbis opengl oss pam pcre perl php png postgres python qt readline samba scanner sdl slang snmp sox spell ssl tcltk tcpd tetex theora thumbnail tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis xine xinerama xml xml2 xmms xv xvid yahoo zlib video_cards_radeon userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS

Comment 8 Yuta SATOH (RETIRED) gentoo-dev 2005-12-29 05:47:38 UTC
Taken from your config.log

configure:24900: checking whether glib uses the system malloc by default
configure:24918: gcc -o conftest  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include    -Wl,--as-needed  conftest.c  -L/usr/lib64 -lglib-2.0   >&5
configure:24921: $? = 0
configure:24923: ./conftest
Inconsistency detected by ld.so: dl-version.c: 230: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed!
configure:24926: $? = 127
configure: program exited with status 127
configure: failed program was:
| 
| #include <glib.h>
| int main ()
| {
|   return g_mem_is_system_malloc () ? 0 : 'n';
| }
| 
configure:24937: error: failed to run test

ummm.....
The same program is performed by gxine-0.4.5.
However, the test of gxine-0.5.0 cannot be passed in your environment. 
I have noticed the argument of a compiler being different in configure script of gxine-0.4.5 and gxine-0.5.3. 
Would you try attached program and tell me result ?

1. Download attached program source.
2. gcc -o conftest -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include conftest.c -lglib-2.0
3. ./conftest ; echo $?
4. gcc -o conftest -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wl,--as-needed conftest.c -L/usr/lib64 -lglib-2.0
5. ./conftest ; echo $?

Please tell me the result of 2 times of ./conftest .
Thanks in advance.
Comment 9 Yuta SATOH (RETIRED) gentoo-dev 2005-12-29 05:52:01 UTC
Created attachment 75717 [details]
File name is 'conftest.c'

Taken from gxine's configure script
Comment 10 Yang Dehua 2005-12-29 06:17:56 UTC
Yuta,
The result is zero, for each of them:
dehua@localhost ~/MyDownloads $ gcc -o conftest -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include conftest.c -lglib-2.0
dehua@localhost ~/MyDownloads $ ./conftest; echo $?
 0
dehua@localhost ~/MyDownloads $ gcc -o conftest -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -WI,--as-needed conftest.c -L/usr/lib64 -lglib-2.0
dehua@localhost ~/MyDownloads $ ./conftest; echo $?
 0

Thanks.
Comment 11 Yuta SATOH (RETIRED) gentoo-dev 2005-12-29 07:28:51 UTC
Yang,
Thanks for your information!

It is strange that a problem does not occur. 
Step 4 and 5 on comment #8 are doing the same thing as the configure script of gxine-0.5.3...

When it compiles without using emerge, what happens to a result ?

1. tar xjpf /usr/portage/distfiles/gxine-0.5.3.tar.bz2
2. cd gxine-0.5.3
3. ./configure
4. make (If configure script is successful)

Thanks.
Comment 12 Yang Dehua 2005-12-29 15:58:26 UTC
Well, it failed with the same errors as emerge:

checking for IceConnectionNumber in -lICE... yes
checking whether to build the Mozilla plugin... yes
checking for X11/Xaw/Form.h... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GLIB2... yes
  found version 2.8.4
checking for GTK2... yes
  found version 2.6.10
checking for GTHREAD2... yes
  found version 2.8.4
checking whether glib uses the system malloc by default... configure: error: failed to run test
See `config.log' for more details.
yang02@localhost ~/gxine-0.5.3 

I tried gxine-0.4.8 again, it had no problem.
Thanks.

Comment 13 Yuta SATOH (RETIRED) gentoo-dev 2005-12-31 08:32:11 UTC
Yang,
ummm...
Sorry, I don't know the cause of this problem now...

I have the idea which is not so good.
This idea takes time very much and is very dangerous...

I have noticed two points from your comment.

* glibc version is 2.3.5-r2.
The stable version is 2.3.4.20041102-r1 on PPC64 (64bit-userland). 
On the multilib environment, I think that 2.3.4.20041102-r2 is stable. 
(-r2 version adds multilib support to -r1 version)

* Optimization level is -O3.
On PPC64, -O3 is experimental and may have a certain problem (Compile fails, Compile passed but cannot run etc...) in some packages.

So, please downgrade to glibc-2.3.4.20041102-r2, and perform `emerge -e world` using safe CFLAGS/CXXFLAGS. 
Probably, you will be able to get the same environment as me. 

The example of work 
1. echo '>sys-libs/glibc-2.3.4.20041102-r2' >> /etc/portage/package.mask
2. nano -w /etc/make.conf (Change CFLAGS)
3. emerge -e system
4. emerge -e world

[NOTE]
Downgrade of glibc is *very* dangerous.
Please be sure to back up important your data. 

[SAFE CFLAGS/CXXFLAGS]
"-O2 -pipe" is very safe.
"-O2 -pipe -mtune=970 -mcpu=970 -mabi=altivec" is safe on G5.
Comment 14 Yang Dehua 2005-12-31 23:01:11 UTC
Yuta,
Thank you for your suggestions. I cleaned some nastes of symbilic links in ld.so indicated by ldconfig and something else I've forgotten, then I tried conftest.c you gave me again. The ./conftest failed with the same messages as in config.log when "Wl,--as-needed" option was used. So I excluded the option "Wl,--as-needed" and emerged gxine-0.5.3 manually. It worked fine. It seems clear that "Wl,--as-needed" in CFLAGS doesn't work in my system.
Thank you very much for your great help.
Comment 15 Yang Dehua 2006-01-01 00:09:21 UTC
I looked at the configure file and found that it seemed "Wl,--as-needed" option wasn't actually tested:
20493  echo "$as_me:$LINENO: \$? = $ac_status" >&5
20494  (exit $ac_status); }; } &&
20495	 { ac_try='test -s conftest$ac_exeext'
20496  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
20497  (eval $ac_try) 2>&5
20498  ac_status=$?
20499  echo "$as_me:$LINENO: \$? = $ac_status" >&5
20500  (exit $ac_status); }; }; then
20501  ac_cv_ld_asneeded=yes
20502  else
I think line 20495 should be
20495	 { ac_try='./conftest$ac_exeext'
to test if the conftest can be executed. 
Comment 16 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-01-29 11:10:45 UTC
Hmm I see a -liconv in LTLIBICONV variable from config.log, have you dev-libs/libiconv installed ?
Comment 17 Yang Dehua 2006-01-29 18:05:44 UTC
No, I haven't. Should I?
Comment 18 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-01-29 19:23:18 UTC
No it shouldn't be installed on glibc sysems, I'm wondering if the configure is doing something silly.
Comment 19 Yang Dehua 2006-04-25 17:33:14 UTC
Well, the problem is that the binutils-2.15.* doesn't support AS_NEEDED, and there is no issue after I've upgraded it to 2.16.1.
Thank you all.