@lukerb52 I just updated the version to 0.8.5 and with some updated and new patches. You should be able to compile the code without any problem. And I simply removed the "-j 8" option, but I left a comment about it.
Search Criteria
Package Details: ifcopenshell-stable 0.8.5-1
Package Actions
| Git Clone URL: | https://aur.archlinux.org/ifcopenshell-stable.git (read-only, click to copy) |
|---|---|
| Package Base: | ifcopenshell-stable |
| Description: | Open source IFC library and geometry engine. Provides static libraries, python3 wrapper and blender addon. |
| Upstream URL: | https://ifcopenshell.org/ |
| Licenses: | GPL-3.0-or-later, LGPL-3.0-or-later |
| Conflicts: | ifcopenshell, ifcopenshell-git |
| Submitter: | oxalin |
| Maintainer: | oxalin |
| Last Packager: | oxalin |
| Votes: | 0 |
| Popularity: | 0.000000 |
| First Submitted: | 2026-01-05 18:31 (UTC) |
| Last Updated: | 2026-05-01 08:28 (UTC) |
Dependencies (51)
- boost-libs
- hdf5 (hdf5-gitAUR, hdf5-openmpi)
- hicolor-icon-theme (hicolor-icon-theme-gitAUR)
- libxml2-legacy
- mpfr (mpfr-gitAUR)
- opencascade (opencascade-gitAUR)
- python
- python-jinja
- python-numpy (python-numpy-gitAUR, python-numpy-mkl-binAUR, python-numpy1AUR, python-numpy-mkl-tbbAUR, python-numpy-mklAUR)
- python-platformdirs
- python-pytest
- python-pytz
- python-requests
- python-typing_extensions
- blender (blender-3.0-gitAUR, blender-2.93-gitAUR, blender-2.83-gitAUR, upbge-gitAUR, upbge-binAUR, blender-git-nvidiaAUR, blender-develop-gitAUR, blender-gitAUR, blender-binAUR) (make)
- boost (boost-gitAUR) (make)
- cgal (cgal-gitAUR) (make)
- cmake (cmake3AUR, cmake-gitAUR) (make)
- eigen (eigen-gitAUR, eigen3) (make)
- git (git-gitAUR, git-glAUR, git-wd40AUR) (make)
- Show 31 more dependencies...
Required by (0)
Sources (12)
- 001-skip-install-python-wrapper.patch
- 002-add-shared-libs.patch
- 003-fix-rpath.patch
- 004-fix-boost189.patch
- 005-fix-ifcsverchok-setup.patch
- 006-use-spdx-license.patch
- 007-fix-ld-eror.patch
- 008-fix-for-boost-1.89-explicit-optional.patch
- bpypolyskel-1.1.3.tar.gz
- git+https://github.com/IfcOpenShell/svgfill.git
- git+https://github.com/svgpp/svgpp.git
- https://github.com/IfcOpenShell/IfcOpenShell/archive/refs/tags/bonsai-0.8.5.tar.gz
Latest Comments
oxalin commented on 2026-05-01 08:33 (UTC)
lukerb52 commented on 2026-04-30 18:38 (UTC) (edited on 2026-04-30 19:47 (UTC) by lukerb52)
There appear to be two current build issues with this package on an up-to-date Arch/Artix toolchain.
-
The PKGBUILD hardcodes parallel ninja jobs:
ninja -C build -j 8
This ignores MAKEFLAGS / makepkg.conf and can easily cause OOM during compilation, especially in VMs or systems with 8–16 GB RAM. A safer option would be something configurable, e.g.:
ninja -C build -j "${NINJA_JOBS:-1}"
or otherwise respecting CMAKE_BUILD_PARALLEL_LEVEL / the user’s makepkg settings.
-
The current 0.8.4 source also fails to compile with recent Boost/GCC. I am seeing this on Artix with GCC 15 and Boost 1.91. The error is:
converting to 'const boost::optional<double>' from initializer list would use explicit constructor
This is not limited to one file. It affects several profile mapping files under:
src/ifcgeom/mapping/*ProfileDef.cpp
So far I have hit it in at least:
IfcCShapeProfileDef.cpp
IfcIShapeProfileDef.cpp
IfcLShapeProfileDef.cpp
IfcTShapeProfileDef.cpp
IfcUShapeProfileDef.cpp
The failures occur around profile_helper calls where entries like this are used:
{{-x,-y},{f2}}
{{x - d1,-y + d1},{f1}}
{{x1,-y + ft1}, {fe1}}
{{x,-y + d2 - dy2},{f2} }
Changing these to explicitly construct boost::optional<double> fixes the local compile errors, e.g.:
{{-x,-y}, boost::optional<double>(f2)}
{{x - d1,-y + d1}, boost::optional<double>(f1)}
{{x1,-y + ft1}, boost::optional<double>(fe1)}
{{x,-y + d2 - dy2}, boost::optional<double>(f2)}
So the package currently has both a packaging/build-control issue and a newer Boost/GCC source compatibility issue. The Boost issue appears to be a repeated pattern across multiple *ProfileDef.cpp files, not a one-off error in IfcCShapeProfileDef.cpp.
oxalin commented on 2026-01-07 00:32 (UTC) (edited on 2026-05-01 08:32 (UTC) by oxalin)
If your system becomes unresponsive while building, let it be known that this code is memory hungry. On my system, I had to limit the number of parallel build processes to 8. Over 10 parallel build processes, it would sometime eat out all the RAM (32GB), making the system unresponsive and breaking the build.
Add "-j X" option at the end of "ninja -C build", where X is the number of parallel processes to build with.
Pinned Comments
oxalin commented on 2026-01-07 00:32 (UTC) (edited on 2026-05-01 08:32 (UTC) by oxalin)
If your system becomes unresponsive while building, let it be known that this code is memory hungry. On my system, I had to limit the number of parallel build processes to 8. Over 10 parallel build processes, it would sometime eat out all the RAM (32GB), making the system unresponsive and breaking the build.
Add "-j X" option at the end of "ninja -C build", where X is the number of parallel processes to build with.