55

Attempting to install the zlib-devel on mac os x mavericks with homebrew doesn't work:

brew install zlib-devel
Error: No available formula for zlib-devel 
Searching taps...

This install

brew install zlib

works fine though.

Ivan
  • 7,448
  • 14
  • 69
  • 134

6 Answers6

78

Just run in the command line:

xcode-select --install

In OS X 10.9+, the command line developer tools are now installed on demand. So after running this also zlib and zlib-devel should be available (no need for brew install zlib...)

Patrik Bego
  • 4,009
  • 1
  • 26
  • 24
72

For OS X Mojave

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

The reason is because Xcode Command Line tools no longer installs needed headers in /include. You have to run a separate command to install the needed headers.

As noted here - https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes

The command line tools will search the SDK for system headers by default. However, some software may fail to build correctly against the SDK and require macOS headers to be installed in the base system under /usr/include. If you are the maintainer of such software, we encourage you to update your project to work with the SDK or file a bug report for issues that are preventing you from doing so. As a workaround, an extra package is provided which will install the headers to the base system. In a future release, this package will no longer be provided. You can find this package at: /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg To make sure that you're using the intended version of the command line tools, run xcode-select -s or xcode select -s /Library/Developer/CommandLineTools after installing.

Sundar
  • 1,691
  • 1
  • 14
  • 20
  • 1
    This does not seem to work on Mojave 10.14.1 (18B75), with Xcode 10.1 (10B61). There appears to be no "macOS_SDK_headers_for_macOS_10.14.pkg" package, and `xcode-select --install` fails with the error "Can’t install the software because it is not currently available from the Software Update server." Let's hope this situation is only temporary. – Valdimar Nov 01 '18 at 13:41
  • 1
    I also am having this issue. I ended up installing xcode manually (aka downloading via app store) and then selecting command line tool in the "Locations" area of preferences. I got further with some issues I had around intalling python. Then I got an error about zlib and here I am. `brew install zlib` goes and then `zlib command not found` if i try to run it. – Dave Stein Nov 02 '18 at 15:51
  • 1
    Confirmed. Thanks so much! – gingerCodeNinja Nov 07 '18 at 20:43
  • Worked here as well - thanks for posting the actual `installer` instruction in addition to the docs – kevlarr Jan 02 '19 at 22:09
  • Worked for me, this is the solution for mojave version, thanks! – Darkaico Jan 30 '19 at 14:27
  • file does not exist for Big Sour – Arnold Roa Apr 21 '21 at 03:12
54

xcode-select --install doesn't solve this on Mojave for some reason.

Since this is the only library blocking, go to https://www.zlib.net and download source code. Select the "US (zlib.net)" hyperlink about halfway down the page for the tar.xz version.

Then find the download on your local machine and double click on the file. This will unzip the download and create a new folder in the same directly.

Then in Terminal:

  • cd into the directory with the download
  • then tar -xvf zlib-1.2.11.tar.xz (Note that zlib-1.2.11.tar.xz may change depending on the latest version you've downloaded. Just run whatever file you're just downloaded.)
  • Change directories cd zlib-1.2.11
  • ./configure
  • make
  • make install
Sara N.
  • 23
  • 5
Frank
  • 7,235
  • 9
  • 46
  • 56
18

After running

xcode-select --install

Make sure your export these variables for the compiler and the pkg-config to find zlib

For compilers to find zlib you may need to set:

export LDFLAGS="-L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include"

For pkg-config to find zlib you may need to set:

export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig"

This is solved my issue with zlib

zipimport.ZipImportError: can't decompress data; zlib not available
kenessa
  • 181
  • 1
  • 3
  • 5
    With brew: `brew --prefix zlib` to show you the install path, and `"$(brew --prefix zlib)/include"` plus `"$(brew --prefix zlib)/lib"` to get the two needed paths – Brad Solomon May 20 '20 at 01:37
  • exporting the flags was what i needed on Big Sur for building python manually (needed an older version) – Cpt. Senkfuss May 09 '21 at 12:57
  • Where do I set these `export LDFLAGS`? In the `.zshrc` or `.bashrc` files? I'm on Catalina (which comes with zsh). – Qasim Mar 14 '22 at 02:56
5

In OS X 10.15 Catalina you need to run xcrun --show-sdk-path to see where it is and than provide that path to compiler or do something like

export CPATH=`xcrun --show-sdk-path`/usr/include

that point directly to directory where zlib.h is placed or just

export CPATH=`xcrun --show-sdk-path`/usr

depending on what path is expected

Yaroslav
  • 2,338
  • 26
  • 37
-1

Unfortunately none of the above methods worked for me So I did

brew reinstall python@2
pip install six

Hope it helps

amar
  • 4,285
  • 8
  • 40
  • 52