Looks like pypy now can build numpy. Well, a slightly modified numpy.
Get default branch of pypy. be careful cause the developers don’t maintain default branch compilable. Revision 84341 (c86b42dd7613) works for me.
compile using
./rpython/bin/rpython -O2 ./pypy/goal/targetpypystandalone.py --withoutmod-micronumpy Create package and vitual environment. Something like this:
./pypy/tool/release/package.py --targetdir ./my_builds/build.tar.bz2 --builddir ./tmp/ --nostrip --archive-name pypy_84341 Needed to copy pypy-c and libpypy to pypy/goal beforehand.
Clone and follow instructions from https://github.com/pypy/numpy/commits/cpyext-ext Revision 3299d0d76fdb831fbcb4429a89c1f53bb36ea07f worked for me...
Looks like it is too early for using scipy in Pypy. There is a plenty of dependencies on C-code there.
I was able to install scipy 0.17 in pypy. I disabled all failed dependencies. Unfortunately it is completely useless. Almost everything doesn’t work.
link
Pypy builds faster if using -O2 option.
To build faster (according to pypy documentation) use prebuilt pypy from link
Using virtualenv to create virtual environment for it.
Build script (to be placed in pypy source directory):
#!/bin/bash cd pypy/goal || exit 1 source <path to existing pypy environment>/bin/activate || exit 2 pypy ../../rpython/bin/rpython --batch -O2 targetpypystandalone
Building from source root using command pypy_src$ rpython/bin/rpython -Ojit pypy/goal/targetpypystandalone.py produces structure with obsolete pypy-c and libpypy-c.so in /tmp/usession-release-4.0.1-XXXX/build/pypy-nightly/bin/
Probably pypy compiler places there files integrated in the src distribution. To get fresh versions I had to use pypy-c and libpypy-c.so from sources root.
UPDATE: Probably I was completely wrong. pypy/tool/release/package.py has an option for (not) stripping resulting binary file: “–nostrip”. By default it is enabled. Looks like it removed something unused from binaries....