https://bugzilla.redhat.com/show_bug.cgi?id=1487960
Robert-André Mauchin zebob.m@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zebob.m@gmail.com
--- Comment #1 from Robert-André Mauchin zebob.m@gmail.com --- Hello,
I've got a build error:
writing build/temp.mingw-2.7/builddir/build/BUILD/Python-2.7.13/Modules/_tkinter.def i686-w64-mingw32-gcc -shared -Wl,--enable-auto-image-base -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -D_GNU_SOURCE -fwrapv -D__USE_MINGW_ANSI_STDIO=1 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -I. -IInclude -I../Include -I../Python -I../PC -s build/temp.mingw-2.7/builddir/build/BUILD/Python-2.7.13/Modules/_tkinter.o build/temp.mingw-2.7/builddir/build/BUILD/Python-2.7.13/Modules/tkappinit.o build/temp.mingw-2.7/builddir/build/BUILD/Python-2.7.13/Modules/_tkinter.def -L/usr/X11/lib -L. -L/usr/i686-w64-mingw32/sys-root/mingw/lib -L/usr/i686-w64-mingw32/lib -L/usr/lib/python2.7/config -L. -ltk86 -ltcl86 -ltk86 -ltcl86 -lws2_32 -lgdi32 -lcomctl32 -lcomdlg32 -limm32 -luuid -loleaut32 -lole32 -lpython2.7 -ldl -o build/lib.mingw-2.7/_tkinter.pyd error: [Errno 2] No such file or directory: '/builddir/build/BUILD/Python-2.7.13/Modules/_ctypes/libffi'
It seems there's an error in the detection of ffi.h in the configure script, as if LIBFFI_INCLUDEDIR was not set.
I don't understand why LIBFFI_INCLUDEDIR is not passed to the configure script, but it is fixable by modifying the patch 0530-mingw-system-libffi.patch. Here's what I've changed:
diff -rupN Python-2.7.13/configure.ac Python-2.7.13-new/configure.ac --- Python-2.7.13/configure.ac 2017-01-21 01:46:09.733573102 +0100 +++ Python-2.7.13-new/configure.ac 2017-01-21 01:46:09.735573081 +0100 @@ -2653,14 +2653,33 @@ AC_ARG_WITH(system_ffi, [], [with_system_ffi="no"])
-if test "$with_system_ffi" = "yes" && test -n "$PKG_CONFIG"; then - LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" +if test "$with_system_ffi" = "yes" && test -n "$PKG_CONFIG"; then + LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" +fi
Here I've restored the original pkgconfig detection instead of relying on setting LIBFFI_INCLUDEDIR in the spec.
Maybe you have an explanation as to why this happens or a better fix than the one I'm proposing.