what happens if you set SDKROOT and then try again

export SDKROOT=`xcrun --show-sdk-path`

?

> On 7 Feb 2021, at 11:12 pm, Carlo Tambuatco <[email protected]> wrote:
> 
> 
> 
>> On Feb 7, 2021, at 5:39 PM, Christopher Jones <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> macOS 11 brought big changes to how Apple versions its SDKs. They now 
>> potentially change each minor update, and as such we had to figure out how 
>> to deal with this.
>> 
>> gcc is built against a specific SDK, and to handle this unpredictably it was 
>> recently changed to use the unversioned SDK, instead of a versioned one, 
>> where required.
>> 
>> https://github.com/macports/macports-ports/commit/e8866c5019d60832527850b4e50fdc1de8878716#diff-5aeb3e82f6999f57229a816d2877a6232489c3484ac3e6716cb7e62b5a82696f
>>  
>> <https://github.com/macports/macports-ports/commit/e8866c5019d60832527850b4e50fdc1de8878716#diff-5aeb3e82f6999f57229a816d2877a6232489c3484ac3e6716cb7e62b5a82696f>
>> 
>> Are you on maOS 11 ?
>> 
>> please post the output you get from your failing build, showing the full 
>> command line you use, and the full output, and include the -v option to get 
>> additional diagnostic output.
>> 
>> Chris
> 
> Using macOS Catalina 10.15.7
> 
> 
> Here’s my CPATH environment variable, which up until the gcc9 upgrade, worked 
> fine to relay the location of 
> relevant include paths: 
> 
> CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include:/usr/local/include:/opt/local/include:/usr/local/dart-sdk/include:/Library/Frameworks/R.framework/Resources/include
> 
> 
> Also, here’s the contents of my SDKs directory in XCode 12.4: 
> 
> pwd = 
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
> 
> 
> drwxr-xr-x 5 root wheel 160 Nov 30 07:27 DriverKit20.2.sdk/
> drwxr-xr-x 7 root wheel 224 Nov 30 07:27 MacOSX.sdk/
> lrwxr-xr-x 1 root wheel  10 Jan 27 04:53 MacOSX11.1.sdk -> MacOSX.sdk/
> 
> So it seems I’m using the SDK for macOS 11.1…
> 
> 
> Here’s the full output of the error using the -v option:
> 
> g++ -v -std=c++11  -c E2.5.2.cpp -o E2.5.2.o
> Using built-in specs.
> COLLECT_GCC=g++
> Target: x86_64-apple-darwin19
> Configured with: 
> /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_lang_gcc9/gcc9/work/gcc-9.3.0/configure
>  --prefix=/opt/local --build=x86_64-apple-darwin19 
> --enable-languages=c,c++,objc,obj-c++,lto,fortran,jit 
> --libdir=/opt/local/lib/gcc9 --includedir=/opt/local/include/gcc9 
> --infodir=/opt/local/share/info --mandir=/opt/local/share/man 
> --datarootdir=/opt/local/share/gcc-9 --with-local-prefix=/opt/local 
> --with-system-zlib --disable-nls --program-suffix=-mp-9 
> --with-gxx-include-dir=/opt/local/include/gcc9/c++/ --with-gmp=/opt/local 
> --with-mpfr=/opt/local --with-mpc=/opt/local --with-isl=/opt/local 
> --enable-stage1-checking --disable-multilib --enable-lto 
> --enable-libstdcxx-time --with-build-config=bootstrap-debug 
> --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld 
> --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket 
> <https://trac.macports.org/newticket> --enable-host-shared --disable-tls 
> --with-pkgversion='MacPorts gcc9 9.3.0_5' 
> --with-sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk
> Thread model: posix
> gcc version 9.3.0 (MacPorts gcc9 9.3.0_5) 
> COLLECT_GCC_OPTIONS='-v' '-std=c++11' '-c' '-o' 'E2.5.2.o' 
> '-mmacosx-version-min=10.15.0' '-asm_macosx_version_min=10.15' 
> '-shared-libgcc' '-mtune=core2'
>  /opt/local/libexec/gcc/x86_64-apple-darwin19/9.3.0/cc1plus -quiet -v 
> -D__DYNAMIC__ E2.5.2.cpp -fPIC -quiet -dumpbase E2.5.2.cpp 
> -mmacosx-version-min=10.15.0 -mtune=core2 -auxbase-strip E2.5.2.o -std=c++11 
> -version -o /var/folders/yh/ywbbh6_w8xl9_6006s6dywd80000gr/T//cc1Ruczn.s
> GNU C++11 (MacPorts gcc9 9.3.0_5) version 9.3.0 (x86_64-apple-darwin19)
>       compiled by GNU C version 9.3.0, GMP version 6.2.1, MPFR version 4.1.0, 
> MPC version 1.2.1, isl version isl-0.22.1-GMP
> 
> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
> ignoring nonexistent directory 
> "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/opt/local/include"
> ignoring nonexistent directory 
> "/opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/../../../../../x86_64-apple-darwin19/include"
> ignoring nonexistent directory 
> "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include"
> ignoring nonexistent directory 
> "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks"
> ignoring nonexistent directory 
> "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/Library/Frameworks"
> #include "..." search starts here:
> #include <...> search starts here:
>  
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
>  /usr/local/include
>  /opt/local/include
>  /usr/local/dart-sdk/include
>  /Library/Frameworks/R.framework/Resources/include
>  /opt/local/include/gcc9/c++/
>  /opt/local/include/gcc9/c++//x86_64-apple-darwin19
>  /opt/local/include/gcc9/c++//backward
>  /opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include
>  /opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include-fixed
> End of search list.
> GNU C++11 (MacPorts gcc9 9.3.0_5) version 9.3.0 (x86_64-apple-darwin19)
>       compiled by GNU C version 9.3.0, GMP version 6.2.1, MPFR version 4.1.0, 
> MPC version 1.2.1, isl version isl-0.22.1-GMP
> 
> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
> Compiler executable checksum: 45101e0fe9cd9377caa0fee122dd387a
> In file included from /opt/local/include/gcc9/c++/ext/string_conversions.h:41,
>                  from /opt/local/include/gcc9/c++/bits/basic_string.h:6493,
>                  from /opt/local/include/gcc9/c++/string:55,
>                  from /opt/local/include/gcc9/c++/bits/locale_classes.h:40,
>                  from /opt/local/include/gcc9/c++/bits/ios_base.h:41,
>                  from /opt/local/include/gcc9/c++/ios:42,
>                  from /opt/local/include/gcc9/c++/ostream:38,
>                  from /opt/local/include/gcc9/c++/iostream:39,
>                  from ../../standard_includes.h:1,
>                  from E2.5.2.cpp:1:
> /opt/local/include/gcc9/c++/cstdlib:75:15: fatal error: stdlib.h: No such 
> file or directory
>    75 | #include_next <stdlib.h>
>       |               ^~~~~~~~~~
> compilation terminated.
> make: *** [../../Makefile-Template:10: E2.5.2.o] Error 1
> 
> 
> 
> 
> 
> 
> 
>> 
>>> On 7 Feb 2021, at 10:24 pm, Carlo Tambuatco <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Well what's odd is I'm only getting this error after upgrading to the 
>>> latest macports gcc9. Indeed when I use the XCode provided clang version of 
>>> gcc, it finds all the required libraries. My CPATH environment variable was 
>>> sufficient to specify the locations of the libraries before the upgrade, so 
>>> the question is, what changed post-upgrade?
>>> 
>>> On Sun, Feb 7, 2021, 5:03 PM Chris Jones <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> It sounds like your builds are not correctly specifying the SDK gcc is to 
>>> use. There are a number of ways you can do this, either by pass it via a 
>>> compiler flag, by running the complication through xcrun, or by setting the 
>>> SDKROOT variables to the required path.
>>> 
>>> Cheers Chris
>>> 
>>> > On 7 Feb 2021, at 9:25 pm, Carlo Tambuatco <[email protected] 
>>> > <mailto:[email protected]>> wrote:
>>> > 
>>> > I don’t know if this is a result of updating to the latest macports 
>>> > gcc9, or the update of XCode, but 
>>> > all of a sudden when I try to build my C++ program which includes 
>>> > <cstdio> I get this strange 
>>> > chain reaction of errors.
>>> > 
>>> > In file included from 
>>> > /opt/local/include/gcc9/c++/ext/string_conversions.h:41,
>>> >                 from /opt/local/include/gcc9/c++/bits/basic_string.h:6493,
>>> >                 from /opt/local/include/gcc9/c++/string:55,
>>> >                 from /opt/local/include/gcc9/c++/bits/locale_classes.h:40,
>>> >                 from /opt/local/include/gcc9/c++/bits/ios_base.h:41,
>>> >                 from /opt/local/include/gcc9/c++/ios:42,
>>> >                 from /opt/local/include/gcc9/c++/ostream:38,
>>> >                 from /opt/local/include/gcc9/c++/iostream:39,
>>> >                 from ../../standard_includes.h:1,
>>> >                 from E2.5.2.cpp:1:
>>> > /opt/local/include/gcc9/c++/cstdlib:75:15: fatal error: stdlib.h: No such 
>>> > file or directory
>>> >   75 | #include_next <stdlib.h>
>>> > 
>>> > 
>>> > From my makefile this seems to be the offending includes statement:
>>> > 
>>> > #include <iostream>
>>> > #include <cstdio>
>>> > 
>>> > 
>>> > I’ve googled and it seems that it can’t find stdlib.h, even though it is 
>>> > on my CPATH environment variable:
>>> > 
>>> > export 
>>> > CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include:/usr/local/include:/opt/local/include:/usr/local/dart-sdk/include:/Library/Frameworks/R.framework/Resources/include
>>> > 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to