Bug 1135610 - pypy-devel doesn't require pypy
Summary: pypy-devel doesn't require pypy
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pypy
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Matej Stuchlik
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-08-29 19:13 UTC by Miro Hrončok
Modified: 2016-02-01 02:15 UTC (History)
3 users (show)

Fixed In Version: pypy-2.2.1-3.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-09-19 10:11:25 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.