4

Fix Missing Headers Compiling on macOS Mojave

 2 years ago
source link: https://donatstudios.com/MojaveMissingHeaderFiles
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Fix Missing Headers Compiling on macOS Mojave

Comments:

Tags: XcodeWalkthroughPHPMacOS

By Jesse Donat on Oct. 2, 2018 (Updated: Jul. 8, 2019)

Update

It would appear that the latest version of Xcode has removed the macOS_SDK_headers_for_macOS_10.14.pkg file. I am currently searching for alternative solutions.

While trying to compile PHP extensions after installing macOS Mojave, I was butting up against a ton of missing header file errors including php.h and zlib.

After several hours of beating my head against my desk and Googling/Stack Overflowing I found the solution.

Ends up you just need to force re-install the header files. Special thanks to @sfdye for the solution!

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

If you get an error about that file not existing, you probably simply don't have the Xcode command line tools installed which can be remedied simply as follows:

$ xcode-select --install

Comment by: Matthew Koski on Oct. 6, 2018

Matthew Koski's Gravatar Thank you so much for this! Google please make this the number one result when someone is having trouble with headers suddenly on Mojave. For me it was ctypes.h.

Comment by: Pooya Raki on Dec. 7, 2018

Pooya Raki's Gravatar Thanks so much dude, It worked indeed. Gonna share this on my blog.

Comment by: Pablo on Mar. 9, 2019

Pablo's Gravatar Thanks, solved my issues when compiling C++ as well!

Comment by: Ali on Mar. 18, 2019

Ali's Gravatar After beating my head to against my desk, walls, laptop, and every single thing around me for a whole week, finally got the answer to the damn problem.

Thank you Jesse. You saved my life.

Comment by: igonejack on Apr. 22, 2019

igonejack's Gravatar ```
cd /Library/Developer/CommandLineTools/Packages
open macOS_SDK_headers_for_macOS_xx.pgk
```

Try this if you still missing C headers.

Comment by: michel on Jul. 6, 2019

michel's Gravatar I get :
installer: Error - the package path specified was invalid: '/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg'.

whats wrong?

Comment by: Brian Eng on Jul. 11, 2019

Brian Eng's Gravatar I found a solution that works for me. With 10.14.5, the
'/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg' package is removed.

Instead you have to point it to where the headers are in the Xcode package. In my .bash_profile I added this:
export CPATH="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include"

Comment by: mech on Aug. 3, 2019

mech's Gravatar https://stackoverflow.com/questions/54828310/problems-installing-mysql2-gem

Maybe use this?

bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"

Comment by: Ben Smith on Aug. 13, 2019

Ben Smith's Gravatar Thanks for posting this!

A gotcha I ran into is xcode-select was already installed but without header files. To correct this remove the old command line tools with:
$ (sudo) rm -rf /Library/Developer/CommandLineTools

Then install command line tooks ala:
$ xcode-select --install

Then finally your header file line.

Comment by: Aaron on Sep. 4, 2019

Aaron's Gravatar @Brian Eng

I love you, Thank you. This worked for me.

Comment by: Z Knight on Oct. 15, 2019

Z Knight's Gravatar This file does not exist!
Why is this working for so many people but not me???

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

installer: Error - the package path specified was invalid: '/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg'.


$ ll /Library/Developer/CommandLineTools/

total 0
drwxr-xr-x 6 root admin 192 Jun 5 01:52 Library
drwxr-xr-x 6 root wheel 192 Jun 5 01:52 SDKs
drwxr-xr-x 7 root admin 224 Oct 19 2018 usr

Comment by: l on Oct. 22, 2019

l's Gravatar @z Knight I had the same issue with mine - I went to https://developer.apple.com/download/more/ and downloaded the Command Line Tools (macOS 10.14) for Xcode 10.3 June 22, 2019.

This added the .pkg to the file. however it didn't fix the issue I was having (being told I need to install development tools first).

Comment by: Micha on Nov. 1, 2019

Micha's Gravatar When using

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target / -allowUntrusted

i get the error:
installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)

Mac OS 10.14.6
If I don't add "-allowUntrusted", it states "Certificate used to sign package is not trusted.".

Does anybody else have the same problem?

Comment by: Micha on Nov. 1, 2019

Micha's Gravatar removing and reinstalling the CLT solved the issue...

Comment by: Jeff Bonhag on Nov. 9, 2019

Jeff Bonhag's Gravatar I found this page Googling a similar problem for Nokogiri so I thought I would share another hard-won lesson on macOS gembuilding.

On macOS Catalina, while trying to bundle install a Gemfile with a Nokogiri dependency, I kept hitting:

> libiconv is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

Solution:

brew install libiconv
bundle config build.nokogiri --with-iconv-dir=/usr/local/opt/libiconv
bundle install --path vendor/bundle

Cheers!

Comment by: MacrossEO on Nov. 28, 2019

MacrossEO's Gravatar Im using MacOS 10.14.5

For me, the solution was:

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
cd /Library/Developer/CommandLineTools/Packages/
open macOS_SDK_headers_for_macOS_10.14.pkg


Cheers!

Comment by: bb cody on Jan. 11, 2020

bb cody's Gravatar 4-liner above worked for me, posted by MacrossEO on Nov. 28, 2019
my own context was for local ruby build for heroku app,
in which ruby.h was not found because mac os xcode upgrade
dropped its default install of (some? all?) include files;
in order to get a successful
bundle install
and specifically
sudo gem install nokogiri -v '1.10.4' --source 'https://rubygems.org/'

Comment by: Hari on Apr. 13, 2020

Hari's Gravatar May be because I use DuckDuckGo -- this came up in the first few links! Thanks, helped me sort out why 'gem <> install --user-install'

Comment by: annoporci on May. 18, 2020

annoporci's Gravatar Tried MacrossEO's suggestion, but to begin with I have no `Packages` subdirectory under `CommandLineTools`, instead I have:

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk

Is there anything I could try next? Thanks.

Comment by: João on May. 24, 2020

João's Gravatar I have the same issue. No Packages folder,, just:

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk

macOS 10.15 (Catalina)

I keep getting this error when compiling: fatal error: 'string.h' file not found...

Thanks

Comment by: Madhusudan D Sangam on Aug. 24, 2020

Madhusudan D Sangam's Gravatar Hi Everyone,

Hope all are well and Safe,

as anooprci and Joao, i am also facing the similar issue,
is there any way to fix it,


/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk

macOS 10.15 (Catalina)

How to fix it.

Comment by: Sadhakka on Aug. 28, 2020

Sadhakka's Gravatar I'm fighting with same problem.
`export CPATH="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include"`
not helped, and after reinstall xcode old version (MacOSX10.14.sdk) is gone

Comment by: Yujuan Gui on Sep. 24, 2020

Yujuan Gui's Gravatar This works for me.

I have macOS Catalina 10.15.6

https://thecoatlessprofessor.com/programming/cpp/r-compiler-tools-for-rcpp-on-macos/

Comment by: Valera on Oct. 22, 2020

Valera's Gravatar With Catalina 10.15 I've added the line below to my ~/.bash_profile:
export CPATH="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include"

Check twice, that this path exists. There are might be some variants, e.g. MacOSX10.14.sdk or MacOSX10.15.sdk

Comment by: Ella on Nov. 30, 2020

Ella's Gravatar I found this page Googling a similar problem for Nokogiri so I thought I would share another hard-won lesson on macOS building. The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance. Thank you so much for this! Google please make this the number one result when someone is having trouble with headers suddenly on Mojave.

https://www.ornamentsbyelves.com/sports-activities/hiking-and-climbing.html

Comment by: Sven Akelian on May. 17, 2021

Sven Akelian's Gravatar Thanks a lot!!! I literally spent days on this trying to build a plugin for an old software

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK