Skip to content
Snippets Groups Projects
Commit d4e43f4b authored by Armin Rigo's avatar Armin Rigo
Browse files

More notes about building from sources.

parent 6d2cbe62
No related branches found
No related tags found
No related merge requests found
......@@ -126,5 +126,5 @@
</pre>
</li>
<li><p class="first">Run the <tt class="docutils literal">translate.py</tt> script. Here are the common combinations
of options:</p>
of options (works also with <tt class="docutils literal">python</tt> instead of <tt class="docutils literal">pypy</tt>):</p>
<pre class="literal-block">
......@@ -130,8 +130,8 @@
<pre class="literal-block">
python translate.py -Ojit # get the JIT version
python translate.py -O2 # get the no-jit version
python translate.py --sandbox # get the sandbox version
python translate.py --stackless # get the stackless version
python translate.py -Ojit --backend=cli # only for branch/cli-jit
pypy translate.py -Ojit # get the JIT version
pypy translate.py -O2 # get the no-jit version
pypy translate.py --sandbox # get the sandbox version
pypy translate.py --stackless # get the stackless version
pypy translate.py -Ojit --backend=cli # only for branch/cli-jit
</pre>
</li>
......@@ -136,7 +136,7 @@
</pre>
</li>
<li><p class="first">Enjoy Mandelbrot <tt class="docutils literal"><span class="pre">:-)</span></tt> It takes on the order of one hour to
finish the translation, and 1.2 GB of RAM on a 32-bit system
and 2.4 GB on 64-bit systems. (Do not start a translation on a
<li><p class="first">Enjoy Mandelbrot <tt class="docutils literal"><span class="pre">:-)</span></tt> It takes on the order of half an hour to
finish the translation, and 1.7 GB of RAM on a 32-bit system
and 3.0 GB on 64-bit systems. (Do not start a translation on a
machine with insufficient RAM! It will just swap forever.)</p>
</li>
......@@ -141,7 +141,3 @@
machine with insufficient RAM! It will just swap forever.)</p>
</li>
<li><p class="first">Once you have a PyPy, it is recommended to use it to do further
translations, instead of using CPython. It is twice as fast,
but uses a bit more RAM (1.7-2.0 GB on 32-bit, 3.0 GB on 64-bit).</p>
</li>
</ol>
......@@ -147,4 +143,18 @@
</ol>
<p>Notes:</p>
<ul class="simple">
<li>It is recommended to use PyPy to do translations, instead of using CPython,
because it is twice as fast. (Using CPython would lower the memory
requirement down to 1.2 GB on 32-bit, 2.4 GB on 64-bit.)
You should just start by downloading an official release of PyPy (with the
JIT).</li>
<li>In the final step, which is compiling the generated C files, the <tt class="docutils literal">CFLAGS</tt>
are passed to the compiler. However, avoid passing too many custom
<tt class="docutils literal">CFLAGS</tt>, particularly when compiling with <tt class="docutils literal">asmgcroot</tt> (needed by the
JIT). It will make <tt class="docutils literal">trackgcroot.py</tt> unhappy. In case you want to try
it out anyway, after a CompilationError you can change your <tt class="docutils literal">CFLAGS</tt>
and retry by typing <tt class="docutils literal">cd <span class="pre">/tmp/usession-$USER/testing_1;</span> make</tt>.</li>
</ul>
</div>
<div class="section" id="checksums">
<h1>Checksums</h1>
......
......@@ -113,5 +113,5 @@
cd pypy-trunk/pypy/translator/goal
4. Run the ``translate.py`` script. Here are the common combinations
of options::
of options (works also with ``python`` instead of ``pypy``)::
......@@ -117,7 +117,7 @@
python translate.py -Ojit # get the JIT version
python translate.py -O2 # get the no-jit version
python translate.py --sandbox # get the sandbox version
python translate.py --stackless # get the stackless version
python translate.py -Ojit --backend=cli # only for branch/cli-jit
pypy translate.py -Ojit # get the JIT version
pypy translate.py -O2 # get the no-jit version
pypy translate.py --sandbox # get the sandbox version
pypy translate.py --stackless # get the stackless version
pypy translate.py -Ojit --backend=cli # only for branch/cli-jit
......@@ -123,6 +123,6 @@
5. Enjoy Mandelbrot ``:-)`` It takes on the order of one hour to
finish the translation, and 1.2 GB of RAM on a 32-bit system
and 2.4 GB on 64-bit systems. (Do not start a translation on a
5. Enjoy Mandelbrot ``:-)`` It takes on the order of half an hour to
finish the translation, and 1.7 GB of RAM on a 32-bit system
and 3.0 GB on 64-bit systems. (Do not start a translation on a
machine with insufficient RAM! It will just swap forever.)
......@@ -127,8 +127,20 @@
machine with insufficient RAM! It will just swap forever.)
6. Once you have a PyPy, it is recommended to use it to do further
translations, instead of using CPython. It is twice as fast,
but uses a bit more RAM (1.7-2.0 GB on 32-bit, 3.0 GB on 64-bit).
Notes:
* It is recommended to use PyPy to do translations, instead of using CPython,
because it is twice as fast. (Using CPython would lower the memory
requirement down to 1.2 GB on 32-bit, 2.4 GB on 64-bit.)
You should just start by downloading an official release of PyPy (with the
JIT).
* In the final step, which is compiling the generated C files, the ``CFLAGS``
are passed to the compiler. However, avoid passing too many custom
``CFLAGS``, particularly when compiling with ``asmgcroot`` (needed by the
JIT). It will make ``trackgcroot.py`` unhappy. In case you want to try
it out anyway, after a CompilationError you can change your ``CFLAGS``
and retry by typing ``cd /tmp/usession-$USER/testing_1; make``.
.. _`x86 (IA-32)`: http://en.wikipedia.org/wiki/IA-32
.. _`x86-64`: http://en.wikipedia.org/wiki/X86-64
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment