gcc/g++ failures after xcode11 update

Saagar Jha saagar at saagarjha.com
Wed Sep 25 03:32:19 UTC 2019


Saagar Jha

> On Sep 24, 2019, at 01:56, Christopher Jones <jonesc at hep.phy.cam.ac.uk> wrote:
> 
> Hi,
> 
> Note the error is not specific to gcc. Macports clang has the same problem.
> 
>  > clang++-mp-8.0 -O3 ./main.cpp 
> In file included from ./main.cpp:1:
> In file included from /opt/local/libexec/llvm-8.0/bin/../include/c++/v1/iostream:38:
> In file included from /opt/local/libexec/llvm-8.0/bin/../include/c++/v1/ios:215:
> In file included from /opt/local/libexec/llvm-8.0/bin/../include/c++/v1/iosfwd:96:
> /opt/local/libexec/llvm-8.0/bin/../include/c++/v1/wchar.h:119:15: fatal error: 'wchar.h' file not found
> #include_next <wchar.h>
>               ^~~~~~~~~
> 1 error generated.
> 
> The issue is both macports clang and gcc rely (by default) on /usr/include being present, and this is no longer present by default with Xcode 11, and even if you previously had it was likely wiped out with the last update.
> 
> Note, with 10.14 at least (*) you can add back /usr/include by following the instructions in 
> 
> https://apple.stackexchange.com/questions/337940/why-is-usr-include-missing-i-have-xcode-and-command-line-tools-installed-moja <https://apple.stackexchange.com/questions/337940/why-is-usr-include-missing-i-have-xcode-and-command-line-tools-installed-moja>
> 
> or, as you say below, explicitly giving the include path in some way, such as the suggestion below.
> 
> cheers Chris
> 
> (*) The package to add back /usr/include currently does not exist in 10.15 beta, so unless it reappears come final release this is going to be more of a problem thereā€¦.

This package is not going to be coming back: https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes#3035623 <https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes#3035623>

>> On 24 Sep 2019, at 7:09 am, Joshua Root <jmr at macports.org <mailto:jmr at macports.org>> wrote:
>> 
>> On 2019-9-24 15:31 , Mihir Luthra wrote:
>>> Hi,
>>> 
>>> After the xcode update, there have been many question on stackoverflow
>>> regarding gcc and g++ linking fails. Any ideas on what can be done?
>>> 
>>> https://stackoverflow.com/questions/58072318/cannot-link-any-c-program-with-gcc-on-mac-mojave <https://stackoverflow.com/questions/58072318/cannot-link-any-c-program-with-gcc-on-mac-mojave>
>>> 
>>> https://stackoverflow.com/questions/58073301/linker-error-when-trying-to-use-lzma-in-boostiostreams-from-macports
>>> 
>>> https://stackoverflow.com/questions/58071057/macports-g-fails-to-find-headers-after-recent-xcode-update
>>> 
>>> Mihir
>> 
>> Does passing -isysroot`xcrun --show-sdk-path` to the compiler not work?
>> 
>> While that should make it find headers again, I don't know how many bugs
>> it will uncover. I'm not sure how we would make this work out of the box
>> for everyone, since AIUI, gcc needs to apply different fixups to the
>> system headers depending on the SDK version and does so at build time.
>> So Apple taking away not only the SDK corresponding to the current OS
>> version but also /usr/include is quite problematic. We can ship a gcc
>> supporting the 10.14 SDK or the 10.15 SDK, but not both.
>> 
>> Rebuilding gcc from source would also work.
>> 
>> - Josh
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20190924/5fbc5422/attachment.html>


More information about the macports-dev mailing list