Broken c++ std libraries on macOS High Sierra 10.13
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.
Marcadia
Updated on July 09, 2022Comments
-
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.
- Reset CLT with
-
Marcadia over 6 yearsWell, it's not about warnings, but errors. I wouldn't mind if it was only some linker's warnings
-
j1nma over 6 yearsThanks! Dirty solution though, Apple should really fix this quick.
-
MrProper over 6 yearsNice! 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 over 5 yearsIt doesn't work for me ... now I have the following error:
undefined symbols for architecture x86_64:"_stdscr", referenced from
-
hrdwdmrbl over 5 yearsCould someone explain what I'm doing when I do this? It feels dangerous
-
Ben Hull over 5 yearsThis 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 about 5 yearsYou are referring to a file on your local file system. Are you sure this package is available on OP's system?
-
rjferguson about 5 yearsI 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 over 4 yearsYes, the PKG file is created upon xcode-select --install
-
Juha Kervinen over 4 yearsSame thing happened to me after updating from Mojave to Catalina. Same solution worked in this case.
-
Dmytro about 4 yearsIn 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 inresource.h
, this is what fixed the issue for me. -
Nawaz almost 4 yearsHow did you install that?