Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

assimp: ccache from system might be picked up #21981

Open
Thyre opened this issue Dec 6, 2024 · 2 comments
Open

assimp: ccache from system might be picked up #21981

Thyre opened this issue Dec 6, 2024 · 2 comments

Comments

@Thyre
Copy link
Contributor

Thyre commented Dec 6, 2024

On my personal system, where a lot of programs like pkgconf, ccache and so on are installed outside of EasyBuild, some packages fail to build with the existing EasyConfigs. With assimp, we run into the following issue:

By default assimp builds with ccache enabled, see: https://github.com/assimp/assimp/blob/46c26eda5a3e212e086fc96b453ecb68f4b3ae75/CMakeLists.txt#L49

This is probably not needed for EasyBuild, and can also introduce issues when ccache is found on the system, but is not built by EasyBuild:

259 cd /data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/easybuild_obj/code && /usr/bin/ccache /data/EasyBuild-develop/software/GCCcore/13.3.0/bin/g++ -DASSIMP_BUILD_DLL_EXPORT -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_M3D_EXPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BU    ILD_NO_USD_IMPORTER -DASSIMP_IMPORTER_GLTF_USE_OPEN3DGC=1 -DMINIZ_USE_UNALIGNED_LOADS_AND_STORES=0 -DOPENDDLPARSER_BUILD -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -Dassimp_EXPORTS -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/easybuild_obj/include -I/data/EasyBuild-develop/buil    d/assimp/5.4.3/GCCcore-13.3.0/easybuild_obj -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/include -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/code -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/. -I/data/EasyBuild-develop/software    /zlib/1.3.1-GCCcore-13.3.0/include -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/code/../contrib/pugixml/src -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/code/../contrib/utf8cpp/source -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3    /code/../contrib/rapidjson/include -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/code/../contrib -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/code/../contrib/unzip -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/code/../contrib/open    ddlparser/include -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/code/../include -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/easybuild_obj/code/../include -I/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/code/.. -fvisibility=hidden -fno-strict-al    iasing -Wall -O2 -ftree-vectorize -march=native -fno-math-errno -O3 -DNDEBUG -std=gnu++17 -fPIC -Wno-dangling-reference -MD -MT code/CMakeFiles/assimp.dir/Common/SceneCombiner.cpp.o -MF CMakeFiles/assimp.dir/Common/SceneCombiner.cpp.o.d -o CMakeFiles/assimp.dir/Common/SceneCombiner.cpp.o -c /data/EasyBuild-deve    lop/build/assimp/5.4.3/GCCcore-13.3.0/assimp-5.4.3/code/Common/SceneCombiner.cpp
260 /usr/bin/ccache: /data/EasyBuild-develop/software/GCCcore/13.3.0/lib64/libstdc++.so.6: version `CXXABI_1.3.15' not found (required by /usr/bin/ccache)
261 make[2]: *** [code/CMakeFiles/assimp.dir/build.make:275: code/CMakeFiles/assimp.dir/Common/SpatialSort.cpp.o] Error 1
262 /usr/bin/ccache: /data/EasyBuild-develop/software/GCCcore/13.3.0/lib64/libstdc++.so.6: version `CXXABI_1.3.15' not found (required by /usr/bin/ccache)
263 make[2]: *** [code/CMakeFiles/assimp.dir/build.make:289: code/CMakeFiles/assimp.dir/Common/SceneCombiner.cpp.o] Error 1
264 make[2]: Leaving directory '/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/easybuild_obj'
265 make[1]: *** [CMakeFiles/Makefile2:163: code/CMakeFiles/assimp.dir/all] Error 2
266 make[1]: Leaving directory '/data/EasyBuild-develop/build/assimp/5.4.3/GCCcore-13.3.0/easybuild_obj'
267 make: *** [Makefile:139: all] Error 2

We should probably disable this via ASSIMP_BUILD_USE_CCACHE=OFF, or add a build dependency to ccache.

@Micket
Copy link
Contributor

Micket commented Dec 10, 2024

I wonder if we have some global flag to disable ccache, like CCACHE_BASEDIR set to builddir. Hunting down every build tool that might use this stuff feels more tedious

@Thyre
Copy link
Contributor Author

Thyre commented Dec 11, 2024

There is CCACHE_DISABLE, but that still requires ccache to be present and working. CMake itself is not aware of ccache and projects might make us of it in different ways as far as I know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants