Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mempcpy undeclared on installation (alpine:edge docker) #1850

Closed
ColtonProvias opened this issue Apr 21, 2016 · 4 comments · Fixed by #1906
Closed

mempcpy undeclared on installation (alpine:edge docker) #1850

ColtonProvias opened this issue Apr 21, 2016 · 4 comments · Fixed by #1906
Labels

Comments

@ColtonProvias
Copy link

What did you do?

Attempted to install Pillow on Alpine Linux

What did you expect to happen?

Successful installation via pip3.

What actually happened?

Compile-time error with mempcpy missing. The issue occurs with both the latest version on PyPI and the latest master.

Collecting pillow
  Using cached Pillow-3.2.0.tar.gz
Installing collected packages: pillow
  Running setup.py install for pillow
    Complete output from command /usr/bin/python3.5 -c "import setuptools, tokenize;__file__='/tmp/pip-build-3z4zmxf1/pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-9a36m_ws-record/install-record.txt --single-version-externally-managed --compile:
    Single threaded build, not installing mp_compile:1 processes
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.5
    creating build/lib.linux-x86_64-3.5/PIL
    copying PIL/BdfFontFile.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/MicImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageStat.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageFont.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/features.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/GimpGradientFile.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/GdImageFile.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/FontFile.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageWin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImagePath.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/Image.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImagePalette.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageEnhance.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/GifImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/_binary.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/FliImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageChops.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PyAccess.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageMath.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageDraw2.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageFilter.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageColor.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PcfFontFile.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/JpegPresets.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PaletteFile.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageDraw.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ExifTags.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/WalImageFile.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PSDraw.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageShow.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PngImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/MspImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/__init__.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageQt.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/TarIO.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/OleFileIO.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/_util.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/CurImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageGrab.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageSequence.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageMorph.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageCms.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/TiffTags.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/SunImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageFile.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageMode.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageTransform.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ContainerIO.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageTk.py -> build/lib.linux-x86_64-3.5/PIL
    copying PIL/ImageOps.py -> build/lib.linux-x86_64-3.5/PIL
    running egg_info
    writing top-level names to Pillow.egg-info/top_level.txt
    writing Pillow.egg-info/PKG-INFO
    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 '*.sh'
    no previously-included directories found matching 'docs/_static'
    warning: no previously-included files found matching '.coveragerc'
    warning: no previously-included files found matching '.editorconfig'
    warning: no previously-included files found matching '.landscape.yaml'
    warning: no previously-included files found matching 'appveyor.yml'
    warning: no previously-included files found matching 'build_children.sh'
    warning: no previously-included files found matching 'tox.ini'
    warning: no previously-included files matching '.git*' found anywhere in distribution
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*.so' found anywhere in distribution
    writing manifest file 'Pillow.egg-info/SOURCES.txt'
    copying PIL/OleFileIO-README.md -> build/lib.linux-x86_64-3.5/PIL
    running build_ext
    building 'PIL._imaging' extension
    creating build/temp.linux-x86_64-3.5/libImaging
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c _imaging.c -o build/temp.linux-x86_64-3.5/_imaging.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c decode.c -o build/temp.linux-x86_64-3.5/decode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c encode.c -o build/temp.linux-x86_64-3.5/encode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c map.c -o build/temp.linux-x86_64-3.5/map.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c display.c -o build/temp.linux-x86_64-3.5/display.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c outline.c -o build/temp.linux-x86_64-3.5/outline.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c path.c -o build/temp.linux-x86_64-3.5/path.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Access.c -o build/temp.linux-x86_64-3.5/libImaging/Access.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/AlphaComposite.c -o build/temp.linux-x86_64-3.5/libImaging/AlphaComposite.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Resample.c -o build/temp.linux-x86_64-3.5/libImaging/Resample.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Bands.c -o build/temp.linux-x86_64-3.5/libImaging/Bands.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/BitDecode.c -o build/temp.linux-x86_64-3.5/libImaging/BitDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Blend.c -o build/temp.linux-x86_64-3.5/libImaging/Blend.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Chops.c -o build/temp.linux-x86_64-3.5/libImaging/Chops.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Convert.c -o build/temp.linux-x86_64-3.5/libImaging/Convert.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/ConvertYCbCr.c -o build/temp.linux-x86_64-3.5/libImaging/ConvertYCbCr.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Copy.c -o build/temp.linux-x86_64-3.5/libImaging/Copy.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Crc32.c -o build/temp.linux-x86_64-3.5/libImaging/Crc32.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Crop.c -o build/temp.linux-x86_64-3.5/libImaging/Crop.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Dib.c -o build/temp.linux-x86_64-3.5/libImaging/Dib.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Draw.c -o build/temp.linux-x86_64-3.5/libImaging/Draw.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Effects.c -o build/temp.linux-x86_64-3.5/libImaging/Effects.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/EpsEncode.c -o build/temp.linux-x86_64-3.5/libImaging/EpsEncode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/File.c -o build/temp.linux-x86_64-3.5/libImaging/File.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Fill.c -o build/temp.linux-x86_64-3.5/libImaging/Fill.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Filter.c -o build/temp.linux-x86_64-3.5/libImaging/Filter.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/FliDecode.c -o build/temp.linux-x86_64-3.5/libImaging/FliDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Geometry.c -o build/temp.linux-x86_64-3.5/libImaging/Geometry.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/GetBBox.c -o build/temp.linux-x86_64-3.5/libImaging/GetBBox.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/GifDecode.c -o build/temp.linux-x86_64-3.5/libImaging/GifDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/GifEncode.c -o build/temp.linux-x86_64-3.5/libImaging/GifEncode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/HexDecode.c -o build/temp.linux-x86_64-3.5/libImaging/HexDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Histo.c -o build/temp.linux-x86_64-3.5/libImaging/Histo.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/JpegDecode.c -o build/temp.linux-x86_64-3.5/libImaging/JpegDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/JpegEncode.c -o build/temp.linux-x86_64-3.5/libImaging/JpegEncode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/LzwDecode.c -o build/temp.linux-x86_64-3.5/libImaging/LzwDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Matrix.c -o build/temp.linux-x86_64-3.5/libImaging/Matrix.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/ModeFilter.c -o build/temp.linux-x86_64-3.5/libImaging/ModeFilter.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/MspDecode.c -o build/temp.linux-x86_64-3.5/libImaging/MspDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Negative.c -o build/temp.linux-x86_64-3.5/libImaging/Negative.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Offset.c -o build/temp.linux-x86_64-3.5/libImaging/Offset.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Pack.c -o build/temp.linux-x86_64-3.5/libImaging/Pack.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/PackDecode.c -o build/temp.linux-x86_64-3.5/libImaging/PackDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Palette.c -o build/temp.linux-x86_64-3.5/libImaging/Palette.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Paste.c -o build/temp.linux-x86_64-3.5/libImaging/Paste.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Quant.c -o build/temp.linux-x86_64-3.5/libImaging/Quant.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/QuantOctree.c -o build/temp.linux-x86_64-3.5/libImaging/QuantOctree.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/QuantHash.c -o build/temp.linux-x86_64-3.5/libImaging/QuantHash.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/QuantHeap.c -o build/temp.linux-x86_64-3.5/libImaging/QuantHeap.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/PcdDecode.c -o build/temp.linux-x86_64-3.5/libImaging/PcdDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/PcxDecode.c -o build/temp.linux-x86_64-3.5/libImaging/PcxDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/PcxEncode.c -o build/temp.linux-x86_64-3.5/libImaging/PcxEncode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Point.c -o build/temp.linux-x86_64-3.5/libImaging/Point.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/RankFilter.c -o build/temp.linux-x86_64-3.5/libImaging/RankFilter.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/RawDecode.c -o build/temp.linux-x86_64-3.5/libImaging/RawDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/RawEncode.c -o build/temp.linux-x86_64-3.5/libImaging/RawEncode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Storage.c -o build/temp.linux-x86_64-3.5/libImaging/Storage.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/SunRleDecode.c -o build/temp.linux-x86_64-3.5/libImaging/SunRleDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/TgaRleDecode.c -o build/temp.linux-x86_64-3.5/libImaging/TgaRleDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Unpack.c -o build/temp.linux-x86_64-3.5/libImaging/Unpack.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/UnpackYCC.c -o build/temp.linux-x86_64-3.5/libImaging/UnpackYCC.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/UnsharpMask.c -o build/temp.linux-x86_64-3.5/libImaging/UnsharpMask.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/XbmDecode.c -o build/temp.linux-x86_64-3.5/libImaging/XbmDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/XbmEncode.c -o build/temp.linux-x86_64-3.5/libImaging/XbmEncode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/ZipDecode.c -o build/temp.linux-x86_64-3.5/libImaging/ZipDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/ZipEncode.c -o build/temp.linux-x86_64-3.5/libImaging/ZipEncode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/TiffDecode.c -o build/temp.linux-x86_64-3.5/libImaging/TiffDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Incremental.c -o build/temp.linux-x86_64-3.5/libImaging/Incremental.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Jpeg2KDecode.c -o build/temp.linux-x86_64-3.5/libImaging/Jpeg2KDecode.o
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/Jpeg2KEncode.c -o build/temp.linux-x86_64-3.5/libImaging/Jpeg2KEncode.o
    libImaging/Jpeg2KEncode.c: In function 'j2k_encode_entry':
    libImaging/Jpeg2KEncode.c:271:27: warning: large integer implicitly truncated to unsigned type [-Woverflow]
         unsigned _SIZE__MAX = SIZE_MAX;
                               ^
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c libImaging/BoxBlur.c -o build/temp.linux-x86_64-3.5/libImaging/BoxBlur.o
    gcc -shared -Wl,--as-needed -L/lib build/temp.linux-x86_64-3.5/_imaging.o build/temp.linux-x86_64-3.5/decode.o build/temp.linux-x86_64-3.5/encode.o build/temp.linux-x86_64-3.5/map.o build/temp.linux-x86_64-3.5/display.o build/temp.linux-x86_64-3.5/outline.o build/temp.linux-x86_64-3.5/path.o build/temp.linux-x86_64-3.5/libImaging/Access.o build/temp.linux-x86_64-3.5/libImaging/AlphaComposite.o build/temp.linux-x86_64-3.5/libImaging/Resample.o build/temp.linux-x86_64-3.5/libImaging/Bands.o build/temp.linux-x86_64-3.5/libImaging/BitDecode.o build/temp.linux-x86_64-3.5/libImaging/Blend.o build/temp.linux-x86_64-3.5/libImaging/Chops.o build/temp.linux-x86_64-3.5/libImaging/Convert.o build/temp.linux-x86_64-3.5/libImaging/ConvertYCbCr.o build/temp.linux-x86_64-3.5/libImaging/Copy.o build/temp.linux-x86_64-3.5/libImaging/Crc32.o build/temp.linux-x86_64-3.5/libImaging/Crop.o build/temp.linux-x86_64-3.5/libImaging/Dib.o build/temp.linux-x86_64-3.5/libImaging/Draw.o build/temp.linux-x86_64-3.5/libImaging/Effects.o build/temp.linux-x86_64-3.5/libImaging/EpsEncode.o build/temp.linux-x86_64-3.5/libImaging/File.o build/temp.linux-x86_64-3.5/libImaging/Fill.o build/temp.linux-x86_64-3.5/libImaging/Filter.o build/temp.linux-x86_64-3.5/libImaging/FliDecode.o build/temp.linux-x86_64-3.5/libImaging/Geometry.o build/temp.linux-x86_64-3.5/libImaging/GetBBox.o build/temp.linux-x86_64-3.5/libImaging/GifDecode.o build/temp.linux-x86_64-3.5/libImaging/GifEncode.o build/temp.linux-x86_64-3.5/libImaging/HexDecode.o build/temp.linux-x86_64-3.5/libImaging/Histo.o build/temp.linux-x86_64-3.5/libImaging/JpegDecode.o build/temp.linux-x86_64-3.5/libImaging/JpegEncode.o build/temp.linux-x86_64-3.5/libImaging/LzwDecode.o build/temp.linux-x86_64-3.5/libImaging/Matrix.o build/temp.linux-x86_64-3.5/libImaging/ModeFilter.o build/temp.linux-x86_64-3.5/libImaging/MspDecode.o build/temp.linux-x86_64-3.5/libImaging/Negative.o build/temp.linux-x86_64-3.5/libImaging/Offset.o build/temp.linux-x86_64-3.5/libImaging/Pack.o build/temp.linux-x86_64-3.5/libImaging/PackDecode.o build/temp.linux-x86_64-3.5/libImaging/Palette.o build/temp.linux-x86_64-3.5/libImaging/Paste.o build/temp.linux-x86_64-3.5/libImaging/Quant.o build/temp.linux-x86_64-3.5/libImaging/QuantOctree.o build/temp.linux-x86_64-3.5/libImaging/QuantHash.o build/temp.linux-x86_64-3.5/libImaging/QuantHeap.o build/temp.linux-x86_64-3.5/libImaging/PcdDecode.o build/temp.linux-x86_64-3.5/libImaging/PcxDecode.o build/temp.linux-x86_64-3.5/libImaging/PcxEncode.o build/temp.linux-x86_64-3.5/libImaging/Point.o build/temp.linux-x86_64-3.5/libImaging/RankFilter.o build/temp.linux-x86_64-3.5/libImaging/RawDecode.o build/temp.linux-x86_64-3.5/libImaging/RawEncode.o build/temp.linux-x86_64-3.5/libImaging/Storage.o build/temp.linux-x86_64-3.5/libImaging/SunRleDecode.o build/temp.linux-x86_64-3.5/libImaging/TgaRleDecode.o build/temp.linux-x86_64-3.5/libImaging/Unpack.o build/temp.linux-x86_64-3.5/libImaging/UnpackYCC.o build/temp.linux-x86_64-3.5/libImaging/UnsharpMask.o build/temp.linux-x86_64-3.5/libImaging/XbmDecode.o build/temp.linux-x86_64-3.5/libImaging/XbmEncode.o build/temp.linux-x86_64-3.5/libImaging/ZipDecode.o build/temp.linux-x86_64-3.5/libImaging/ZipEncode.o build/temp.linux-x86_64-3.5/libImaging/TiffDecode.o build/temp.linux-x86_64-3.5/libImaging/Incremental.o build/temp.linux-x86_64-3.5/libImaging/Jpeg2KDecode.o build/temp.linux-x86_64-3.5/libImaging/Jpeg2KEncode.o build/temp.linux-x86_64-3.5/libImaging/BoxBlur.o -L/lib -L/usr/lib -L/usr/local/lib -L/usr/lib -ljpeg -lopenjp2 -lz -ltiff -lpython3.5m -o build/lib.linux-x86_64-3.5/PIL/_imaging.cpython-35m-x86_64-linux-gnu.so
    building 'PIL._imagingft' extension
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c _imagingft.c -o build/temp.linux-x86_64-3.5/_imagingft.o
    gcc -shared -Wl,--as-needed -L/lib build/temp.linux-x86_64-3.5/_imagingft.o -L/lib -L/usr/lib -L/usr/local/lib -L/usr/lib -lfreetype -lpython3.5m -o build/lib.linux-x86_64-3.5/PIL/_imagingft.cpython-35m-x86_64-linux-gnu.so
    building 'PIL._imagingcms' extension
    gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -L/lib -fPIC -I/usr/include/freetype2 -I/usr/include/openjpeg-2.1 -I/tmp/pip-build-3z4zmxf1/pillow/libImaging -I/usr/include -I/usr/include/python3.5m -c _imagingcms.c -o build/temp.linux-x86_64-3.5/_imagingcms.o
    In file included from /usr/include/fortify/strings.h:22:0,
                     from /usr/include/string.h:57,
                     from /usr/include/fortify/wchar.h:24,
                     from _imagingcms.c:28:
    /usr/include/fortify/string.h:142:1: error: 'mempcpy' undeclared here (not in a function)
     _FORTIFY_FN(mempcpy) void *mempcpy(void *__d, const void *__s, size_t __n)
     ^
    In file included from /usr/include/python3.5m/Python.h:30:0,
                     from _imagingcms.c:30:
    /usr/include/fortify/string.h: In function 'mempcpy':
    /usr/include/fortify/string.h:149:9: error: called object '__orig_mempcpy' is not a function or function pointer
      return __orig_mempcpy(__d, __s, __n);
             ^
    In file included from /usr/include/fortify/strings.h:22:0,
                     from /usr/include/string.h:57,
                     from /usr/include/fortify/wchar.h:24,
                     from _imagingcms.c:28:
    /usr/include/fortify/string.h:142:1: note: declared here
     _FORTIFY_FN(mempcpy) void *mempcpy(void *__d, const void *__s, size_t __n)
     ^
    error: command 'gcc' failed with exit status 1

What versions of Pillow and Python are you using?

Python: 3.5.1

To recreate:

docker run --rm -it alpine:edge /bin/sh
echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
apk add --update python3 python3-dev build-base libffi-dev freetype-dev jpeg-dev libwebp-dev tiff-dev libpng-dev lcms2-dev openjpeg-dev zlib-dev
export CFLAGS="$CFLAGS -L/lib"
pip3 install pillow
@wiredfool
Copy link
Member

I'm pretty sure that this is an issue with alpine, as the error is occuring in /usr/include/fortify/string.h, and looks to be an artifact of the fortify system.

Also, we don't appear to be using that function at all.

~/Pillow$ grep -r mempcpy *.c
~/Pillow$ 

@ncopa
Copy link

ncopa commented May 11, 2016

We figured out what the real problem is. What happens is:

First will wchar.hbe included which will pull in string.h without _GNU_SOURCE set. Later will Python.h explicitly set _GNU_SOURCE (via pyconfig.h) and after that is string.hpulled in again but this time with _GNU_SOURCE set.

This (rightfully) confuses the fortify-headers. You cannot really include some system headers with without _GNU_SOURCE and some with. It will cause problem.

Either Python.h should not set _GNU_SOURCE (eg bug in python) or it is required to be included first, before any system headers, (eg bug is in Pillow). Workaround/fix is trivial:

diff --git a/_imagingcms.c b/_imagingcms.c
index ad5b845..117d8a7 100644
--- a/_imagingcms.c
+++ b/_imagingcms.c
@@ -25,9 +25,9 @@ kevin@cazabon.com\n\
 http://www.cazabon.com\n\
 "

-#include "wchar.h"

 #include "Python.h"
+#include "wchar.h"
 #include "datetime.h"

 #include "lcms2.h"

@hugovk
Copy link
Member

hugovk commented May 11, 2016

I've made a PR for this: #1906

@negativeOne1
Copy link

negativeOne1 commented May 11, 2016

Quickfix:
just add ENV CFLAGS="$CFLAGS -D_GNU_SOURCE"

as suggested here: https://bugs.alpinelinux.org/issues/5548

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants