> On Feb 7, 2021, at 5:39 PM, Christopher Jones <[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 
--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
>> > 
>> 
> 

Reply via email to