Bug 1135610

Summary: pypy-devel doesn't require pypy
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: pypyAssignee: Matej Stuchlik <mstuchli>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: jberan, mstuchli, tomspur
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pypy-2.2.1-3.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-19 10:11:25 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 Miro Hrončok 2014-08-29 19:13:41 UTC
Description of problem:
I miss pyconfig.h in pypy-devel. Don't know if that is standardly missing from pypy, or Fedora specific error.

Version-Release number of selected component (if applicable):
pypy-devel-2.2.1-2.fc20.x86_64

Steps to Reproduce:
1. Install pypy-devel, setuptools, pip, cython
2. Try to build stuff

More specifically, I've did:

# dnf install pypy-devel admesh-devel
# wget https://bootstrap.pypa.io/ez_setup.py -O - | pypy
# /usr/lib64/pypy-2.3/bin/easy_install pip
# /usr/lib64/pypy-2.3/bin/pip install Cython
$ pypy setup.py build # in a Cython project dir, let me know if you need some


Actual results:
running build
running build_ext
generating cadmesh.pxd and admesh.pyx
cythoning admesh.pyx to admesh.c
building 'admesh' extension
cc -O2 -fPIC -Wimplicit -I/usr/lib64/pypy-2.3/include -c admesh.c -o build/temp.linux-x86_64-2.7/admesh.o
admesh.c:8:22: fatal error: pyconfig.h: No such file or directory
 #include "pyconfig.h"
                      ^
compilation terminated.
error: command 'cc' failed with exit status 1


Expected results:
running build
running build_ext
generating cadmesh.pxd and admesh.pyx
cythoning admesh.pyx to admesh.c
building 'admesh' extension
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c admesh.c -o build/temp.linux-x86_64-2.7/admesh.o
gcc -pthread -shared -Wl,-z,relro build/temp.linux-x86_64-2.7/admesh.o -L/usr/lib64 -ladmesh -lpython2.7 -o build/lib.linux-x86_64-2.7/admesh.so

(output form cpython, so pypy might be a bit different)

Comment 1 Matej Stuchlik 2014-09-01 10:58:12 UTC
  % repoquery -l pypy-devel | grep pyconfig.h
/usr/lib/pypy-2.2.1/include/pyconfig.h
/usr/lib64/pypy-2.2.1/include/pyconfig.h

The problem is possibly elsewhere. Looking at the output you provided — maybe the "-I/usr/lib64/pypy-2.3/include" is the culprit? Shouldn't it point to pypy-2.2.1 instead?

Comment 2 Matej Stuchlik 2014-09-01 11:05:22 UTC
Looking at the output a bit more, could it be that you've installed pypy 2.3 (which currently isn't in f20) from somewhere, but you are using pypy 2.2.1's devel package?

Comment 3 Miro Hrončok 2014-09-01 11:34:00 UTC
Yes, sorry, that was from an issue I've tested sooner.

$ rpm -q pypy
pypy-2.3-2.fc21.x86_64
$ rpm -q pypy-devel
pypy-devel-2.2.1-2.fc20.x86_64

Comment 4 Miro Hrončok 2014-09-01 11:48:21 UTC
Let me think about that again. That should not be possible. 

I see this in devel subpackage:

Requires: pypy = %{version}-%{release}

Was that only added recently?

Comment 5 Matej Stuchlik 2014-09-01 12:45:08 UTC
Nope:

± % git blame pypy.spec | grep 'Requires: pypy = %{version}-%{release}'
0a81116e (David Malcolm 2011-01-13 19:51:26 -0500 256) Requires: pypy = %{version}-%{release}

Are you referring to the fact that you managed to do 'dnf install pypy-devel' even though the requires weren't satisfied? That is curious...

Comment 6 Miro Hrončok 2014-09-01 12:50:17 UTC
$ rpm -q --requires pypy-devel
config(pypy-devel) = 2.3-2.fc21
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

Comment 7 Matej Stuchlik 2014-09-01 13:31:52 UTC
Hah, well this is pretty funny:

± % rpm -qi pypy-devel                                                          !10037
Name        : pypy-devel
Version     : 2.2.1
Release     : 2.fc20
Architecture: x86_64
Install Date: Mon 01 Sep 2014 12:37:52 PM CEST
Group       : Development/Languages
Size        : 95158
License     : MIT and Python and UCD
Signature   : RSA/SHA256, Mon 20 Jan 2014 02:54:50 PM CET, Key ID 2eb161fa246110c1
Source RPM  : pypy-2.2.1-2.fc20.src.rpm
Build Date  : Sat 18 Jan 2014 02:05:21 AM CET
Build Host  : buildvm-14.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://pypy.org/
Summary     : Development tools for working with PyPy
Description :
Header files for building C extension modules against PyPy

Requires: pypy = 2.2.1-2.fc20


As you can see the Requires line is positioned such that rpm considers it part of the description. I'll fix it in f20+. Good job noticing it :)

Comment 8 Miro Hrončok 2014-09-01 14:47:22 UTC
    %package devel
    Group:    Development/Languages
    Summary:  Development tools for working with PyPy
    %description devel
    Header files for building C extension modules against PyPy
    
    Requires: pypy = %{version}-%{release}

I guess it should be:


    %package devel
    Group:    Development/Languages
    Summary:  Development tools for working with PyPy
    Requires: pypy = %{version}-%{release}

    %description devel
    Header files for building C extension modules against PyPy

Comment 9 Fedora Update System 2014-09-04 13:15:20 UTC
pypy-2.2.1-3.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/pypy-2.2.1-3.fc20

Comment 10 Fedora Update System 2014-09-09 22:17:59 UTC
Package pypy-2.2.1-3.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing pypy-2.2.1-3.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-10434/pypy-2.2.1-3.fc20
then log in and leave karma (feedback).

Comment 11 Fedora Update System 2014-09-19 10:11:25 UTC
pypy-2.2.1-3.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.