Opened 15 years ago

Closed 14 years ago

Last modified 14 years ago

#22063 closed defect (fixed)

gcc44 and gcc45 conflict on ${prefix}/share/python/aotcompile.py

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: Cc: jschwab@…, skymoo (Adam Mercer), gamperl@…
Port: gcc44, gcc45, gcc46

Description

Previously, multiple gcc ports could be installed simultaneously, but it appears gcc44 and gcc45 (with the +java variant, whose functionality along with that of the gfortran variant will, I expect, become always-on once gcc45 becomes stable) both try to install the file ${prefix}/share/python/aotcompile.py thus making them conflict.

$ sudo port install gcc45 +java
--->  Computing dependencies for gcc45
--->  Fetching gcc45
--->  Verifying checksum(s) for gcc45
--->  Extracting gcc45
--->  Configuring gcc45
--->  Building gcc45
--->  Staging gcc45 into destroot
--->  Installing gcc45 @4.5-20091001_0+java
--->  Activating gcc45 @4.5-20091001_0+java
Error: Target org.macports.activate returned: Image error: /opt/local/share/python/aotcompile.py is being used by the active gcc44 port.  Please deactivate this port first, or use 'port -f activate gcc45' to force the activation.
Error: Status 1 encountered during processing.

Change History (11)

comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: gcc44 and gcc45 +java conflict on ${prefix}/share/python/aotcompile.pygcc44 and gcc45 conflict on ${prefix}/share/python/aotcompile.py

This issue is now more acute since gcc45 was updated to released version 4.5.0 and was changed to always install the fortran and java parts.

comment:2 Changed 14 years ago by jschwab@…

Cc: jschwab@… added

Cc Me!

comment:3 Changed 14 years ago by mww@…

I assume that adding --datarootdir=${prefix}/share/gcc-${major} to configure.args will fix this problem; if so, I'll up the revision and add this to both, gcc44 and gcc45;

comment:4 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

I tried adding this option to gcc45 and the build failed in a way that didn't seem related:

Comparing stages 2 and 3
warning: gcc/cc1-checksum.o differs
warning: gcc/cc1obj-checksum.o differs
warning: gcc/cc1objplus-checksum.o differs
warning: gcc/cc1plus-checksum.o differs
Bootstrap comparison failure!
x86_64-apple-darwin10/i386/libgomp/.libs/bar.o differs
x86_64-apple-darwin10/i386/libgomp/.libs/barrier.o differs
[snip]
x86_64-apple-darwin10/libgomp/team.o differs
x86_64-apple-darwin10/libgomp/work.o differs
make[2]: *** [compare] Error 1
make[1]: *** [stage3-bubble] Error 2
make: *** [bootstrap] Error 2

With gcc44 the option appears to be --with-datarootdir; I tried using it and the build succeeded but it didn't seem to make a difference; aotcompile.py ended up in the same place.

comment:5 Changed 14 years ago by mww@…

ah, crap -- doesnt seem to make a difference for gcc45 neither -- aotcompile.py is still in place :(

comment:6 Changed 14 years ago by skymoo (Adam Mercer)

Cc: ram@… added

Cc Me!

comment:7 Changed 14 years ago by gamperl@…

Cc: gamperl@… added

Cc Me!

comment:8 Changed 14 years ago by skymoo (Adam Mercer)

I believe this is no longer a problem:

$ port installed gcc44 gcc45
The following ports are currently installed:
  gcc44 @4.4.4_1 (active)
  gcc45 @4.5.0_2 (active)
$

comment:9 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Markus fixed this for gcc44 in r67117 and for gcc45 in r67118.

comment:10 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

And I fixed this for gcc46 in r68879.

comment:11 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)

Port: gcc46 added
Note: See TracTickets for help on using tickets.