Ebuild of ORBit-0.5.17 fails on compile. I've tried -02 cflags settings, and building a previous version of ORBit-0.5.16.ebuild Reproducible: Always Steps to Reproduce: 1.emerge -u orbit 2. 3. Actual Results: ------------------- SNIP ------------------ gcc -mcpu=athlon-xp -O3 -pipe -o .libs/orbit-idl orbit-idl-main.o orbit-idl-driver.o orbit-idl-backends.o orbit-idl-passes.o orbit-idl-genmarshal.o orbit-idl-utils.o -rdynamic backends/c/liborbit-c-backend.a ../../libIDL/.libs/libIDL.so -L/usr/lib ../../popt/.libs/libpopt.a /usr/lib/libgmodule.so /usr/lib/libglib.so -ldl -lm creating orbit-idl make[4]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler' make[3]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler' Making all in orb make[3]: Entering directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orb' ../../src/orbit-idl-compiler/orbit-idl --noskels ../../src/daemons/interface_repository/interface_repository.idl make[3]: *** [my_ir_stuff] Illegal instruction make[3]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orb' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17' make: *** [all-recursive-am] Error 2 !!! ERROR: gnome-base/ORBit-0.5.17 failed. !!! Function src_compile, Line 40, Exitcode 2 !!! (no error message) Expected Results: Compile should have completed successfully. # emerge --info Portage 2.0.49-r20 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20031222-r0, 2.6.0) ================================================================= System uname: 2.6.0 i686 AMD Athlon(TM)Processor Gentoo Base System version 1.4.3.12 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://gentoo.noved.org/ ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/ http://gentoo.seren.com/gentoo" MAKEOPTS="-j6" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa apm arts avi berkdb crypt cups encode esd evo foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 imlib java jpeg libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl slang spell ssl svga tcpd tiff truetype x86 xml xml2 xmms xv zlib"
This is weird : make[3]: *** [my_ir_stuff] Illegal instruction since that means something was generated with an instruction that your CPU doesn't handle. Have you always used the same CFLAGS? is it really a athlon-xp and not just an athlon-tbird? This could be in either orbit generated code, or in any subdependency thereof.. so it might be hard to track down.
I'm positive I have an athlon-xp, and I've been using these same CFLAGS as long as I've had this distro up and running (4 days). I've attempted with # CFLAGS="" emerge ORBit-0.5.17.ebuild Fails in same location.
cut down MAKEOPTS to -j1 so we get a serial output , -j6 doesn't tell us which operation that crashes. I'm still pretty sure this is a system / gcc related problem, so finding the binary that crashes with illegal instruction, then checking what it uses and links to, is a rather decent way of finding the error.
# MAKEOPTS="-j1" emerge ORBit-0.5.17.ebuild Returns the same result as previous: gcc -mcpu=athlon-xp -O3 -pipe -o .libs/orbit-idl orbit-idl-main.o orbit-idl-driver.o orbit-idl-backends.o orbit-idl-passes.o orbit-idl-genmarshal.o orbit-idl-utils.o -rdynamic backends/c/liborbit-c-backend.a ../../libIDL/.libs/libIDL.so -L/usr/lib ../../popt/.libs/libpopt.a /usr/lib/libgmodule.so /usr/lib/libglib.so -ldl -lm creating orbit-idl make[4]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler' make[3]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler' Making all in orb make[3]: Entering directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orb' ../../src/orbit-idl-compiler/orbit-idl --noskels ../../src/daemons/interface_repository/interface_repository.idl make[3]: *** [my_ir_stuff] Illegal instruction make[3]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orb' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17' make: *** [all-recursive-am] Error 2 !!! ERROR: gnome-base/ORBit-0.5.17 failed. !!! Function src_compile, Line 40, Exitcode 2 !!! (no error message)
you might want to try a less recent gcc/glibc combo.
Any recommendation on a version number of glibc/gcc I should be going with?
Still same result with: I've tried with CLFAGS="" as well with same result. # qpkg glibc -v sys-libs/glibc-2.3.2-r9 * asmodean root # qpkg gcc -v sys-devel/gcc-config-1.3.4 * sys-devel/gcc-3.3.2 *
can you run : file /var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler/orbit-idl and ldd /var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler/orbit-idl
# /var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler/orbit-idl Usage: lt-orbit-idl [-?] [-D ARG] [-I ARG] [--libIDL-version] [-l ARG] [-d ARG] [--nostubs] [--noskels] [--nocommon] [--noheaders] [--skeleton-impl] [--backenddir=DIR] [--c-output-formatter=PROGRAM] [--usage] <IDL files> # ldd /var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler/orbit-idl not a dynamic executable
I meant "file </some/where/somefile>" actually, to show what kind of file it was.
Sorry, should have caught that. # file /var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler/orbit-idl /var/tmp/portage/ORBit-0.5.17/work/ORBit-0.5.17/src/orbit-idl-compiler/orbit-idl: Bourne shell script text executable
can you rebuild bash and try again?
# CFLAGS="" emerge bash # CFLAGS="" emerge ORBit Returns the same error.
Any more ideas? I'm stuck and can't compile much for gnome.
Are you sure you have an athlon-xp ? For me that shows up in the 'emerge info' as Athlon(TM) XP. Check the output of 'cat /proc/cpuinfo' to be more certain. Second your CFLAGS & CXXFLAGS are not the same, that doesn't have to be a problem if you chose to compile that way. But few people work like that. Third, you use mcpu in your C(XX)FLAGS, this doesn't optimize the binaries for your system, use -march for that. If you compiled your whole system with -mcpu=athlon-xp while you don't have one it shouldn't have any impact in theory (besides gcc crashing, but comment #13 sort of rules that out), but i can't be sure that is not the problem unless you build your whole system with correct CFLAGS for that system. Last, for a recent GNOME2 installation you should not need to have ORBit-0.x around. In theory it should be possible to run without any legacy gtk/gnome packages at this time (which ORBit-0.x is). So you should be able to get a working desktop without this package. Note that this is a workaround, with this problem standing i wouldn't trust my system to be stable like that. So far i see some lack in understanding of certain basic issues (your inconistent 'emerge info' & the usage of '-02' (ZERO TWO) instead of '-O2' (LETTER O TWO) in your initial comment) and i suggest you review what you've done so far and maybe try re-installing with default settings to see if that solves the problem, you can work from there on optimizing your system.
I'm going through the painstaking process of emerging everything one more time. `emerge -e world`. Hopefully this'll solve any problems I may have had. I've corrected my CFLAGS and CXXFLAGS accordingly. I'll update when this is done. (probably a few days =/)
Here's what I changed: CFLAGS="-mcpu=athlon-tbird -O3 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" `emerge -e world` Emerging ORBit works fine now. Must have been the athlon setting. Thanks for your help.
Good to hear that it got fixed, too bad you had to recompile a whole lot ;) A last remark, you use -mcpu in your CFLAGS, if you want the resulting binaries optimized for your system you should use -march instead (-march implies -mcpu). -mcpu only optimizes the compiling process (for more info see 'man gcc').