On Mar 20, 2009, at 17:53, Thomas De Contes wrote:

Le 16 mars 09 à 00:05, Ryan Schmidt a écrit :

On Mar 15, 2009, at 17:36, Thomas De Contes wrote:

i updade MacPorts, and at the step "port upgrade outdated" it always sets
checking for gcc... /usr/bin/gcc-4.0

whereas /usr/bin/gcc-4.0 does not exist and /usr/bin/gcc points on gcc-3.3


what is the problem ?

/usr/bin/gcc-4.0 should exist, and /usr/bin/gcc should point to it, on Tiger and later.

ok
if /usr/bin/gcc-4.0 exists but /usr/bin/gcc does not point to it, it's not right ?

If /usr/bin/gcc-4.0 exists but /usr/bin/gcc points to gcc-3.3 then you have most likely used the gcc_select program to select gcc 3.3. This should not affect the majority of ports since MacPorts tells ports to use /usr/bin/gcc-4.0 by default on Tiger and later. Specific ports may override this as needed. For example some very old software must compile with gcc-3.3 because gcc-4.0 is too new; in this case, those ports indicate this requirement and MacPorts allows them to use gcc-3.3 instead.

Some ports do not pay attention to the compiler MacPorts tells them to use, and they instead use just "cc" or "gcc" in which case they will use whatever you have gcc_select'ed, so gcc_select'ing something other than the default gcc-4.0 can still cause problems. But it is a bug for ports to use "cc" or "gcc" instead of what MacPorts tells them to use, and if you find a port that does this, you should file a bug against that port.

Because you are getting the message

checking for gcc... /usr/bin/gcc-4.0
checking for C compiler default output... configure: error: C compiler cannot create executables

I believe /usr/bin/gcc-4.0 either does not exist on your system or it is broken in some way (perhaps some of its support files are missing).


MacPorts will use /usr/bin/gcc-4.0 on Tiger and later, and /usr/ bin/gcc-3.3 on Panther.

ok

What OS version do you have? What version of Xcode?

checking Mac OS X version... 10.4.11
checking Xcode version... 2.4.1

Xcode 2.4.1 is probably fine on Tiger. 2.5 is the latest available but I used 2.4.1 for a long time and it works fine. And it certainly should provide /usr/bin/gcc-4.0.


Try reinstalling the latest version of Xcode for your OS.

ok

i would like to install as less as possible
which part of xcode do you think is necessary, please ? :-)

developer tools software ?
gcc 4.0 ?
software development kits ?

I don't know specifically what component of Xcode provides gcc-4.0 but if it's missing on your system, then reinstall (all of) Xcode 2.4.1 or 2.5.


btw,

why does it work fine to build MacPorts itself, with gcc 3.3, and not to build software ?

Port authors have limited resources with which to test ports. Usually people only have a single Mac, running either Leopard or Tiger, with either an Intel or PowerPC processor. This means most port authors are only testing on 1/4 of the supported systems. Problems can crop up on the remaining 3/4 of the supported systems the author did not test on.

We do not want to increase the testing burden even further by allowing users to compile ports with a different compiler than the one the port author tested with. For this reason, MacPorts instructs ports to ignore what the user has gcc_selected'ed and instead to use a specific compiler on specific OS versions (3.3 on Panther, 4.0 on Tiger and Leopard). Individual ports can override this if it's necessary for those ports, but users are not supposed to override this.


why does it say :
checking for gcc... /usr/bin/gcc-4.0
checking for C compiler default output... configure: error: C compiler cannot create executables
rather than sth like
checking for gcc... /usr/bin/gcc-4.0 not found
?
and why not searh for gcc-4.0 in $PATH ?

Here you are asking about the configure script of the port you were trying to install. For questions about why that configure script does what it does, you'll have to ask the authors of that software, or probably the authors of autotools, since this looks like the output from a standard autotools-generated configure script.

But as I understand it, "checking for gcc" does not mean "checking where on your system gcc is located". Instead, it means "checking if you have asked me to use a specific gcc" and the answer is "you have asked me to use /usr/bin/gcc-4.0" which is correct. The fact that / usr/bin/gcc-4.0 doesn't actually exist on your system is a problem on your system.

As explained above, it is not desired in MacPorts to search for the compiler anywhere. It is desired to use a very specific compiler which is always located at a specific path (which may vary from port to port and OS to OS, but not from user to user).


_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to