uclibc does not have nether sin(float) nor cos(float) used by glxgears in all ebuild versions of xorg-x11. Patch to fix this incompatibility supplied and should be applied to all ebuilds. Reproducible: Always Steps to Reproduce: 1. 2. 3. Actual Results: emerge xorg-x11: ...... make[4]: Entering directory `/var/tmp/portage/xorg-x11-6.8.0-r3/work/xc/ programs/glxgears' i586-pc-linux-uclibc-gcc -march=pentium-mmx -O2 -pipe -fomit-frame-pointer -mno- sse2 -fno-strict-aliasing -ansi -pedantic -Wno-return-type -w -I../.. -I../. ./exports/include -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L - D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE - D_SVID_SOURCE -D_GNU_SOURCE -DFUNCPROTO=15 -DNARROWPROTO -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API - DINCLUDE_XPRINT_SUPPORT -c -o glxgears.o glxgears.c rm -f glxgears i586-pc-linux-uclibc-gcc -o glxgears -march=pentium-mmx -O2 -pipe -fomit-frame- pointer -mno-sse2 -fno-strict-aliasing -ansi -pedantic -Wno-return-type -w - L../../exports/lib glxgears.o -lGL -lXprintUtil -lXp -lXext -lX11 -lpthread - lm -Wl,-rpath-link,../../exports/lib glxgears.o(.text+0xcd5): In function `gear': : undefined reference to `sinf' glxgears.o(.text+0xce6): In function `gear': : undefined reference to `cosf' glxgears.o(.text+0xefc): In function `gear': : undefined reference to `sinf' glxgears.o(.text+0xf0d): In function `gear': : undefined reference to `cosf' glxgears.o(.text+0xfe4): In function `gear': : undefined reference to `sinf' glxgears.o(.text+0xff7): In function `gear': : undefined reference to `cosf' collect2: ld returned 1 exit status make[4]: *** [glxgears] Error 1 make[4]: Leaving directory `/var/tmp/portage/xorg-x11-6.8.0-r3/work/xc/programs/ glxgears' make[3]: *** [all] Error 2 make[3]: Leaving directory `/var/tmp/portage/xorg-x11-6.8.0-r3/work/xc/programs' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/xorg-x11-6.8.0-r3/work/xc' make[1]: *** [World] Error 2 make[1]: Leaving directory `/var/tmp/portage/xorg-x11-6.8.0-r3/work/xc' make: *** [World] Error 2 !!! ERROR: x11-base/xorg-x11-6.8.0-r3 failed. !!! Function src_compile, Line 624, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. emerge info: Portage 2.0.51-r3 (uclibc/x86, gcc-3.4.2, uclibc-0.9.26-r7, 2.6.9-gentoo i686) ================================================================= System uname: 2.6.9-gentoo i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Gentoo Base System version 1.6.6 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.92.0.2-r1 Headers: sys-kernel/linux-headers-2.4.22 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium-mmx -mmmx -Os -pipe -fomit-frame-pointer" CHOST="i586-pc-linux-uclibc" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3. 3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config / usr/lib/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="-march=pentium-mmx -mmmx -Os -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig distlocks nodoc noinfo sfperms strict" GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://adelie.polymtl.ca/ ftp://cs. ubishops.ca/pub/gentoo ftp://sunsite.ualberta.ca/pub/unix/Linux/gentoo/ ftp:// gentoo.risq.qc.ca/ http://mirrors.tds.net/gentoo" MAKEOPTS="" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa berkdb crypt dillo gtk gtk2 jpeg mmx ncurses perl png pnp python readline spell ssl tiff trusted uclibc unicode x86 xface xml2 zlib"
Created attachment 44368 [details, diff] glxgears-uclibc-gentoo.patch
Thoughts?
While the patch would work around the problem with current -rX of uclibc.. -rNEXT will include a more complete math library when build in not in USE= So not sure if this is the right fix (long term)
Could I get a status update?
Boostraped from stage1-x86-uclibc-2004.3.tar.bz2 in a chroot: >>> x11-base/xorg-x11-6.8.1.902 merged This is with sys-libs/uclibc-0.9.26-r8, i.e. -rNEXT form Comment #3. Yuri.
In that case, no need for this patch. Thanks for the report.