Broken c++ std libraries on macOS High Sierra 10.13

20,527

Solution 1

I had exactly the same problem after transferring to macOS High Sierra (though, errors were not the same, but similar).

I found a workaround by renaming /usr/local/include to /usr/local/include_old (well, name does not really matter, just the fact that g++/clang will not search for headers in this folder anymore).

Solution 2

I had exactly the same problem today and after executing xcode-select --install, everything works fine!

Solution 3

I had the same issue after upgrading to MacOS Mojave 10.14.4 and Xcode 10.2

The issue got resolved, after installing the package /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Solution 4

Same error I encountered on golang recently.

This was my solution: rm -rf /usr/local/include

I'm guessing the higher version of MacOS (I'm currently on BigSur) doesn't need that folder anymore so you might save a little bit of storage space if the folder is going to be deleted.

Solution 5

Check that you don't include "/usr/local/include" into headers search path of your project.

Share:
20,527
Marcadia
Author by

Marcadia

Updated on July 09, 2022

Comments

  • Marcadia
    Marcadia almost 2 years

    I recently bought a new MacBook on which I transferred my old session. Since then, and after i upgraded to 10.13, i can't get clang to compile anything including only iostream.
    Given this program :

    #include <iostream>
    
    int main(void)
    {
        std::cout << "Hello world !" << std::endl;
        return 0;
    }
    

    gives my this output when g++ main.cpp :

    In file included from main.cpp:1:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iostream:38:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ios:216:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__locale:15:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:470:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:171:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__string:56:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:640:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:629:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/typeinfo:61:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/exception:82:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstdlib:86:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:94:
    In file included from /usr/include/stdlib.h:65:
    In file included from /usr/include/sys/wait.h:110:
    In file included from /usr/include/sys/resource.h:72:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdint.h:119:
    In file included from /usr/local/include/stdint.h:82:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/inttypes.h:247:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/include/inttypes.h:30:
    /usr/include/inttypes.h:235:8: error: unknown type name 'intmax_t'
    extern intmax_t
           ^
    /usr/include/inttypes.h:236:9: error: unknown type name 'intmax_t'
    imaxabs(intmax_t j);
            ^
    /usr/include/inttypes.h:240:2: error: unknown type name 'intmax_t'
            intmax_t quot;
            ^
    /usr/include/inttypes.h:241:2: error: unknown type name 'intmax_t'
            intmax_t rem;
            ^
    /usr/include/inttypes.h:246:9: error: unknown type name 'intmax_t'
    imaxdiv(intmax_t __numer, intmax_t __denom);
            ^
    /usr/include/inttypes.h:246:27: error: unknown type name 'intmax_t'
    imaxdiv(intmax_t __numer, intmax_t __denom);
                              ^
    /usr/include/inttypes.h:250:8: error: unknown type name 'intmax_t'
    extern intmax_t
           ^
    /usr/include/inttypes.h:256:8: error: unknown type name 'uintmax_t'; did you
          mean 'uintptr_t'?
    extern uintmax_t
           ^
    /usr/include/sys/_types/_uintptr_t.h:30:24: note: 'uintptr_t' declared here
    typedef unsigned long           uintptr_t;
                                    ^
    In file included from main.cpp:1:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iostream:38:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ios:216:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__locale:15:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:470:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:171:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__string:56:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:640:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:629:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/typeinfo:61:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/exception:82:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstdlib:86:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:94:
    In file included from /usr/include/stdlib.h:65:
    In file included from /usr/include/sys/wait.h:110:
    In file included from /usr/include/sys/resource.h:72:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdint.h:119:
    In file included from /usr/local/include/stdint.h:82:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/inttypes.h:247:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/include/inttypes.h:30:
    /usr/include/inttypes.h:263:8: error: unknown type name 'intmax_t'
    extern intmax_t
           ^
    /usr/include/inttypes.h:269:8: error: unknown type name 'uintmax_t'; did you
          mean 'uintptr_t'?
    extern uintmax_t
           ^
    /usr/include/sys/_types/_uintptr_t.h:30:24: note: 'uintptr_t' declared here
    typedef unsigned long           uintptr_t;
                                    ^
    In file included from main.cpp:1:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/iostream:38:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/ios:216:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__locale:15:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:470:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:171:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__string:56:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:640:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:629:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/typeinfo:61:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/exception:82:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstdlib:86:
    In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:94:
    In file included from /usr/include/stdlib.h:65:
    In file included from /usr/include/sys/wait.h:110:
    /usr/include/sys/resource.h:197:2: error: unknown type name 'uint64_t'
            uint64_t ri_user_time;
            ^
    /usr/include/sys/resource.h:198:2: error: unknown type name 'uint64_t'
            uint64_t ri_system_time;
            ^
    /usr/include/sys/resource.h:199:2: error: unknown type name 'uint64_t'
            uint64_t ri_pkg_idle_wkups;
            ^
    /usr/include/sys/resource.h:200:2: error: unknown type name 'uint64_t'
            uint64_t ri_interrupt_wkups;
            ^
    /usr/include/sys/resource.h:201:2: error: unknown type name 'uint64_t'
            uint64_t ri_pageins;
            ^
    /usr/include/sys/resource.h:202:2: error: unknown type name 'uint64_t'
            uint64_t ri_wired_size;
            ^
    /usr/include/sys/resource.h:203:2: error: unknown type name 'uint64_t'
            uint64_t ri_resident_size;
            ^
    /usr/include/sys/resource.h:204:2: error: unknown type name 'uint64_t'
            uint64_t ri_phys_footprint;
            ^
    /usr/include/sys/resource.h:205:2: error: unknown type name 'uint64_t'
            uint64_t ri_proc_start_abstime;
            ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    20 errors generated.
    

    I tried the following :

    • Reset CLT with Xcode-select --reset
    • Reinstall CLT
    • Reinstall Xcode

    None of these solution worked and this starting to drive me crazy. Does somebody has the same problem and found a solution ?

    EDIT : Xcode C++ Projects are successfully compiling, still don't understand why it would not in a terminal.

  • Marcadia
    Marcadia over 6 years
    Well, it's not about warnings, but errors. I wouldn't mind if it was only some linker's warnings
  • j1nma
    j1nma over 6 years
    Thanks! Dirty solution though, Apple should really fix this quick.
  • MrProper
    MrProper over 6 years
    Nice! You can confirm this by running cpp -v. I still see /usr/local/include getting searched however as it's not there nothing is found anymore: ignoring nonexistent directory "/usr/local/include"
  • Naive Developer
    Naive Developer over 5 years
    It doesn't work for me ... now I have the following error: undefined symbols for architecture x86_64:"_stdscr", referenced from
  • hrdwdmrbl
    hrdwdmrbl over 5 years
    Could someone explain what I'm doing when I do this? It feels dangerous
  • Ben Hull
    Ben Hull over 5 years
    This happened to me after migrating a Mojave (10.14) install to a new machine (same OS). Tried tons of stuff, and then tried this as a last resort. Fixed!
  • Mathyn
    Mathyn about 5 years
    You are referring to a file on your local file system. Are you sure this package is available on OP's system?
  • rjferguson
    rjferguson about 5 years
    I believe this comes with the XCode installation, since it was also on my system in the exact same place. The other answers did not work for me, this was the only one that solved my problem.
  • melMass
    melMass over 4 years
    Yes, the PKG file is created upon xcode-select --install
  • Juha Kervinen
    Juha Kervinen over 4 years
    Same thing happened to me after updating from Mojave to Catalina. Same solution worked in this case.
  • Dmytro
    Dmytro about 4 years
    In case someone is trying to build Ruby gems with native extensions on Mac OS 10.15 and is getting a weird error referencing a C-lang struct fields in resource.h, this is what fixed the issue for me.
  • Nawaz
    Nawaz almost 4 years
    How did you install that?