[MacPorts] #34233: apple-gcc42 doesn't honor -isysroot correctly
MacPorts
noreply at macports.org
Thu May 17 09:51:03 PDT 2012
#34233: apple-gcc42 doesn't honor -isysroot correctly
-----------------------------------+----------------------------------------
Reporter: jeremyhu@… | Owner: royliu@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.0.4
Keywords: | Port: apple-gcc42
-----------------------------------+----------------------------------------
Comment(by jeremyhu@…):
Use -v with a sample compile, and you will see. The problem is that
-I/opt/local/include becomes ${SDKROOT}/usr/include. So a case where this
fails is for anything built which wants to use anything from MacPorts.
Without -isysroot, gcc -v shows the search path as:
{{{
/opt/local/include
/usr/local/include
/opt/local/lib/apple-gcc42/gcc/i686-apple-darwin12/4.2.1/include
/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
}}}
With -isysroot and my patch, gcc shows it as:
{{{
/opt/local/include
/opt/local/lib/apple-gcc42/gcc/i686-apple-darwin12/4.2.1/include
${SDKROOT}/usr/include
${SDKROOT}/System/Library/Frameworks (framework directory)
}}}
ie, it looks for /usr/{local/,}include and {/S,}/L/F content inside the
SDKROOT but not the compiler's internals. Your patch doesn't match that
behavior. It does as you described above. #1 is correct. #2 isn't.
--
Ticket URL: <https://trac.macports.org/ticket/34233#comment:17>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list