Summary: | freeglut-2.4.0 fails to build with certain march/mtune settings | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Sergio Alonso <sergio> |
Component: | New packages | Assignee: | Gentoo X packagers <x11> |
Status: | RESOLVED NEEDINFO | ||
Severity: | critical | CC: | fprosper, hkmaly, jakub, jonas, me, roy, thermal, windyzhousir, yaverot |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Build log of freeglut-2.4.0-r1 |
Description
Sergio Alonso
2006-05-27 21:47:21 UTC
emerge freeglut ... ... ... etc `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. mv -f libglut_la-freeglut_callbacks.o .libs/libglut_la-freeglut_callbacks.lo mv: cannot stat `libglut_la-freeglut_callbacks.o': No such file or directory make[2]: *** [libglut_la-freeglut_callbacks.lo] Error 1 make[2]: *** Se espera a que terminen otras tareas.... mv -f libglut_la-freeglut_cursor.o .libs/libglut_la-freeglut_cursor.lo mv: cannot stat `libglut_la-freeglut_cursor.o': No such file or directory make[2]: *** [libglut_la-freeglut_cursor.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/freeglut-2.4.0/work/freeglut-2.4.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/freeglut-2.4.0/work/freeglut-2.4.0' make: *** [all] Error 2 !!! ERROR: media-libs/freeglut-2.4.0 failed. !!! Function src_compile, Line 566, Exitcode 2 !!! emake failed *** Bug 134583 has been marked as a duplicate of this bug. *** *** Bug 134584 has been marked as a duplicate of this bug. *** *** Bug 134585 has been marked as a duplicate of this bug. *** This has nothing in common w/ bugzilla product. Also, fix your browser refresh... Try emerging with CFLAGS="-march=athlon-xp -O2 -pipe", or even -O1. Assuming that doesn't work, set MAKEOPTS="-j1" or unset it entirely in make.conf and try again. Coment #6 (https://bugs.gentoo.org/show_bug.cgi?id=134586#c6) works fine. Thanks Joshua Baergen! That looks a bit like an odd race condition due to parallel builds that won't be easily reproduceable at the same place. Yeah, it's even possible that changing the optimization of the package changes the order of compile enough that the race condition is satisfied. Interesting that we haven't seen more complaints of this, though. FYI, I had the same problem with the optimisation level set to 3. Setting it to 2 worked for me as well. Thanks. OK, I'm going to filter -O3 to -O2. *** Bug 139433 has been marked as a duplicate of this bug. *** *** Bug 137919 has been marked as a duplicate of this bug. *** Well, this doesn't look like really fixed. We should force -j1 here since there are duplicate reports w/ -Os and -O2 as well. Unfortunately on my machine setting MAKEOPTS="-j1" and even disabling optimizations doesn`t help. If this is a race condition as you say then maybe we should consider it a bug in libtool and pass it to them ??? Everyone having this problem, what are your CFLAGS? I tried to compile using: CFLAGS="-O2 -mtune=pentium3 -march=i686 -pipe" and CFLAGS="-O1 -mtune=pentium3 -march=i686 -pipe" and CFLAGS="-mtune=pentium3 -march=i686 -pipe" and even without CFLAGS defined Nothing helps ... Try CFLAGS="-O2 -march=pentium3 -pipe" *** Bug 139568 has been marked as a duplicate of this bug. *** Thans, that helped. What does it have to do with the -mtune flag ??? It`s just beyond me :) It's not the mtune flag, but rather the lack of -march. I'm not sure why, but it would appear that some bad code is being generated without architecture-specific optimizations enabled. Re-opening until we solve this properly. Temporary solution: ebuild /usr/portage/media-libs/freeglut/freeglut-2.4.0.ebuild unpack cd /var/tmp/portage/freeglut-2.4.0/work/freeglut-2.4.0/ ./configure make touch .compiled (cd back to avoid complaints while cleaning /var/tmp/portage) ebuild /usr/portage/media-libs/freeglut/freeglut-2.4.0.ebuild merge This problem was fixed by moving mcpu -> mtune in CFLAGS. The "-mcpu" option is deprecated. (In reply to comment #24) > This problem was fixed by moving mcpu -> mtune in CFLAGS. > The "-mcpu" option is deprecated. > This has failed for people using mtune as well. *** Bug 145385 has been marked as a duplicate of this bug. *** I'm going to add a warning to the ebuild about this issue. Does anyone know the proper venue for reporting this issue upstream? freeglut.sourceforge.net looks quite out of date. (In reply to comment #18) > I tried to compile using: > > CFLAGS="-O2 -mtune=pentium3 -march=i686 -pipe" > and > CFLAGS="-O1 -mtune=pentium3 -march=i686 -pipe" > and > CFLAGS="-mtune=pentium3 -march=i686 -pipe" > and even without CFLAGS defined > > Nothing helps ... > CFLAGS="-mtune=athlon -mcpu=athlon -march=i686 -pipe" wroked for me on an AMD Semprom 2600+ Cheers! Have you tried with 2.4.0-r1? It worked for me Good luck! I got a PS3 and install Gentoo on it. On PS3, CFLAGS cann't set to "-march=G5" or "-mtune=G5",or it'll show error messages such like "cann't create excutable files". The only solution seems to use the manually-compile method mentioned above. on mac mini: CFLAGS="-O2 -mtune=powerpc -fno-strict-aliasing -pipe" ..freeglut does not compile, and forces me to set -march.. so when: CFLAGS="-O2 -march=G4 -fno-strict-aliasing -pipe" configure: error: C compiler cannot create executables (gcc version 3.4.4 (Gentoo 3.4.4, ssp-3.4.4-1.0, pie-8.7.8)) Installing gentoo on an AMD Phenom quad core. CFLAGS="-march=k8 -O2 -msse3 -pipe" MAKEOPTS="-j5" While emerging xorg-x11 I was getting the dreaded missing lGL error during the freeglut install. After viewing MANY bug reports here and elsewhere I discovered that in /usr/lib64, my libGL.so was red blinking (ie pointing to a file that no longer exists). I removed it and ran eselect opengl set xorg-x11 and a correct link was created. I was then able to successfully emerge xorg-x11 Just another data point. I experienced this on a new install when using distcc. Work around was disabling distcc. FEATURES="-distcc" emerge -uDNAv world freeglut-2.4.0-r1 # emerge --info Portage 2.1.6.7 (default/linux/x86/2008.0, gcc-4.3.3, glibc-2.9_p20081201-r1, 2.6.28-gentoo-r1 i686) ================================================================= System uname: Linux-2.6.28-gentoo-r1-i686-AMD_Athlon-tm-_X2_Dual_Core_Processor_BE-2400-with-glibc2.0 Timestamp of tree: Thu, 05 Feb 2009 04:45:01 +0000 distcc[10549] (dcc_trace_version) distcc 3.1 i686-pc-linux-gnu; built Feb 5 2009 23:11:49 [enabled] app-shells/bash: 3.2_p48 dev-lang/python: 2.4.4-r13, 2.5.4-r2 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.2 sys-apps/sandbox: 1.3.2 sys-devel/autoconf: 2.63 sys-devel/automake: 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r1, 2.19 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.28-r1 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distcc distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://mirror.fslutd.org/linux/distributions/gentoo/ " LDFLAGS="-Wl,-O1" LINGUAS="en en_US" MAKEOPTS="-j13" PKGDIR="/usr/portage/packages" 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/portage/local" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X a52 aac acl alsa ao apache2 arts artswrappersuid audiofile avahi bash-completion bidi bluetooth bsf bzip2 cairo calendar caps cdda cddb cdio cdparanoia cdr cli cracklib crypt css curl cvs cxx dbus dri dts dvd dvdr dvdread encode esd evdev examples exif expat faad fbcondecor ffmpeg flac font-server fontconfig foomaticdb fortran freetype ftp gd gdbm geoip gif gimp git glep glitz gnome gnutls gphoto2 gpm graphviz gtk hal htmlhandbook httpd iconv icq imagemagick imap imlib ipod isdnlog jabber jack java java5 java6 javascript jpeg jpeg2k kde kdehiddenvisibility kdeprefix kerberos lame lash ldap libnotify libwww live lm_sensors logitech-mouse loop-aes lzo mad mailwrapper matroska mbox mdnsresponder-compat midi mime mjpeg mng mod mozilla mp3 mpeg mplayer mudflap multislot musepack mysql mysqli nas ncurses networkmanager nfs nls nptlonly nsplugin nvidia ocaml ogg oggvorbis openal opengl openmp pam pcre pdf perl php plotutils png pppd python qt3 qt3support qt4 raw rdesktop readline reflection rss ruby screen session sndfile soap sockets sox spell spl ssl stream streamout subversion svg svga sysfs syslog szip taglib tcl tcpd theora tidy tiff timidity tk tokenizer tordns truetype type1 unicode usb utempter utils v4l2 vcd vim-pager vim-syntax vim-with-x vlm vnc vorbis wavpack webkit win32codecs wmf wxwindows x11 x264 x86 xcomposite xine xorg xpm xulrunner xv xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS (In reply to comment #32) > Installing gentoo on an AMD Phenom quad core. > CFLAGS="-march=k8 -O2 -msse3 -pipe" > MAKEOPTS="-j5" > > While emerging xorg-x11 I was getting the dreaded missing lGL error during the > freeglut install. > > After viewing MANY bug reports here and elsewhere I discovered that > in /usr/lib64, my libGL.so was red blinking (ie pointing to a file that no > longer exists). I removed it and ran > eselect opengl set xorg-x11 > and a correct link was created. > > I was then able to successfully emerge xorg-x11 > I was going to file a bug report about something like this, but tried removing the libGL.so files suggested. Deleting four files fixed it /usr/lib32/libGL.so /usr/lib32/libGLcore.so /usr/lib64/libGL.so and /usr/lib64/libGLcore.so CFLAGS="-march=k8" -02 -pipe" MAKEOPTS="-j2" This report has a mix of various bugs, it's hard to tell anything from the comments anymore. If anyone can still reproduce this bug with the latest (and only) version of freeglut, please don't hesitate to reopen this bug and don't forget to *attach* the full *build.log*. Thanks It looks like I'm currently being bitten by this bug. Apparently from what _is_ here, the bug appears to be that freeglut requires a "march" setting, but the ebuild fails to add "-march=native" if it is not already set at all. Still sounds wrong... Adds a "march" but won't change an existing "march". http://www.gentoo.org/doc/en/gcc-optimization.xml indicates that there is no sensible way for me to add "-march=" to just this one buggy package that requires it. (Much like I have listings in package.use for those where I need to use flags different from my sane system-wide set.) I'll provide emerge --info, build.log, etc if it would be useful, but you'll likely need to send me directions how (private email, even if it is just a link to page I haven't seen here on gentoo.org). I'm not certain the machine with the problem has firefox installed, and even if it did, I don't know if a user has access to the info instead of just root. Created attachment 219781 [details]
Build log of freeglut-2.4.0-r1
Note that it DOES compile with CFLAGS="-O2 -mtune=athlon -march=i686 -pipe -fomit-frame-pointer" emerge -1 virtual/glut on same machine, so the reason seems to be unreasonable requirements on CFLAGS.
|