# Creating an Executable from a PyLith Fork

**URL:** <https://community.geodynamics.org/t/creating-an-executable-from-a-pylith-fork/3540>\
**Category:** PyLith\
**Created:** [July 9, 2024, 6:21pm UTC](https://community.geodynamics.org/t/creating-an-executable-from-a-pylith-fork/3540 "2024-07-09T18:21:43Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![robertlwalker](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/robertlwalker/32/97_2.png) [@robertlwalker](https://community.geodynamics.org/u/robertlwalker)\
**Post date:** [July 9, 2024, 6:21pm UTC](https://community.geodynamics.org/t/creating-an-executable-from-a-pylith-fork/3540/1 "2024-07-09T18:21:43Z")

</div>

Is there a guide that points out how to create a PyLith executable from a branch on a forked PyLith repo?

@baagaard

---

<div class="post-metadata">

**Author:** ![baagaard](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/baagaard/32/615_2.png) [@baagaard](https://community.geodynamics.org/u/baagaard)\
**Post date:** [July 9, 2024, 6:45pm UTC](https://community.geodynamics.org/t/creating-an-executable-from-a-pylith-fork/3540/2 "2024-07-09T18:45:39Z")

</div>

By executable I assume you mean a binary package distribution. If you build a binary package distribution, you need to build _all_ of the dependencies too; on Linux this include the compiler. You need to make sure you build on an operating system that is at least as old as the oldest system on which the binary will be used.

The `packager/build.py` script in the PyLith installer repo is what I use to build the binaries. You can drop the appropriate source tarballs into the directories where the installer script stores the source tarballs and it will use them rather than download them. For example, you can drop the PyLith source tarball in `build/cig`. You can create the PyLith source tarball by running `make dist` in the build directory of your fork. The PETSc tarball is made using the `make_petscdist.sh` bash script in the installer `packager` directory.
