> On Feb 7, 2021, at 6:18 PM, Christopher Jones <[email protected]> > wrote: > > > what happens if you set SDKROOT and then try again > > export SDKROOT=`xcrun --show-sdk-path` > > ? >
Hm… that seems to have done the trick. So, what changed between upgrades to gcc9…? It worked fine before. >> On 7 Feb 2021, at 11:12 pm, Carlo Tambuatco <[email protected] >> <mailto:[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 >>>> > >
