Bug 979696

Summary: can't rebuild python3 in fedora-rawhide (libffi: No such file or directory)
Product: [Fedora] Fedora Reporter: Dick Marinus <dick>
Component: python3Assignee: Bohuslav "Slavek" Kabrda <bkabrda>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: amcnabb, bkabrda, tomspur
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python3-3.3.2-3.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-11 02:32:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dick Marinus 2013-06-29 13:29:53 UTC
1. mock python3-3.3.2-2.fc20.src.rpm
...
Finish: Outputting list of installed packages
ERROR: Exception(/tmp/python3-3.3.2-2.fc20.src.rpm) Config(fedora-rawhide-x86_64) 6 minutes 17 seconds
INFO: Results and/or logs in: /var/lib/mock/fedora-rawhide-x86_64/result
ERROR: Command failed. See logs for output.

2. tail -n19 /var/lib/mock/fedora-rawhide-x86_64/result/build.log 
gcc -pthread -shared -Wl,-z,relro -Wl,-z,relro -Wl,-z,relro -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv build/temp.linux-x86_64-3.3-pydebug/builddir/build/BUILD/Python-3.3.2/Modules/_tkinter.o build/temp.linux-x86_64-3.3-pydebug/builddir/build/BUILD/Python-3.3.2/Modules/tkappinit.o -L/usr/X11/lib -L. -L/usr/local/lib64 -ltk8.5 -ltcl8.5 -lX11 -lpython3.3dm -o build/lib.linux-x86_64-3.3-pydebug/_tkinter.cpython-33dm.so
error: /builddir/build/BUILD/Python-3.3.2/Modules/_ctypes/libffi: No such file or directory
[110698 refs]
make: *** [sharedmods] Error 1
fout: Bad exit status from /var/tmp/rpm-tmp.ANMIEI (%build)
    Bad exit status from /var/tmp/rpm-tmp.ANMIEI (%build)
RPM build errors:
Child return code was: 1
EXCEPTION: Command failed. See logs for output.
 # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/python3.spec']
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 70, in trace
    result = func(*args, **kw)
  File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 359, in do
    raise mockbuild.exception.Error, ("Command failed. See logs for output.\n # %s" % (command,), child.returncode)
Error: Command failed. See logs for output.
 # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/python3.spec']
LEAVE do --> EXCEPTION RAISED

Comment 1 Bohuslav "Slavek" Kabrda 2013-07-01 07:12:56 UTC
This seems to be a result of change in libffi placement of headers, resp. pkg-config output:

Previously:
++ pkg-config --cflags-only-I libffi
+ export 'CPPFLAGS=-I/usr/lib64/libffi-3.0.13/include '

Now:
++ pkg-config --cflags-only-I libffi
+ export CPPFLAGS=

Python seems not to be able to find libffi and therefore tries to fall back to bundled libffi (which is deleted in %prep precisely for this reason). The libffi headers seem not to need an additional -I directive, since they live in /usr/include - I'll try to investigate why Python can't find them there.

Comment 2 Bohuslav "Slavek" Kabrda 2013-07-02 07:06:10 UTC
Fixed by commit (the comment on what the problem was is part of the commit):
http://pkgs.fedoraproject.org/cgit/python3.git/commit/?id=001a27780cc890539b77728dfdee06384be4d54b
Koji build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=5564284

Comment 3 Fedora Update System 2013-07-02 07:08:06 UTC
python3-3.3.2-3.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python3-3.3.2-3.fc19

Comment 4 Fedora Update System 2013-07-03 01:44:02 UTC
Package python3-3.3.2-3.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing python3-3.3.2-3.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-12194/python3-3.3.2-3.fc19
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2013-07-11 02:32:02 UTC
python3-3.3.2-3.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.