A few more problems I ran into:

- package.py lists these options:

package.py root-pypy-dir [--nostrip] [--without-tk] [name-of-archive] [name-of-pypy-c] [destination-for-tarball] [pypy-c-path]

Running in this order

package.py ../../.. --without-tk means the --without-tk option doesn't get registered properly.

Currently I am running into this error:

error: 'SQLITE_DROP_VTABLE' undeclared (first use in this function)

My version of sqlite3 is too old, but I can't upgrade the system sqlite3, so I'm trying to link a different one using LD_LIBRARY_PATH like this

LD_LIBRARY_PATH=/path/to/sqlite3/sqlite-autoconf-3080100:$LD_LIBRARY_PATH /path/to/pypy-2.1-src/pypy/goal/pypy-c -c 'import _sqlite3'

but still getting the same error, so not sure what to do at this point.

Here are a few things I could add to the docs:

1. explain what each of the targetpypystandalone options does and that they are exclusive, not consecutive

2. add a numbered list for the "Building from source" section to emphasize you're supposed to run each number in the process to build a pypy

3. at the end of each numbered step, explain the output, eg "This will produce a binary called pypy-c that you can then use to release a pypy binary"

4. wrap subprocess.check_call("pypy-c -c 'import _sqlite3'") in a try/catch and add output

5. use argparse instead of sys.argv for package.py .. ? I think the mimimum python version now is 2.6 so this should be supported.

--
Kevin Burke | Twilio
phone: 925.271.7005 | kev.inburke.com


On Fri, Oct 25, 2013 at 10:18 PM, Kevin Burke <kev@inburke.com> wrote:
Hey everyone,
I was trying to compile pypy and made the following mistakes:

- On this page: http://pypy.org/download.html I couldn't figure out whether I was supposed to run all three of these commands:

pypy ../../rpython/bin/rpython -Ojit targetpypystandalone           # get the JIT version
pypy ../../rpython/bin/rpython -O2 targetpypystandalone             # get the no-jit version
pypy ../../rpython/bin/rpython -O2 --sandbox targetpypystandalone   # get the sandbox version

or just one.

- Once I got it installled I didn't realize there was an additional step after pypy-c was created.

- I tried running python package.py -h and that didn't do what I expected (show help dialog)

- I tried running package.py with the right options and it hung with this message (on both Mac and Centos):

sll_os.ll_os_getenv(sPYPY_GENERATIONGC_NURSERY

The only Google search results for this are an IRC channel from 2 years ago. It turned out I didn't want the Sandbox option, I think.

- I tried compiling outside the sandbox and got this error:

raise NoTTY("Cannot start the debugger when stdout is captured.")

It turns out this is a red herring and the real error was way above that:

error: ffi.h: No such file or directory

It would be nice if these were more obvious.. of course I expect to run into issues but the errors could be more clear when they are.

Continuing the install process now, will post updates here as I have them.

I am happy to help try and fix these where I can, if you can point me in the right direction - I have a fair amount of experience working with new users at Twilio. I have also made exactly one commit to Pypy source code: https://bitbucket.org/pypy/pypy/commits/665baf750859/ Pypy is a lovely project and I'd love to try and help make this process easier.

Best,
Kevin

--
Kevin Burke | Twilio
phone: 925.271.7005 | kev.inburke.com