Hi, my system is a Intel Core Duo running Mac OS X 10.4.9, Xcode is version 2.4.1, and port is 1.442. My attempt to install the gcc42 port failed. The full output of 'sudo port -v install gcc42' is available at <URL:http://www.cdc.informatik.tu-darmstadt.de/~cludwig/install_gcc42.log>, the last lines with the error message are copied below. Does anyone know what's going on? Regards Christoph /opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.macports.org_dpupdate_dports_lang_gcc42/work/build/./gcc/xgcc -B/opt/local/var/db/dports/build/_opt_local_var_db_dports_sources_rsync.rsync.macports.org_dpupdate_dports_lang_gcc42/work/build/./gcc/ -B/opt/local/i386-apple-darwin8.9.1/bin/ -B/opt/local/i386-apple-darwin8.9.1/lib/ -isystem /opt/local/i386-apple-darwin8.9.1/include -isystem /opt/local/i386-apple-darwin8.9.1/sys-include -O2 -O2 -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../gcc-4.2.0/gcc -I../../gcc-4.2.0/gcc/. -I../../gcc-4.2.0/gcc/../include -I../../gcc-4.2.0/gcc/../libcpp/include -I/opt/local/include -I/opt/local/include -I../../gcc-4.2.0/gcc/../libdecnumber -I../libdecnumber -DSHARED -fexceptions -c ../../gcc-4.2.0/gcc/unwind-c.c -o libgcc/./unwind-c_s.o rm -f ./libgcc.a /opt/local/i386-apple-darwin8.9.1/bin/ar rc ./libgcc.a libgcc/./_muldi3.o libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_clear_cache.o libgcc/./_enable_execute_stack.o libgcc/./_trampoline.o libgcc/./__main.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o libgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_negvsi2.o libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_ffssi2.o libgcc/./_ffsdi2.o libgcc/./_clz.o libgcc/./_clzsi2.o libgcc/./_clzdi2.o libgcc/./_ctzsi2.o libgcc/./_ctzdi2.o libgcc/./_popcount_tab.o libgcc/./_popcountsi2.o libgcc/./_popcountdi2.o libgcc/./_paritysi2.o libgcc/./_paritydi2.o libgcc/./_powisf2.o libgcc/./_powidf2.o libgcc/./_powixf2.o libgcc/./_powitf2.o libgcc/./_mulsc3.o libgcc/./_muldc3.o libgcc/./_mulxc3.o libgcc/./_multc3.o libgcc/./_divsc3.o libgcc/./_divdc3.o libgcc/./_divxc3.o libgcc/./_divtc3.o libgcc/./_fixunssfsi.o libgcc/./_fixunsdfsi.o libgcc/./_fixunsxfsi.o libgcc/./_fixsfdi.o libgcc/./_fixsfti.o libgcc/./_fixunssfdi.o libgcc/./_fixunssfti.o libgcc/./_floatdisf.o libgcc/./_floattisf.o libgcc/./_floatundisf.o libgcc/./_floatuntisf.o libgcc/./_fixdfdi.o libgcc/./_fixdfti.o libgcc/./_fixunsdfdi.o libgcc/./_fixunsdfti.o libgcc/./_floatdidf.o libgcc/./_floattidf.o libgcc/./_floatundidf.o libgcc/./_floatuntidf.o libgcc/./_fixxfdi.o libgcc/./_fixxfti.o libgcc/./_fixunsxfdi.o libgcc/./_fixunsxfti.o libgcc/./_floatdixf.o libgcc/./_floattixf.o libgcc/./_floatundixf.o libgcc/./_floatuntixf.o libgcc/./_fixtfdi.o libgcc/./_fixtfti.o libgcc/./_fixunstfdi.o libgcc/./_fixunstfti.o libgcc/./_floatditf.o libgcc/./_floattitf.o libgcc/./_floatunditf.o libgcc/./_floatuntitf.o libgcc/./_eprintf.o libgcc/./__gcc_bcmp.o libgcc/./_divdi3.o libgcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./darwin-64.o rm -f ./libgcov.a /opt/local/i386-apple-darwin8.9.1/bin/ar rc ./libgcov.a libgcc/./_gcov.o libgcc/./_gcov_merge_add.o libgcc/./_gcov_merge_single.o libgcc/./_gcov_merge_delta.o libgcc/./_gcov_fork.o libgcc/./_gcov_execl.o libgcc/./_gcov_execlp.o libgcc/./_gcov_execle.o libgcc/./_gcov_execv.o libgcc/./_gcov_execvp.o libgcc/./_gcov_execve.o libgcc/./_gcov_interval_profiler.o libgcc/./_gcov_pow2_profiler.o libgcc/./_gcov_one_value_profiler.o /opt/local/i386-apple-darwin8.9.1/bin/ar: ./libgcov.a: Invalid operation /opt/local/i386-apple-darwin8.9.1/bin/ar: ./libgcc.a: Invalid operation make[4]: *** [libgcov.a] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: *** [libgcc.a] Error 1 make[3]: *** [stmp-multilib] Error 2 make[2]: *** [all-stage1-gcc] Error 2 make[1]: *** [stage1-bubble] Error 2 make: *** [bootstrap] Error 2 -- FH Worms - University of Applied Sciences Fachbereich Informatik / Telekommunikation Erenburgerstr. 19, 67549 Worms, Germany
Hi Christoph,
My attempt to install the gcc42 port failed. The full output of 'sudo port -v install gcc42' is available at <URL:http://www.cdc.informatik.tu-darmstadt.de/~cludwig/ install_gcc42.log>, the last lines with the error message are copied below. Does anyone know what's going on?
<snip />
/opt/local/i386-apple-darwin8.9.1/bin/ar: ./libgcov.a: Invalid operation /opt/local/i386-apple-darwin8.9.1/bin/ar: ./libgcc.a: Invalid operation make[4]: *** [libgcov.a] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: *** [libgcc.a] Error 1 make[3]: *** [stmp-multilib] Error 2 make[2]: *** [all-stage1-gcc] Error 2 make[1]: *** [stage1-bubble] Error 2 make: *** [bootstrap] Error 2
If the full output that you provided the link for [1], I noticed the following line just after the first instance of the text I've quoted above: Error: Target com.apple.build returned: shell command " cd "/opt/ local/var/db/dports/build/ _opt_local_var_db_dports_sources_rsync.rsync.macports.org_dpupdate_dport s_lang_gcc42/work/build" && make bootstrap -j 2 " returned error 2 It seems that you've set the -j flag somewhere to try to speed up make by getting it to do two operations in parallel, but unfortunately that's known to break builds if the Makefiles don't quite specify the dependencies correctly. Try removing the -j flag from wherever you've set it and see if that helps. Kind regards, Maun Suang -- Boey Maun Suang (Boey is my surname) Email: boeyms at macports dot org
Hi Maun Suang, On Mon, Jun 04, 2007 at 06:26:15PM +1000, Boey Maun Suang wrote:
My attempt to install the gcc42 port failed. The full output of 'sudo port -v install gcc42' is available at <URL:http://www.cdc.informatik.tu-darmstadt.de/~cludwig/ install_gcc42.log>, the last lines with the error message are copied below. Does anyone know what's going on?
<snip />
/opt/local/i386-apple-darwin8.9.1/bin/ar: ./libgcov.a: Invalid operation /opt/local/i386-apple-darwin8.9.1/bin/ar: ./libgcc.a: Invalid operation make[4]: *** [libgcov.a] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: *** [libgcc.a] Error 1 make[3]: *** [stmp-multilib] Error 2 make[2]: *** [all-stage1-gcc] Error 2 make[1]: *** [stage1-bubble] Error 2 make: *** [bootstrap] Error 2
If the full output that you provided the link for [1], I noticed the following line just after the first instance of the text I've quoted above:
Error: Target com.apple.build returned: shell command " cd "/opt/ local/var/db/dports/build/ _opt_local_var_db_dports_sources_rsync.rsync.macports.org_dpupdate_dport s_lang_gcc42/work/build" && make bootstrap -j 2 " returned error 2
It seems that you've set the -j flag somewhere to try to speed up make by getting it to do two operations in parallel, but unfortunately that's known to break builds if the Makefiles don't quite specify the dependencies correctly. Try removing the -j flag from wherever you've set it and see if that helps.
the make option '-j 2' is set by the port file, not by me: castellio:~/tmp cludwig$ port cat gcc42 | grep '^build.args' build.args -j 2 I therefore cannot unset it, short of modifying the port myself. BTW, I opened a ticket for this issue (#12065). Regards Christoph -- FH Worms - University of Applied Sciences Fachbereich Informatik / Telekommunikation Erenburgerstr. 19, 67549 Worms, Germany
Hi Christoph,
the make option '-j 2' is set by the port file, not by me:
castellio:~/tmp cludwig$ port cat gcc42 | grep '^build.args' build.args -j 2
<slaps forehead /> How silly of me not to check the Portfile; sorry about that. It built fine for me on an Intel Core Duo Macbook Pro, and apparently for others as well, which is why I assumed the problem was elsewhere.
I therefore cannot unset it, short of modifying the port myself.
One is supposed to be able to set at least some arguments on the command line like this: port install gcc42 build.args="-j 1" If that doesn't work, it actually shouldn't be that painful to edit the Portfile in your local tree; it should be in ${prefix}/var/db/ dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/lang/gcc42/ Portfile, in which case you can just delete the build.args line. Note that it will be overwritten when you next run "port selfupdate" or "port sync", but it should be fine for testing whether or not removing the -j flag fixes the problem for you -- provided you have the time an patience to wait for it to build :-) Now that I think about it further, there might be something else to try: without modifying build.args on the commandline or in the port file, try installing it, wait for it to fail, and then try it again straight away (make will try to pick up from where it left off). I did that when I was mucking around with -j on another port, and that at least enabled the build to work. It's not really a solution, but if it works, it's a workaround that should at least be faster than "- j 1". Kind regards, Maun Suang -- Boey Maun Suang (Boey is my surname) Email: boeyms at macports dot org
Hi Maun Suang, On Tue, Jun 05, 2007 at 12:22:52PM +1000, Boey Maun Suang wrote:
the make option '-j 2' is set by the port file, not by me:
castellio:~/tmp cludwig$ port cat gcc42 | grep '^build.args' build.args -j 2
<slaps forehead />
How silly of me not to check the Portfile; sorry about that. It built fine for me on an Intel Core Duo Macbook Pro, and apparently for others as well, which is why I assumed the problem was elsewhere.
I therefore cannot unset it, short of modifying the port myself.
One is supposed to be able to set at least some arguments on the command line like this:
port install gcc42 build.args="-j 1"
ah, I did not know that.
If that doesn't work, it actually shouldn't be that painful to edit the Portfile in your local tree; it should be in ${prefix}/var/db/ dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/lang/gcc42/ Portfile, in which case you can just delete the build.args line. Note that it will be overwritten when you next run "port selfupdate" or "port sync", but it should be fine for testing whether or not removing the -j flag fixes the problem for you -- provided you have the time an patience to wait for it to build :-)
The time it needs to build does not matter. I certainly have enough tasks on my stack to keep me busy while gcc42 is being built. :-)
Now that I think about it further, there might be something else to try: without modifying build.args on the commandline or in the port file, try installing it, wait for it to fail, and then try it again straight away (make will try to pick up from where it left off).
I am going to attach the output of ´sudo port -v install gcc42 build.args='-j 1'´. It did in fact pick up where the previous build failed, but failed again when the next archive was to be built. :-( You can see in the logs that configure decided to use the ´ar´ installed by the binutils port. (The link in /opt/local/bin is named ´gar´ to avoid conflicts with Appöe's ar, but the link in /opt/local/i386-apple-darwin8.9.1/bin/ is named ´ar´.) Could this be the cause? Do you have the binutils port installed? Regards Christoph -- FH Worms - University of Applied Sciences Fachbereich Informatik / Telekommunikation Erenburgerstr. 19, 67549 Worms, Germany
Hi Christoph,
You can see in the logs that configure decided to use the ´ar´ installed by the binutils port. (The link in /opt/local/bin is named ´gar´ to avoid conflicts with Appöe's ar, but the link in /opt/local/i386-apple-darwin8.9.1/bin/ is named ´ar´.) Could this be the cause? Do you have the binutils port installed?
I think you may indeed be onto something here, as I did not have binutils installed. I'll see if I can reproduce your problem after installing it. Maybe we can rescue the "-j 2" flag after all! Kind regards, Maun Suanag -- Boey Maun Suang (Boey is my surname) Email: boeyms at macports dot org
Hi Christoph,
You can see in the logs that configure decided to use the ´ar´ installed by the binutils port. (The link in /opt/local/bin is named ´gar´ to avoid conflicts with Appöe's ar, but the link in /opt/local/i386-apple-darwin8.9.1/bin/ is named ´ar´.) Could this be the cause? Do you have the binutils port installed?
Further to my last email on this, I installed binutils and got exactly the error you described, then deactivated binutils, cleaned gcc42 and tried installing gcc42 again, and it worked fine. See if you can do a clean install of gcc42 after deactivating binutils. If that works, it would be great if you could file a ticket about the problem (if you do, don't forget to put yourself and the maintainers of binutils and gcc42 into the Cc: field on the ticket, as the MacPorts Trac installation doesn't currently forward automatically to the reporter or assignee). Kind regards, Maun Suang -- Boey Maun Suang (Boey is my surname) Email: boeyms at macports dot org
Hi Maun Suang, On Wed, Jun 06, 2007 at 10:46:08PM +1000, Boey Maun Suang wrote:
You can see in the logs that configure decided to use the ´ar´ installed by the binutils port. (The link in /opt/local/bin is named ´gar´ to avoid conflicts with Appöe's ar, but the link in /opt/local/i386-apple-darwin8.9.1/bin/ is named ´ar´.) Could this be the cause? Do you have the binutils port installed?
Further to my last email on this, I installed binutils and got exactly the error you described, then deactivated binutils, cleaned gcc42 and tried installing gcc42 again, and it worked fine. See if you can do a clean install of gcc42 after deactivating binutils.
I deactivated binutils and, yes, gcc42 built just fine.
If that works, it would be great if you could file a ticket about the problem (if you do, don't forget to put yourself and the maintainers of binutils and gcc42 into the Cc: field on the ticket, as the MacPorts Trac installation doesn't currently forward automatically to the reporter or assignee).
I already have an open ticket; I will add this information and also add the CCs. (It would be nice if onthe form there were an indication along the Cc: field like "put the maintainer and yourself in here". Of course, it would be even better if track did that automatically, but let's stick to humble wishes. :-) ) Thanks! Christoph -- FH Worms - University of Applied Sciences Fachbereich Informatik / Telekommunikation Erenburgerstr. 19, 67549 Worms, Germany
Hi Christoph,
I deactivated binutils and, yes, gcc42 built just fine.
Excellent!
I already have an open ticket; I will add this information and also add the CCs. (It would be nice if onthe form there were an indication along the Cc: field like "put the maintainer and yourself in here". Of course, it would be even better if track did that automatically, but let's stick to humble wishes. :-) )
Sorry that I missed your ticket. It turns out that the installed version of Trac _can_ automatically notify the reporter and assignee [1], and the MacOSforge admins have been contacted about this, but they are yet to enable it. Here's hoping :-) Kind regards, Maun Suang [1] http://trac.macosforge.org/projects/macports/wiki/ TracNotification#ConfiguringSMTPNotification -- Boey Maun Suang (Boey is my surname) Email: boeyms at macports dot org
participants (2)
-
Boey Maun Suang
-
Christoph Ludwig