[WIP] Build PyChaste on Ubuntu 25.10 Questing Quokka#33
Conversation
|
PyChaste generates and builds wrappers okay with the default Clang 20 on Ubuntu 25.10 Questing Quokka. |
|
The bindings are now building correctly in the container @bdevans |
|
This works fine when building the |
|
At the time of writing, the latest Is this expected @kwabenantim or is there some significant duplication of the files? |
This is probably because |
It seems the wrappers add about 5.5G to the chaste@7ede4a9cd738:~/build$ du -sh pychaste
5.5G pychaste
chaste@7ede4a9cd738:~/build$ du -sh pychaste/*
4.4G pychaste/CMakeFiles
4.0K pychaste/CTestTestfile.cmake
860K pychaste/Makefile
4.0K pychaste/cmake_install.cmake
336K pychaste/cppwg.log
9.2M pychaste/libchaste_pychaste.so
1.1G pychaste/package
9.8M pychaste/test
5.9M pychaste/wrappers
chaste@7ede4a9cd738:~/build$ du -sh pychaste/CMakeFiles/*
4.0K pychaste/CMakeFiles/CMakeDirectoryInformation.cmake
4.4G pychaste/CMakeFiles/_pychaste_all.dir
18M pychaste/CMakeFiles/chaste_pychaste.dir
4.0K pychaste/CMakeFiles/progress.marks
32K pychaste/CMakeFiles/pychaste_wrappers.dir
chaste@7ede4a9cd738:~/build$ du -sh pychaste/CMakeFiles/_pychaste_all.dir/*
140K pychaste/CMakeFiles/_pychaste_all.dir/DependInfo.cmake
1.2M pychaste/CMakeFiles/_pychaste_all.dir/build.make
88K pychaste/CMakeFiles/_pychaste_all.dir/cmake_clean.cmake
38M pychaste/CMakeFiles/_pychaste_all.dir/compiler_depend.internal
40M pychaste/CMakeFiles/_pychaste_all.dir/compiler_depend.make
4.0K pychaste/CMakeFiles/_pychaste_all.dir/compiler_depend.ts
4.0K pychaste/CMakeFiles/_pychaste_all.dir/depend.make
8.0K pychaste/CMakeFiles/_pychaste_all.dir/flags.make
96K pychaste/CMakeFiles/_pychaste_all.dir/link.d
48K pychaste/CMakeFiles/_pychaste_all.dir/link.txt
12K pychaste/CMakeFiles/_pychaste_all.dir/progress.make
4.3G pychaste/CMakeFiles/_pychaste_all.dir/wrappers
chaste@7ede4a9cd738:~/build$ du -sh pychaste/CMakeFiles/_pychaste_all.dir/wrappers/*
4.3G pychaste/CMakeFiles/_pychaste_all.dir/wrappers/allchaste@7ede4a9cd738:~$ du -sh ~/.local/lib/python3.13/site-packages/*
547M /home/chaste/.local/lib/python3.13/site-packages/chaste
36K /home/chaste/.local/lib/python3.13/site-packages/chaste-2024.1.dist-info |
|
We can probably remove the intermediate wrapper binaries from the image since they aren't required for PyChaste to work: rm $CHASTE_BUILD_DIR/pychaste/CMakeFiles/_pychaste_all.dir/wrappers/all/*.oThis should bring the size down by about 4GB, but they'll be rebuilt again if someone wants to re-compile PyChaste after making changes. |
|
Hi @kwabenantim, 4GB would be a nice saving but how much time would it add to rebuild those intermediates as part of a recompile? Also, I think the 18.2GB figure may have included some unnecessary dependencies so hopefully we can reduce the image size further. |
That's a good point @bdevans. It's about 20m to build PyChaste with
Thanks, I think that would be useful. Also, it seems there will be a decent amount of compression when it gets uploaded to Docker Hub (chaste/develop is currently less than 2.5 GB). |
|
We could also experiment with the
|
The average UK broadband speed is about 75MB/s so the extra 4GB adds about 7m to the download - roughly 1/3 of the time it takes to rebuild it. Considering a) the image is compressed by Docker Hub and b) most of those downloads will likely be on much faster campus networks, I think that's an acceptable up-front increase considering the time saved on rebuilding the files. |
Supports #22