No such file or directory "limits.h" when installing Pillow on Alpine Linux
I'm running alpine-linux on a Raspberry Pi 2. I'm trying to install Pillow via this command:
pip install pillow
This is the output from the command:
Installing collected packages: pillow
Running setup.py install for pillow
Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-gNq0WA/pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nDKwei-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-2.7
creating build/lib.linux-armv7l-2.7/PIL
copying PIL/XVThumbImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/XpmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/XbmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/WmfImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/WebPImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/WalImageFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TiffTags.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TiffImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TgaImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/TarIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/SunImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/SpiderImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/SgiImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PyAccess.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PSDraw.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PsdImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PpmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PngImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PixarImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PdfImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PcxImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PcfFontFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PcdImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PalmImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/PaletteFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/OleFileIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MspImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MpoImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MpegImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/MicImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/McIdasImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/JpegPresets.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/JpegImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/Jpeg2KImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/IptcImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImtImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageWin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageTransform.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageTk.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageStat.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageShow.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageSequence.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageQt.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImagePath.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImagePalette.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageOps.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageMorph.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageMode.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageMath.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageGrab.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFont.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFilter.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFileIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageEnhance.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageDraw2.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageDraw.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageColor.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageCms.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ImageChops.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/Image.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/IcoImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/IcnsImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/Hdf5StubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GribStubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GimpPaletteFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GimpGradientFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GifImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GdImageFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/GbrImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FpxImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FontFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FliImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/FitsStubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ExifTags.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/EpsImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/DcxImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/CurImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/ContainerIO.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/BufrStubImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/BmpImagePlugin.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/BdfFontFile.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/_util.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/_binary.py -> build/lib.linux-armv7l-2.7/PIL
copying PIL/__init__.py -> build/lib.linux-armv7l-2.7/PIL
running egg_info
writing Pillow.egg-info/PKG-INFO
writing top-level names to Pillow.egg-info/top_level.txt
writing dependency_links to Pillow.egg-info/dependency_links.txt
warning: manifest_maker: standard file '-c' not found
reading manifest file 'Pillow.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'LICENSE' under directory 'docs'
writing manifest file 'Pillow.egg-info/SOURCES.txt'
copying PIL/OleFileIO-README.md -> build/lib.linux-armv7l-2.7/PIL
running build_ext
building 'PIL._imaging' extension
creating build/temp.linux-armv7l-2.7/libImaging
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c _imaging.c -o build/temp.linux-armv7l-2.7/_imaging.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c outline.c -o build/temp.linux-armv7l-2.7/outline.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Bands.c -o build/temp.linux-armv7l-2.7/libImaging/Bands.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/ConvertYCbCr.c -o build/temp.linux-armv7l-2.7/libImaging/ConvertYCbCr.o
In file included from _imaging.c:76:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from outline.c:20:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/ConvertYCbCr.c:15:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Bands.c:19:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Draw.c -o build/temp.linux-armv7l-2.7/libImaging/Draw.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Filter.c -o build/temp.linux-armv7l-2.7/libImaging/Filter.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/GifEncode.c -o build/temp.linux-armv7l-2.7/libImaging/GifEncode.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/LzwDecode.c -o build/temp.linux-armv7l-2.7/libImaging/LzwDecode.o
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Draw.c:35:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Filter.c:27:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/GifEncode.c:20:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/LzwDecode.c:31:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Offset.c -o build/temp.linux-armv7l-2.7/libImaging/Offset.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/Quant.c -o build/temp.linux-armv7l-2.7/libImaging/Quant.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/PcxDecode.c -o build/temp.linux-armv7l-2.7/libImaging/PcxDecode.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/RawEncode.c -o build/temp.linux-armv7l-2.7/libImaging/RawEncode.o
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Offset.c:18:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/Quant.c:21:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/PcxDecode.c:17:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/RawEncode.c:21:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/UnpackYCC.c -o build/temp.linux-armv7l-2.7/libImaging/UnpackYCC.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/ZipEncode.c -o build/temp.linux-armv7l-2.7/libImaging/ZipEncode.o
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -DHAVE_LIBJPEG -I/tmp/pip-build-gNq0WA/pillow/libImaging -I/usr/include -I/usr/include/python2.7 -c libImaging/BoxBlur.c -o build/temp.linux-armv7l-2.7/libImaging/BoxBlur.o
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/UnpackYCC.c:17:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/ImPlatform.h:10:0,
from libImaging/Imaging.h:14,
from libImaging/ZipEncode.c:18:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
In file included from libImaging/BoxBlur.c:1:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
Building using 4 processes
gcc -shared -Wl,--as-needed build/temp.linux-armv7l-2.7/_imaging.o build/temp.linux-armv7l-2.7/decode.o build/temp.linux-armv7l-2.7/encode.o build/temp.linux-armv7l-2.7/map.o build/temp.linux-armv7l-2.7/display.o build/temp.linux-armv7l-2.7/outline.o build/temp.linux-armv7l-2.7/path.o build/temp.linux-armv7l-2.7/libImaging/Access.o build/temp.linux-armv7l-2.7/libImaging/AlphaComposite.o build/temp.linux-armv7l-2.7/libImaging/Resample.o build/temp.linux-armv7l-2.7/libImaging/Bands.o build/temp.linux-armv7l-2.7/libImaging/BitDecode.o build/temp.linux-armv7l-2.7/libImaging/Blend.o build/temp.linux-armv7l-2.7/libImaging/Chops.o build/temp.linux-armv7l-2.7/libImaging/Convert.o build/temp.linux-armv7l-2.7/libImaging/ConvertYCbCr.o build/temp.linux-armv7l-2.7/libImaging/Copy.o build/temp.linux-armv7l-2.7/libImaging/Crc32.o build/temp.linux-armv7l-2.7/libImaging/Crop.o build/temp.linux-armv7l-2.7/libImaging/Dib.o build/temp.linux-armv7l-2.7/libImaging/Draw.o build/temp.linux-armv7l-2.7/libImaging/Effects.o build/temp.linux-armv7l-2.7/libImaging/EpsEncode.o build/temp.linux-armv7l-2.7/libImaging/File.o build/temp.linux-armv7l-2.7/libImaging/Fill.o build/temp.linux-armv7l-2.7/libImaging/Filter.o build/temp.linux-armv7l-2.7/libImaging/FliDecode.o build/temp.linux-armv7l-2.7/libImaging/Geometry.o build/temp.linux-armv7l-2.7/libImaging/GetBBox.o build/temp.linux-armv7l-2.7/libImaging/GifDecode.o build/temp.linux-armv7l-2.7/libImaging/GifEncode.o build/temp.linux-armv7l-2.7/libImaging/HexDecode.o build/temp.linux-armv7l-2.7/libImaging/Histo.o build/temp.linux-armv7l-2.7/libImaging/JpegDecode.o build/temp.linux-armv7l-2.7/libImaging/JpegEncode.o build/temp.linux-armv7l-2.7/libImaging/LzwDecode.o build/temp.linux-armv7l-2.7/libImaging/Matrix.o build/temp.linux-armv7l-2.7/libImaging/ModeFilter.o build/temp.linux-armv7l-2.7/libImaging/MspDecode.o build/temp.linux-armv7l-2.7/libImaging/Negative.o build/temp.linux-armv7l-2.7/libImaging/Offset.o build/temp.linux-armv7l-2.7/libImaging/Pack.o build/temp.linux-armv7l-2.7/libImaging/PackDecode.o build/temp.linux-armv7l-2.7/libImaging/Palette.o build/temp.linux-armv7l-2.7/libImaging/Paste.o build/temp.linux-armv7l-2.7/libImaging/Quant.o build/temp.linux-armv7l-2.7/libImaging/QuantOctree.o build/temp.linux-armv7l-2.7/libImaging/QuantHash.o build/temp.linux-armv7l-2.7/libImaging/QuantHeap.o build/temp.linux-armv7l-2.7/libImaging/PcdDecode.o build/temp.linux-armv7l-2.7/libImaging/PcxDecode.o build/temp.linux-armv7l-2.7/libImaging/PcxEncode.o build/temp.linux-armv7l-2.7/libImaging/Point.o build/temp.linux-armv7l-2.7/libImaging/RankFilter.o build/temp.linux-armv7l-2.7/libImaging/RawDecode.o build/temp.linux-armv7l-2.7/libImaging/RawEncode.o build/temp.linux-armv7l-2.7/libImaging/Storage.o build/temp.linux-armv7l-2.7/libImaging/SunRleDecode.o build/temp.linux-armv7l-2.7/libImaging/TgaRleDecode.o build/temp.linux-armv7l-2.7/libImaging/Unpack.o build/temp.linux-armv7l-2.7/libImaging/UnpackYCC.o build/temp.linux-armv7l-2.7/libImaging/UnsharpMask.o build/temp.linux-armv7l-2.7/libImaging/XbmDecode.o build/temp.linux-armv7l-2.7/libImaging/XbmEncode.o build/temp.linux-armv7l-2.7/libImaging/ZipDecode.o build/temp.linux-armv7l-2.7/libImaging/ZipEncode.o build/temp.linux-armv7l-2.7/libImaging/TiffDecode.o build/temp.linux-armv7l-2.7/libImaging/Incremental.o build/temp.linux-armv7l-2.7/libImaging/Jpeg2KDecode.o build/temp.linux-armv7l-2.7/libImaging/Jpeg2KEncode.o build/temp.linux-armv7l-2.7/libImaging/BoxBlur.o -L/usr/lib -L/usr/local/lib -L/usr/lib -ljpeg -lpython2.7 -o build/lib.linux-armv7l-2.7/PIL/_imaging.so
gcc: error: build/temp.linux-armv7l-2.7/_imaging.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/decode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/encode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/map.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/display.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/outline.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/path.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Access.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/AlphaComposite.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Resample.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Bands.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/BitDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Blend.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Chops.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Convert.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ConvertYCbCr.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Copy.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Crc32.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Crop.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Dib.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Draw.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Effects.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/EpsEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/File.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Fill.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Filter.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/FliDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Geometry.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/GetBBox.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/GifDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/GifEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/HexDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Histo.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/JpegDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/JpegEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/LzwDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Matrix.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ModeFilter.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/MspDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Negative.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Offset.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Pack.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PackDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Palette.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Paste.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Quant.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/QuantOctree.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/QuantHash.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/QuantHeap.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PcdDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PcxDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/PcxEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Point.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/RankFilter.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/RawDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/RawEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Storage.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/SunRleDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/TgaRleDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Unpack.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/UnpackYCC.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/UnsharpMask.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/XbmDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/XbmEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ZipDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/ZipEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/TiffDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Incremental.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Jpeg2KDecode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/Jpeg2KEncode.o: No such file or directory
gcc: error: build/temp.linux-armv7l-2.7/libImaging/BoxBlur.o: No such file or directory
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -c "import setup tools, tokenize;__file__='/tmp/pip-build-gNq0WA/pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nDKwei-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-gNq0WA/pillow
I think this is probably the relevant section:
In file included from libImaging/BoxBlur.c:1:0:
/usr/include/python2.7/Python.h:19:20: fatal error: limits.h: No such file or directory
#include <limits.h>
^
compilation terminated.
My research shows it's probably something with the header files. I have installed these:
apk add py-configobj libusb py-pip python-dev gcc linux-headers
pip install --upgrade pip
pip install -U setuptools
pip install Cheetah
pip install pyusb
Alpine Linux uses musl libc. You probably need to install musl-dev
.
@zakaria answer is correct, but if you stumble upon
fatal error: linux/limits.h: No such file or directory
then you need the package linux-headers
(notice the prefix linux
before limits.h
apk add linux-headers
limits.h
is located in libc-dev
:
apk add libc-dev
I had a very similar problem with installing the Python library regex
in Docker using the python:3.6-alpine
image, for Alpine Linux >= 3.3.
pip install regex
I had to add gcc
and musl-dev
packages:
apk --no-cache add gcc musl-dev
I've found some python packages fail to install via pip install but work if you install the associated alpine linux package. For example pip install uwsgi fails complaining about limits.h, but apk add uwsgi-python works fine. Suggest trying apk add py-pillow instead of pip install pillow.