# Step by step tutorial on how to use PARI/GP development version in Sage

This tutorial explains how to use a PARI/GP development version inside Sage. This is currently a bit hackish and the aim is to have this possibility natively supported (see this thread on sage-devel.

## Prerequisites

We assume that your PARI/GP source code is at

`$PARI_ROOT`You need version of Sage compiled from source that is run with the command

`sage`

## Procedure

Download the script pari_sage.sh

Start Sage environment

$ cd $PARI_ROOT $ sage -sh # starts Sage environment

Optional step: apply Sage patches located in

`$SAGE_ROOT/build/pkg/pari/patches`.Compile pari

$ cd $PARI_ROOT $ make clean # start with a clean slate $ source pari_sage.sh # reading pari_build.sh $ pari_set_environment # setting properly environment variables for compilation $ pari_build # building pari $ pari_install # installing pari

Recompile cysignals

$ sage -f cysignals # recompile cysignals (to be linked correctly against pari)

Compile the last version of cypari (this currently breaks, but this pull request fixes it)

$ sage -pip install git+https://github.com/defeo/cypari2

Recompile what needs to be

$ sage -br

## Procedure to restore the standard PARI package in Sage

$ sage -f pari $ sage -f cysignals $ sage -f cypari $ sage -br