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