Hi, as usual I'm doing my quarterly package rebuilds, and one of the failures is graphics/py-Pillow. Building fails with assembler messages first, and then at the end a link failure when a library is built. gcc -DNDEBUG -O2 -D_FORTIFY_SOURCE=2 -pthread -I/usr/include -I/usr/pkg/include -O2 -D_FORTIFY_SOURCE=2 -I/usr/pkg/include -I/usr/include -I/usr/X11R7/include/freetype2 -I/usr/pkg/include -I/usr/include -I/usr/X11R7/include/freetype2 -fPIC -DHAVE_LIBJPEG -DHAVE_OPENJPEG -DHAVE_LIBZ -DHAVE_LIBIMAGEQUANT -DHAVE_LIBTIFF -DPILLOW_VERSION="4.3.0" -I/usr/pkg/include/freetype2 -I/usr/pkg/include/openjpeg-2.3 -I/pkg_comp/obj/pkgsrc/graphics/py-Pillow/default/Pillow-4.3.0/libImaging -I/usr/pkg/include -I/usr/X11R7/include/freetype2 -I/usr/include -I/usr/pkg/include/python2.7 -c libImaging/JpegEncode.c -o build/temp.netbsd-7.0-amd64-2.7/libImaging/JpegEncode.o libImaging/ImagingUtils.h: Assembler messages: libImaging/ImagingUtils.h:40: Error: operand type mismatch for `xorps' libImaging/ImagingUtils.h:40: Error: operand type mismatch for `cvtsi2ss' libImaging/ImagingUtils.h:40: Error: operand type mismatch for `xorps' libImaging/ImagingUtils.h:40: Error: operand type mismatch for `cvtsi2ss' libImaging/ImagingUtils.h:40: Error: operand type mismatch for `xorps' libImaging/ImagingUtils.h:40: Error: operand type mismatch for `cvtsi2ss' ... many more repeats of that and similar for some other files. Although the -j option may line up the file names with the errors incorrectly. gcc: error: build/temp.netbsd-7.0-amd64-2.7/libImaging/Filter.o: No such file or directory gcc: error: build/temp.netbsd-7.0-amd64-2.7/libImaging/FliDecode.o: No such file or directory gcc: error: build/temp.netbsd-7.0-amd64-2.7/libImaging/Geometry.o: No such file or directory gcc: error: build/temp.netbsd-7.0-amd64-2.7/libImaging/GetBBox.o: No such file or directory error: command 'gcc' failed with exit status 1 *** Error code 1 Looking at libImaging/ImagingUtils.h:40: /* This is to work around a bug in GCC prior 4.9 in 64 bit mode. GCC generates code with partial dependency which is 3 times slower. See: http://stackoverflow.com/a/26588074/253146 */ #if defined(__x86_64__) && defined(__SSE__) && ! defined(__NO_INLINE__) && \ ! defined(__clang__) && defined(GCC_VERSION) && (GCC_VERSION < 40900) static float __attribute__((always_inline)) inline _i2f(int v) { float x; __asm__("xorps %0, %0; cvtsi2ss %1, %0" : "=X"(x) : "r"(v) ); return x; } #else static float inline _i2f(int v) { return (float) v; } #endif It seems the workaround is also wrong... I'm just going to try gcc 4.9. GCC_REQD+= 4.9 makes it build. -Olaf. -- ___ Olaf 'Rhialto' Seibert -- Wayland: Those who don't understand X \X/ rhialto/at/falu.nl -- are condemned to reinvent it. Poorly.
Attachment:
signature.asc
Description: PGP signature