Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 290883 - media-libs/glew-1.5.1 fails to build with undefined reference from libICE
Summary: media-libs/glew-1.5.1 fails to build with undefined reference from libICE
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: PPC Porters
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-28 14:04 UTC by Mike Hammill
Modified: 2010-01-08 09:26 UTC (History)
1 user (show)

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


Attachments
log of most recent attempt with glew on ppc32 (glew_buildlog,4.06 KB, text/plain)
2009-10-28 14:08 UTC, Mike Hammill
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Hammill 2009-10-28 14:04:00 UTC
Now problem building glew on x86, but on ppc32, building bombs on undefined references from libICE.



Reproducible: Always

Steps to Reproduce:
1. emerge -vauDN world brings in new package glew
2. glew fails on undefined references in libICE


Actual Results:  
>>> Compiling source in /var/tmp/portage/media-libs/glew-1.5.1/work/glew ...
make -j16 STRIP=true 'LD=powerpc-unknown-linux-gnu-gcc -Wl,-O1' CC=powerpc-unknown-linux-gnu-gcc 'POPT=-mcpu=7450 -O2 -pipe -maltivec -mabi=altivec' M_ARCH= AR=powerpc-unknown-linux-gnu-ar 
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -Wall -W -Iinclude  -fPIC  -o src/glew.pic_o -c src/glew.c
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -Wall -W -Iinclude   -o src/glew.o -c src/glew.c
powerpc-unknown-linux-gnu-ar cr lib/libGLEW.a src/glew.o
powerpc-unknown-linux-gnu-gcc -Wl,-O1 -shared -Wl,-soname=libGLEW.so.1.5 -o lib/libGLEW.so.1.5.1 src/glew.pic_o -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext -lX11 
ln -sf libGLEW.so.1.5.1 lib/libGLEW.so.1.5
ln -sf libGLEW.so.1.5.1 lib/libGLEW.so
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -Wall -W -Iinclude  -Wl,-O1 -o bin/glewinfo src/glewinfo.c -Llib -Wl,-Bdynamic -lGLEW -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext 
-lX11
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -Wall -W -Iinclude  -Wl,-O1 -o bin/visualinfo src/visualinfo.c -Llib -Wl,-Bdynamic -lGLEW -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lX
ext -lX11
/usr/lib/libICE.so.6: undefined reference to `_IceTransWrite'
/usr/lib/libICE.so.6: undefined reference to `_IceTransClose'
/usr/lib/libICE.so.6: undefined reference to `_IceTransAccept'
/usr/lib/libICE.so.6: undefined reference to `_IceTransGetConnectionNumber'
/usr/lib/libICE.so.6: undefined reference to `_IceTransSetOption'
/usr/lib/libICE.so.6: undefined reference to `_IceTransGetPeerNetworkId'
/usr/lib/libICE.so.6: undefined reference to `_IceTransGetMyNetworkId'
/usr/lib/libICE.so.6: undefined reference to `_IceTransOpenCOTSClient'
/usr/lib/libICE.so.6: undefined reference to `_IceTransConnect'
/usr/lib/libICE.so.6: undefined reference to `_IceTransIsLocal'
/usr/lib/libICE.so.6: undefined reference to `_IceTransRead'
/usr/lib/libICE.so.6: undefined reference to `_IceTransMakeAllCOTSServerListeners'
collect2: ld returned 1 exit status


Expected Results:  
compiled glew

I *believe* I have tried this with no DISTCC and no CCACHE on both mcpu=7450 and 7400 with same results.  I believe I have tried both x11-libs/libICE-1.0.5 (stable) and 1.0.6 (unstable) with same results.  Here is emerge --info from most recent attempt.  Yes, distcc is on there.

# emerge --info media-libs/glew
Portage 2.1.6.13 (default/linux/powerpc/ppc32/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.31-gentoo-r3 ppc)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.31-gentoo-r3-ppc-7450,_altivec_supported-with-gentoo-2.0.1
Timestamp of tree: Wed, 28 Oct 2009 00:20:01 +0000
distcc 3.1 powerpc-unknown-linux-gnu [enabled]
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p28
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2-r1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.6.3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="ppc"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-mcpu=7450 -O2 -pipe -maltivec -mabi=altivec"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-mcpu=7450 -O2 -pipe -maltivec -mabi=altivec"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg distcc distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.ds.karen.hj.se/gentoo/ http://ftp.ing.umu.se/linux/gentoo/ http://ftp.linux.ee/pub/gentoo/distfiles/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="en_US en_GB sv_SE sv"
MAKEOPTS="-j16"
PKGDIR="/var/pkg"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://giddy.michael.hammill.name/gentoo-portage"
USE="X a52 aac acl alsa altivec avahi bash-completion berkdb bluetooth branding bzip2 cairo cdr cli consolekit cracklib crypt cups curl dbus dri dts dvd dvdr dvi dvi2tty dvipdfm emacs emboss encode escreen evo expat extra faac faad fam ffmpeg firefox flac fortran gdbm gif gnutls gpm graphics graphviz gs gstreamer gtk gtk2 gtkhtml hal humanities iconv ieee1394 imlib ipv6 isdnlog jai java jpeg jython kerberos keyring kpathsea latex latex3 ldap libcaca libnotify live mad mailwrapper mdnsresponder-compat mikmod modules mp3 mp4 mpeg mudflap nagios-ssh ncurses network network-cron nls nntp no-old-linux nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png ppc ppds pppd pulseaudio pymacs python qt3support quicktime readline reflection ruby science sdl session sound spell spl ssl startup-notification svg sysfs tcpd templates tex4ht theora threads thunar tiff truetype unicode usb vcd vorbis wmf x264 xanim xcb xinerana xml xorg xulrunner xv xvid zlib" ALSA_CARDS="powermac" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US en_GB sv_SE sv" USERLAND="GNU" VIDEO_CARDS="r128 radeon fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Mike Hammill 2009-10-28 14:08:49 UTC
Created attachment 208520 [details]
log of most recent attempt with glew on ppc32

I meant to write in the original bug "No problem building glew on x86" not "Now problem..."
Comment 2 Joe Jezak (RETIRED) gentoo-dev 2010-01-06 14:12:08 UTC
Works fine for me. Why do you have the parallel make set to 16 processes? It's usually # of CPUs + 1 or similar. I'm wondering if maybe you're finding a make race condition? In any case, if you can still reproduce it with a smaller # for parallel make, feel free to reopen the bug. 
Comment 3 Mike Hammill 2010-01-08 09:26:14 UTC
(In reply to comment #2)
It's at 16 because I have that many processors working on my distcc "farm".  I'm not absolutely sure (cause I just didn't have time to drive the question down to that point), but *possibly* using distcc with libICE is a problem.  I have worked around it by turning off ccache, distcc, and setting -j1, but I did it for more than one package at the time, so I cannot say for certain libICE is *the* one that doesn't like distcc.  By the way, I am using the newer "pump" mode with distcc.

If I run into this again (likely with the next xorg-server), and I can get it down to the point you suggested, I'll re-open the bug as you suggested.  Until then, it works for me too (on the condition I don't use ccache, distcc, -j > 1).

Thanks for responding.