Compiling ORBit2 on my "~x86" Pentium 4 fails in the subdirectory /src/orb/poa, on the file poa-defs-common.c which doesn't actually exist. I had the same error in version 2.10.2, but 2.10.1 compiled successfully. Reproducible: Always Steps to Reproduce: 1. emerge gnome-base/ORBit2 2. 3. Actual Results: ...after much compiling: make[4]: Leaving directory `/var/tmp/portage/ORBit2-2.10.3/work/ORBit2-2.10.3/src/orb/GIOP' Making all in poa make[4]: Entering directory `/var/tmp/portage/ORBit2-2.10.3/work/ORBit2-2.10.3/src/orb/poa' make[4]: *** No rule to make target `poa-defs-common.c', needed by `all'. Stop. make[4]: Leaving directory `/var/tmp/portage/ORBit2-2.10.3/work/ORBit2-2.10.3/src/orb/poa' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/ORBit2-2.10.3/work/ORBit2-2.10.3/src/orb' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/ORBit2-2.10.3/work/ORBit2-2.10.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/ORBit2-2.10.3/work/ORBit2-2.10.3' make: *** [all] Error 2 !!! ERROR: gnome-base/ORBit2-2.10.3 failed. !!! Function gnome2_src_compile, Line 38, Exitcode 2 !!! compile failure Expected Results: compiled cleanly It's a normal Pentium 4 2.8Ghz using "~x86" packages. Everything else seems to compile with no problems. I mainly use KDE, but have Gnome 2.6 fully installed. Emerge info: Portage 2.0.50-r9 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.4.20040619-r0, 2.6.7-gentoo-r7) ================================================================= System uname: 2.6.7-gentoo-r7 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Gentoo Base System version 1.5.1 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4 -mcpu=pentium4 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /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="-O2 -march=pentium4 -mcpu=pentium4 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp.easynet.nl/mirror/gentoo/ http://gentoo.tiscali.nl/gentoo/ http://ftp.du.se/pub/os/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib alsa apache2 apm arts avi berkdb cdr crypt cups dga doc dvd dvdr emacs encode esd flac foomaticdb gdbm gif gimpprint gnome gpm gstreamer gtk gtk2 gtkhtml imagemagick imap imlib jabber java jpeg kde ldap libg++ libwww live mad maildir mikmod mmx mng motif mozilla mpeg ncurses netcdf nls oggvorbis ooo-kde opengl oss pam pcre pdflib perl png ppds python qt quicktime readline scanner sdl shared slang speex spell sse sse2 ssl svg svga tcltk tcpd tetex theora tiff truetype unicode usb v4l2 videos wmf x86 xml2 xmms xv xvid zlib"
please attach the full build log and also try MAKEOPTS="-j1"
Created attachment 36807 [details] ORBit2-2.10.3 build log Here's what happens if I try to emerge it. MAKEOPTS='-j1' seems to be the default in the ebuild and adding it at the command line made no difference. I've tried unmerging all of gnome and re-emerging it from scratch but it still hangs on ORBit2. I notice that there are a number of lines in the Makefile referencing the missing file: POA_IDLOUT = poa-defs-common.c am__objects_1 = poa-defs-common.lo DEP_FILES = ./$(DEPDIR)/orbit-adaptor.Plo \ ./$(DEPDIR)/poa-defs-common.Plo \ ...etc... but I don't know if the poa-defs-common.c file is created or just used. Andrew (Alshain)
My system (P4 laptop) shows this same behavior. It's a problem because my Gnome is partially upgraded and some components may not be at the version levels required by other components.
Just tried to upgrade to orbit-2.10.4. Fails with the same problem. Andrew
Same problem with 2.10.4 confirmed here too: Making all in poa make[4]: Entering directory `/var/tmp/portage/orbit-2.10.4/work/ORBit2-2.10.4/src/orb/poa' make[4]: *** No rule to make target `poa-defs-common.c', needed by `all'. Stop. make[4]: Leaving directory `/var/tmp/portage/orbit-2.10.4/work/ORBit2-2.10.4/src/orb/poa' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/orbit-2.10.4/work/ORBit2-2.10.4/src/orb' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/orbit-2.10.4/work/ORBit2-2.10.4/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/orbit-2.10.4/work/ORBit2-2.10.4' make: *** [all] Error 2 !!! ERROR: gnome-base/orbit-2.10.4 failed. !!! Function gnome2_src_compile, Line 38, Exitcode 2 !!! compile failure
and if you step down to i686 CFLAGS or something ? Also try recompiling libidl. poa-def-commons afaik should get created but for some reason it doesn't. Could someone investigate why this doesn't happen ?
I've tried recompiling libidl and reducing the CFLAGS to '-O1 -march=pentium4' but it still fails in the same place. I can compile it as a package in the 32-bit chroot environment of my Athlon64 and install it. It seems to work with no problems, but of course not everyone can do this.
i said 'i686' you still compile for a p4 specifically.
Oops! Well, I just tried it with both i686, i386 and no specific -march flag and it produces the same problem either way.
well see comment #6 , I can't reproduce it, someone who can has to find out why this happens exactly.
Created attachment 39479 [details] Log of the output when attempting to emerge orbit-2.10.3 Oddly, the file poa-defs-common.c is deleted as part of 'Making all in poa': (rm -f poa-defs.h poa-defs-stubs.c poa-defs-skels.c poa-defs-common.c poa-defs-imodule.c poa-defs-skelimpl.c || true) > /dev/null Then there is an attempt to edit it with sed (sed -e 's,OObject,Object,g' -e 's,TTypeCode,TypeCode,g' $I > $I.out;) in "Making all in poa". Later on we hit "Making all in poa" again, and that is where we get: make[4]: Leaving directory `/var/tmp/portage/orbit-2.10.3/work/ORBit2-2.10.3/src/orb/GIOP' Making all in poa make[4]: Entering directory `/var/tmp/portage/orbit-2.10.3/work/ORBit2-2.10.3/src/orb/poa' make[4]: *** No rule to make target `poa-defs-common.c', needed by `all'. Stop. make[4]: Leaving directory `/var/tmp/portage/orbit-2.10.3/work/ORBit2-2.10.3/src/orb/poa' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/orbit-2.10.3/work/ORBit2-2.10.3/src/orb' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/orbit-2.10.3/work/ORBit2-2.10.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/orbit-2.10.3/work/ORBit2-2.10.3' make: *** [all] Error 2 Hopefully the maintainer will find all of this more enlightening than I do. -- Chris
This bug has been seen before, and someone apparently fixed it. I don't understand the resolution, but these links may help: http://mail.gnome.org/archives/orbit-list/2002-February/msg00000.html and http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&client=firefox-a&threadm=c27ocu%242cim%241%40FreeBSD.csie.NCTU.edu.tw&rnum=1&prev=/groups%3Fq%3Dgnome%2Borbit%2Bpoa-defs-common.c%26hl%3Den%26lr%3D%26ie%3DISO-8859-1%26client%3Dfirefox-a%26tab%3Dng%26sa%3DN
I just tried downloading and compiling several different versions of ORBit directly from the gnome.org download site. Extracted the tarballs, did './configure' and 'make'. Got exactly the above error ("*** No rule to make target `poa-defs-common.c', needed by `all'. Stop.") on 2.10.0, 2.10.3, 2.10.4, and 2.10.5. This was done in my home directory on my Gentoo box, and also in my home directory on my Fedora Core 1 box. So how is it possible that *anyone* can compile ORBit....?
*** Bug 67056 has been marked as a duplicate of this bug. ***
it seems the difference is that for some reason, your Makefile in src/orb/poa is not finding the right rule to regenerate those files from the poa-defs.idl. can someone attach the src/orb/poa/Makefile to this bug? here is what it's supposed to do: (cd .libs && rm -f libGIOP.la && ln -s ../libGIOP.la libGIOP.la) make[4]: Leaving directory `/var/tmp/portage/orbit-2.10.3/work/ORBit2-2.10.3/src/orb/GIOP' Making all in poa make[4]: Entering directory `/var/tmp/portage/orbit-2.10.3/work/ORBit2-2.10.3/src/orb/poa' (rm -f poa-defs.h poa-defs-stubs.c poa-defs-skels.c poa-defs-common.c poa-defs-imodule.c poa-defs-skelimpl.c || true) > /dev/null ../../../src/idl-compiler/orbit-idl-2 -I../../../src/idl/CORBA_PIDL -I../../../src/idl/CORBA -I../../../src/idl/misc -I../../../src/orb/orb-core --noskels --nodefskels --nostubs --noidata --noheaders --define=Object=OObject --define=TypeCode=TTypeCode --showcpperrors --deps ./.deps/poa-defs.idl.P poa-defs.idl orbit-idl-2 2.10.3 compiling mode, show preprocessor errors, passes: common skel_impl imodule for I in poa-defs.h poa-defs-stubs.c poa-defs-skels.c poa-defs-common.c poa-defs-imodule.c poa-defs-skelimpl.c; do \ if test -f $I; then \ sed -e 's,OObject,Object,g' -e 's,TTypeCode,TypeCode,g' $I > $I. out; \ mv $I.out $I ; \ fi; \ done true make all-am make[5]: Entering directory `/var/tmp/portage/orbit-2.10.3/work/ORBit2-2.10.3/src/orb/poa' source='poa-defs-common.c' object='poa-defs-common.lo' libtool=yes \ depfile='.deps/poa-defs-common.Plo' tmpdepfile='.deps/poa-defs-common.TPlo' \ depmode=gcc3 /bin/sh ../../../depcomp \ /bin/sh ../../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../include -I../../../include -I../../../src/orb/orb-core -I../../../src/orb/orb-core -I../../../include/orbit/poa -I../../../include/orbit/orb-core -I../../../include/orbit/orb-core -I../../../src/orb/poa -DORBIT2_INTERNAL_API -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -DG_ENABLE_DEBUG -DG_DISABLE_DEPRECATED -I../../../linc2/include -I../../../linc2/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -fno-stack-protector -g -g -g -c -o poa-defs-common.lo `test -f 'poa-defs-common.c' || echo './'`poa-defs-common.c mkdir .libs
No activity, try with the newest orbit, reopen if it's still a problem.
*** Bug 75949 has been marked as a duplicate of this bug. ***
reopen as per comments on 75949
I get the exact same problem (even with gnome-base/orbit-2.12.0). Notice that 2.10.3 is still the latest with ~amd64 System uname: 2.6.9-1.6_FC2smp x86_64 AMD Opteron(tm) Processor 242 Gentoo Base System version 1.6.8 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Dec 28 2004, 14:14:43)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.9.3, 1.7.9, 1.8.5-r2, 1.4_p6, 1.5, 1.6.3 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.6.8.1-r1 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-march=opteron -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /usr/X11R6/bin/startx /etc/env.d" CXXFLAGS="-march=opteron -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache distlocks sandbox" GENTOO_MIRRORS="http://gentoo.netnitco.net http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LDFLAGS="" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="amd64 X acpi apache2 avi berkdb bitmap-fonts cdr crypt cups directfb divx4linux doc dvd f77 fbconf flash foomaticdb fortran ftp gif gnome gpm gtk gtk2 imagemagick imlib ipv6 java jp2 jpeg lzw lzw-tiff mime ming motif mozilla mpeg multilib mysql ncurses nls ntpl nvidia oggvorbis opengl pam perl php png python quicktime readline samba sdl session slang spell ssl tcpd tga tiff truetype unicode usb userlocales wmf xml xml2 xpm xrandr xv xvid zlib"
A quick read in the comments here and I would say that the rm line should have deleted the files it does, only that is should had .out at the end of each filename to delete the tempfiles, if make it stopped mid-air at that stage.
just tried to emerge the new orbit-2.12.1. Still doesn't compile - exactly the same problem.
I'm observing a similar problem on my p4 system with orbit-2.12.2. I've been using ordinary x86 packages for everything except KDE, which is "~x86". [lots of compiling] /bin/sh ../../../libtool --mode=link i686-pc-linux-gnu-gcc -O2 -march=pentium4 -fomit-frame-pointer -o libGIOP.la giop-connection.lo giop-server.lo giop.lo giop-send-buffer.lo giop-recv-buffer.lo giop-endian.lo i686-pc-linux-gnu-ar cru .libs/libGIOP.a .libs/giop-connection.o .libs/giop-server.o .libs/giop.o .libs/giop-send-buffer.o .libs/giop-recv-buffer.o .libs/giop-endian.o i686-pc-linux-gnu-ranlib .libs/libGIOP.a creating libGIOP.la (cd .libs && rm -f libGIOP.la && ln -s ../libGIOP.la libGIOP.la) make[4]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/orb/GIOP' Making all in poa make[4]: Entering directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/orb/poa' make[4]: *** No rule to make target `poa-defs-common.c', needed by `all'. Stop. make[4]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/orb/poa' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/orb' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2' make: *** [all] Error 2 !!! ERROR: gnome-base/orbit-2.12.2 failed. !!! Function gnome2_src_compile, Line 41, Exitcode 2 !!! compile failure
Could somebody that still has this issue try to modify MAKEOPTS="-j1" If that helps resolves the problem. Patch ebuild to force -j1
I tried to use "-j1" just now, but it appears to have done the same thing as before: # MAKEOPTS="-j1" emerge orbit Calculating dependencies >>> Unpacking source... >>> Unpacking ORBit2-2.12.2.tar.bz2 to /var/tmp/portage/orbit-2.12.2/work >>> Source unpacked. * Patching ${S}/ltmain.sh ... * Applying portage-1.4.1.patch ... * Applying sed-1.5.6.patch ... * Applying uClibc/libtool patches ... * econf: updating ORBit2-2.12.2/config.sub with /usr/share/gnuconfig/config.sub * econf: updating ORBit2-2.12.2/config.guess with /usr/share/gnuconfig/config.gues s ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodi r=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib - -disable-gtk-doc checking for a BSD-compatible install... /bin/install -c [... lots of compiling ...] configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. configure: WARNING: host is i686-pc-linux-gnu libtool: link: warning: `-version-info/-version-number' is ignored for convenience libraries orbit-idl-backend.c: In function `load_language_backend': orbit-idl-backend.c:72: warning: dereferencing type-punned pointer will break strict-aliasing rules orbit-typelib.c: In function `load_module': orbit-typelib.c:258: warning: dereferencing type-punned pointer will break strict-aliasing rules orbit-typelib.c:286: warning: dereferencing type-punned pointer will break strict-aliasing rules orbit-typelib.c:287: warning: dereferencing type-punned pointer will break strict-aliasing rules corba-object.c: In function `CORBA_Object_is_a': corba-object.c:691: warning: dereferencing type-punned pointer will break strict-aliasing rules corba-context.c: In function `search_props': corba-context.c:175: warning: type-punning to incomplete type might break strict-aliasing rules corba-context.c: In function `ctx_get_values': corba-context.c:212: warning: type-punning to incomplete type might break strict-aliasing rules giop-recv-buffer.c: In function `giop_IOP_ServiceContextList_demarshal': giop-recv-buffer.c:88: warning: dereferencing type-punned pointer will break strict-aliasing rules make[4]: *** No rule to make target `poa-defs-common.c', needed by `all'. Stop. make[3]: *** [all-recursive] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 !!! ERROR: gnome-base/orbit-2.12.2 failed. !!! Function gnome2_src_compile, Line 41, Exitcode 2 !!! compile failure !!! If you need support, post the topmost build error, NOT this status message.
if orb-compiler is built before orb, in the source, this error happens. Not sure why, since that doesn't make any sense.. I need to understand these makefiles more. They work cross-directories
First, here is the reason for the wierd error message. In the given directory there are targets in the Makefile useing % syntax, one depenency fails, since idl-compiler/orbit-idl-2 isn't built yet (or is removed), so the % targets are disabled, and hence the error-message reports the source-file as the problem, and not the missing depenency. This is a bit stupid of make, but that is just how it is. But something goes wrong for some people so this is what I wonder (adjust paths of course) For me, the Makefile.in files are generated with automake 1.6, but the original report only have 1.8 installed. May this be the source of the problem, automake 1.8 re-orders the directory build order or other funky stuff? Try to install automake 1.6 (My system always wants to have a bunch of automake and autoconf versions present at all time)
if that is the problem, we could force it. Reporters, please test the suggestion in comment #26 .
http://bugs.gnome.org/show_bug.cgi?id=147910
OK-- I only have automake-1.9.5. Is there a straightforward way to get the older automake to install into another slot and then use it to emerge orbit?
emerge =automake-1.6* (-vp) WANT_AUTOCONF=1.6 emerge orbit (-vp)
Unfortunately, it's still failing. I entered: # WANT_AUTOCONF=1.6 emerge orbit and the result was: [ ... ] i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../include -I../../../include -DORBIT2_INTERNAL_API -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -DG_DISABLE_DEPRECATED -I../../../linc2/include -I../../../linc2/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -march=pentium4 -fomit-frame-pointer -c giop-endian.c -MT giop-endian.lo -MD -MP -MF .deps/giop-endian.TPlo -o giop-endian.o >/dev/null 2>&1 /bin/sh ../../../libtool --mode=link i686-pc-linux-gnu-gcc -O2 -march=pentium4 -fomit-frame-pointer -o libGIOP.la giop-connection.lo giop-server.lo giop.lo giop-send-buffer.lo giop-recv-buffer.lo giop-endian.lo i686-pc-linux-gnu-ar cru .libs/libGIOP.a .libs/giop-connection.o .libs/giop-server.o .libs/giop.o .libs/giop-send-buffer.o .libs/giop-recv-buffer.o .libs/giop-endian.o i686-pc-linux-gnu-ranlib .libs/libGIOP.a creating libGIOP.la (cd .libs && rm -f libGIOP.la && ln -s ../libGIOP.la libGIOP.la) make[4]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/orb/GIOP' Making all in poa make[4]: Entering directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/orb/poa' make[4]: *** No rule to make target `poa-defs-common.c', needed by `all'. Stop. make[4]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/orb/poa' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/orb' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2' make: *** [all] Error 2 !!! ERROR: gnome-base/orbit-2.12.2 failed. !!! Function gnome2_src_compile, Line 41, Exitcode 2 !!! compile failure
What version of automake generated your makefiles? This you can see in the comments in the top of the Makefile in the directory it fails. You could post /var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/Makefile here, and I can compare the makefile generated with the ones I get to figure out of this mess. Also version of make would be nice to double-check.
Created attachment 62078 [details] /var/tmp/portage/orbit-2.12.2/work/ORBit2-2.12.2/src/Makefile as requested The attachment is the Makefile from my last attempt to emerge orbit-2.12.2. Also, make --version gives: GNU Make 3.80 Copyright (C) 2002 Free Software Foundation, Inc.
The makefiles are 99% identical (I have fortran compiler installed, which automake just locates without using it), but the rest of the config is perfectly okey, and the orbit-idl-2 compiler is even used before this point without problems. And I have the same make version. only reason for make to fail the way it does, is if it fails to stat the orbit-idl-2 binary file. So either a stat() call from make is failing (not very likely) or it has some internal problems/bugs. Which then leads me to one last action before I start to pick appart make. # strace -v -s 64 -F -o log -f emerge orbit (Make sure you have a lot of disk-space and try to grep out the stat calls)
OK-- before I try strace, can you tell me more about what it is going to do? Is it going to create a big log file automatically, or should I try to capture the screen output? What's the name of the file that I should try to grep? Or else, what's the best way to capture the output of a command like this if the output is likely to scroll more lines than my terminal's history? I've tried to catch the output of emerge commands before like this: # emerge foo > somefilename.txt but it doesn't seem to be recording exactly what would normally come up on the screen.
strace fetches all kernel-calls (it is contained in it's own ebuild, named strace). This way I can see if the make fails due to error, or a stat() call failing or anything like this. strace -o FILE creates a file named FILE which often gets very big. -f and -F makes strace see forking/new programs. Then grep the output from strace for orbit-idl-2
Created attachment 63177 [details] strace output, grepped for "stat" Here's the grepped output-- sorry it took so long. It may not be complete since I did run out of disk space. I'll try it again soon if this doesn't have what you're looking for.
Created attachment 70387 [details] strace output, grepped for "orbit-idl-2" Since my last attempt, I've updated the kernel, gcc, glibc, and various other packages, but the emerge of orbit fails as before (error messages below). This time I cleared off enough disk space for a full "strace" and grepped for orbit-idl-2 as suggested in a previous comment (attached). /bin/sh ../../../libtool --mode=link i686-pc-linux-gnu-gcc -O2 -march=pentium4 -fomit-frame-pointer -o libGIOP.la giop-connection.lo giop-server.lo giop.lo giop-send-buffer.lo giop-recv-buffer.lo giop-endian.lo i686-pc-linux-gnu-ar cru .libs/libGIOP.a .libs/giop-connection.o .libs/giop-server.o .libs/giop.o .libs/giop-send-buffer.o .libs/giop-recv-buffer.o .libs/giop-endian.o i686-pc-linux-gnu-ranlib .libs/libGIOP.a creating libGIOP.la (cd .libs && rm -f libGIOP.la && ln -s ../libGIOP.la libGIOP.la) make[4]: Leaving directory `/var/tmp/portage/orbit-2.12.3/work/ORBit2-2.12.3/src/orb/GIOP' Making all in poa make[4]: Entering directory `/var/tmp/portage/orbit-2.12.3/work/ORBit2-2.12.3/src/orb/poa' make[4]: *** No rule to make target `poa-defs-common.c', needed by `all'. Stop. make[4]: Leaving directory `/var/tmp/portage/orbit-2.12.3/work/ORBit2-2.12.3/src/orb/poa' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/orbit-2.12.3/work/ORBit2-2.12.3/src/orb' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/orbit-2.12.3/work/ORBit2-2.12.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/orbit-2.12.3/work/ORBit2-2.12.3' make: *** [all] Error 2 !!! ERROR: gnome-base/orbit-2.12.3 failed. !!! Function gnome2_src_compile, Line 48, Exitcode 2 !!! compile failure !!! If you need support, post the topmost build error, NOT this status message.
https://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=14771 Lets see what the make-authors can come up with.
(In reply to comment #39) > https://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=14771 > > Lets see what the make-authors can come up with. So, this seems dead at gnu.org, but the comment there implies that there is a workaround: gnu.org: to source out from make, since re-running make solves the issue (as far as I know). I'm not sure what they mean by "re-running make." Anyone know how to just get the ebuild to compile?
*** Bug 120875 has been marked as a duplicate of this bug. ***
This is a longshot, but try adding the following code to the ebuild: src_compile() { unset IDL_DIR ./configure make } This unsets the IDL_DIR environment variable before ORBit is built. For some reason, this variable screws up the build; I usually have IDL_DIR set because I use RSI's Interactive Data Language (IDL).
Further to my comment above, the ebuild code should read: src_compile() { unset IDL_DIR ./configure --prefix=/usr make } This makes sure ORBit is put in the /usr treee, rather than /usr/local
(In reply to comment #43) > Further to my comment above, the ebuild code should read: > > src_compile() { > unset IDL_DIR > ./configure --prefix=/usr > make > } > > This makes sure ORBit is put in the /usr treee, rather than /usr/local > I was able to verify this fix by just unsetting IDL_DIR before compiling orbit, and it worked beautifully. I too use RSI's IDL, and I'm wondering if everyone with this problem does. If not you should at least check your IDL_DIR variable, and see what it is set to. Hope, this gets included in the ebuild soon, but I think it's safe to say (once it's localized to IDL users) that this bug should be closed.
the orbit-2* ebuilds now unset IDL_DIR before compiling. It was fixed without a bump. Please rebuild and ensure that you are now able to build orbit.