# Proposal for official building instructions

**URL:** <https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104>\
**Category:** Getting started\
**Created:** [September 8, 2026, 7:56pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104 "2026-09-08T19:56:27Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![gmb](https://avatars.discourse-cdn.com/v4/letter/g/edb3f5/32.png) [@gmb](https://calculix.discourse.group/u/gmb)\
**Post date:** [September 8, 2026, 7:56pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/1 "2026-09-08T19:56:27Z")

</div>

Hi!

Being a new CalculiX user is challenging. I spent some time on this forum to find a comprehensive tutorial on how to build CalculiX. Since the repository is opening to contributions I propose a `BUILD.md` file that can ease this experience. This community has way more knowledge on this topic, so I’d like to ask the members for their help with this.

---

<div class="post-metadata">

**Author:** ![stoli](https://avatars.discourse-cdn.com/v4/letter/s/a3d4f5/32.png) [@stoli](https://calculix.discourse.group/u/stoli)\
**Post date:** [September 9, 2026, 3:12pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/2 "2026-09-09T15:12:05Z")

</div>

[https://www.feacluster.com/install/install](https://www.feacluster.com/install/install)

A great starting point to build ccx.

Best,

Stoli

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [September 9, 2026, 4:19pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/3 "2026-09-09T16:19:38Z")

</div>

Or even the official install instructions… Go to the shorter version near the bottom

[https://dhondt.de/ccx\_2.23.README.INSTALL](https://dhondt.de/ccx_2.23.README.INSTALL)

---

<div class="post-metadata">

**Author:** ![Durbul](https://avatars.discourse-cdn.com/v4/letter/d/8dc957/32.png) [@Durbul](https://calculix.discourse.group/u/Durbul)\
**Post date:** [September 9, 2026, 6:19pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/4 "2026-09-09T18:19:28Z")

</div>

We’re currently working on a CMake build system to address this issue. While the existing Makefiles work well for some people, they require a fair amount of platform-specific knowledge and manual handling of compiler settings, library paths, and dependencies (which is probably the main reason why no comprehensive tutorial exists at the moment). CMake will improve cross-platform support and dependency management, making it easier for new users and contributors.

---

<div class="post-metadata">

**Author:** ![rsmith](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/rsmith/32/1684_2.png) [@rsmith](https://calculix.discourse.group/u/rsmith)\
**Post date:** [September 9, 2026, 8:25pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/5 "2026-09-09T20:25:44Z")

</div>

On a UNIX-like environment, building CalculiX isn’t all that difficult, see e.g. [my build scripts](https://github.com/rsmith-nl/calculix-build-pastix).  
I like to link all the libraries statically into CalculiX as much as possible. That makes it easier to do a build with 64-bit integers without messing with the libraries that might be installed system-wide.

Building stuff on ms-windows out-of-the-box is a pretty poor experience in comparison.  
I have started using [w64devkit](https://github.com/skeeto/w64devkit/) for building windows binaries of my own programs if I need to make those. It comes with a lot of the tools that make building software on UNIX-like systems so nice.

Pastix can be more troublesome, especially if you need a build _without cuda_ because you don’t have an Nvidia card or CUDA doesn’t exist for your platform. E.g, building the current pastix4calculix _requires_ the long deprecated python 2.

I would say that integrating a _recent pastix_ might be deserving of a higher priority than yet another meta-build system.  
`cmake` requires its own set of settings that you have to use.  
This is e.g. how I’m building `pastix4calculix`:

```auto
set -e
PREFIX=`pwd`

# This build *requires* Python 2.7.
# The code generation scripts in this version of PaStiX do *not* work with
# python 3!
if ! which python2.7 >/dev/null; then
        echo "Python 2.7 not found."
        echo "It is required for building this version of pastix. Exiting..."
        exit 1
fi

cd source
rm -rf pastix
tar xf ../distfiles/PaStiX4CalculiX-2.17_cudaless.tar.gz
mv PaStiX4CalculiX-2.17_cudaless pastix4calculix
cd pastix4calculix

patch < ../../patches/pastix/kabbone-CMakeLists.txt.patch
patch < ../../patches/pastix/spm.c.patch
patch < ../../patches/pastix/bcsc_z.h.patch

mkdir build
cd build
env PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig \
cmake -Wno-dev \
        -DPYTHON_EXECUTABLE=/usr/local/bin/python2.7 \
        -DPASTIX_WITH_CUDA=OFF \
        -DCMAKE_PREFIX_PATH=${PREFIX} \
        -DCMAKE_INSTALL_PREFIX=${PREFIX} \
        -DCMAKE_BUILD_TYPE=Release \
        -DSCOTCH_DIR=${PREFIX} \
        -DPASTIX_ORDERING_SCOTCH=ON \
        -DCMAKE_C_COMPILER=gcc13 \
        -DCMAKE_CXX_COMPILER=g++13 \
        -DCMAKE_Fortran_COMPILER=gfortran13 \
        -DCMAKE_C_FLAGS='-fopenmp -lpciaccess -lm -Wno-unused-parameter' \
        ..
gmake -j4
gmake install
cd ../..
rm -rf pastix4calculix

```

This `cmake` call isn’t really an improvement over a standard Makefile, IMO.

---

<div class="post-metadata">

**Author:** ![gmb](https://avatars.discourse-cdn.com/v4/letter/g/edb3f5/32.png) [@gmb](https://calculix.discourse.group/u/gmb)\
**Post date:** [September 9, 2026, 8:27pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/6 "2026-09-09T20:27:58Z")

</div>

Then this thread is pointless, thanks for the update! ‘cmake’ will make the build straigh forward.

---

<div class="post-metadata">

**Author:** ![gmb](https://avatars.discourse-cdn.com/v4/letter/g/edb3f5/32.png) [@gmb](https://calculix.discourse.group/u/gmb)\
**Post date:** [September 9, 2026, 8:30pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/7 "2026-09-09T20:30:28Z")

</div>

I really love your post, it demonstrates how complicated the build can be. Thank you for sharing!

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [September 10, 2026, 7:37pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/8 "2026-09-10T19:37:08Z")

</div>

On Linux, I use:

```auto
wget https://feacluster.com/install/install
perl install

```

On Windows, I just download the official binaries without compiling CalculiX myself.

But indeed, it would be great to have official building instructions for all systems and some tools to make compilation easier. Btw. FreeCAD has recently moved from CMake to Pixi and the compilation is really fast and easy now.

---

<div class="post-metadata">

**Author:** ![cwoelf](https://avatars.discourse-cdn.com/v4/letter/c/74df32/32.png) [@cwoelf](https://calculix.discourse.group/u/cwoelf)\
**Post date:** [September 15, 2026, 12:04pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/9 "2026-09-15T12:04:17Z")

</div>

The issue you show with building a compatible PaStiX for CalculiX is orthogonal to improving build instructions and tooling for core CalculiX and we will address this specific issue in separation.

---

<div class="post-metadata">

**Author:** ![rsmith](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/rsmith/32/1684_2.png) [@rsmith](https://calculix.discourse.group/u/rsmith)\
**Post date:** [September 15, 2026, 6:09pm UTC](https://calculix.discourse.group/t/proposal-for-official-building-instructions/4104/10 "2026-09-15T18:09:33Z")

</div>

Good!

It would be nice if the work that [Kabbone](https://github.com/Kabbone) has done to get CalculiX to work with the current PaStiX 6.4.0 could be merged.
