zyli Posted Monday at 06:53 Report Share Posted Monday at 06:53 Debian 12.8 Bookworm Today (2024-12-16) I tried to compile 0ad with nightly-build (commands: 'svn update' etc.) I got the message: Quote Updated to version 108. In the '0ad/trunk/libraries/' directory I had to give executable permissions to *.sh files, because the update downloaded newer files without these permissions: chmod +x build-source-libs.sh source/cxxtest-4.4/build.sh source/fcollada/build.sh source/nvtt/build.sh source/premake-core/build.sh source/spidermonkey/build.sh source/spirv-reflect/build.sh But that's a minor thing. Being in the 'libraries/' directory I issued the command './build-source-libs.sh' During "Building SpiderMonkey..." I received the information: Quote ERROR: Rust compiler 1.63.0 is too old. And then: Quote To compile Rust language sources please install at least version 1.66.0 of the 'rustc' toolchain (or, if using nightly, at least one version newer than 1.66.0) and make sure it is first in your path. Finally: Quote ERROR: SpiderMonkey build failed In stable Debian 12.8 there is: rustc --version rustc 1.63.0 Can't the requirements be lowered to version 1.63, which would allow building a 0ad nightly build in Debian Bookworm? I know that Debian has been waiting for quite a long time to update rustc. Debian Testing already has the current version 1.83, but the new Debian Stable is still a long way off (half a year?). The previous 0ad build, i.e. 99, made by me, worked fine. Regards. Quote Link to comment Share on other sites More sharing options...
Itms Posted Monday at 07:57 Report Share Posted Monday at 07:57 Hello zyli, thanks for the report and the useful feedback on the build system. 59 minutes ago, zyli said: In the '0ad/trunk/libraries/' directory I had to give executable permissions to *.sh files, because the update downloaded newer files without these permissions: This is currently being fixed, in PR-7323 1 hour ago, zyli said: Can't the requirements be lowered to version 1.63, which would allow building a 0ad nightly build in Debian Bookworm? Unfortunately, Rust 1.66 is a requirement from Mozilla to build SpiderMonkey, we cannot decrease that. However, you can install Rust 1.66 or later using Rustup instead of your package manager. This is the recommended Rust install method. On our CI this allows us to build and test 0 A.D. even on Debian Bullseye. Quote Link to comment Share on other sites More sharing options...
zyli Posted yesterday at 07:30 Author Report Share Posted yesterday at 07:30 (edited) Thank you for your answer. Here's what I did: 1. I installed Debian Trixie on a USB flash drive (USB 3.0) just like on a hard drive (with its own UEFI partition and additionally with grub-pc so that it can be run on older computers without UEFI). Now I have: rustc ver. 1.83.0, python 3.12.6, libopenal* ver. 1.24.1. 2. I copied my previous directory from 0ad nightly 'svn_2024/0ad/trunk/' to the above-mentioned Debian Trixie drive. I made sure that the directories I placed in had exactly the same names. Once I unnecessarily changed the name 'svn_2024' to something else and 0ad wouldn't build - the absolute path was remembered somewhere. 3. I issued the commands: cd trunk/ svn update cd libraries/ nproc # I got: 20 ./build-source-libs.sh -j20 cd ../build/workspaces/ ./update-workspaces.sh -j20 cd gcc make clean make -j20 4. Now check: cd ../../../binaries/system/ ./test # I got: Running cxxtest tests (416 tests)...OK! ./pyrogenesis # It works fine! cat ~/svn_2024_october/0ad/trunk/build/build_version/build_version.txt L"main, 5f1f8" (yesterday, today 17 Dec: L"main, dba968") 5. Of course, there were some surprises. I struggled with, among others: with the problem: Quote ERROR: Cannot find llvm-objdump ERROR: SpiderMonkey build failed It helped to install the package: llvm. 6. I think that on the page: https://gitea.wildfiregames.com/0ad/0ad/wiki/BuildInstructions in the "Dependencies - Debian, Ubuntu" section for Debian 13 Trixie in the sentence starting with: "sudo apt install" it would be good to add the following packages: python-is-python3 rustfmt llvm Adding the 'ccache' package wouldn't hurt either. 7. When I executed './clean-source-libs.sh' it gave me a warning: './clean-source-libs.sh: 13: git: not found'. But I think that for 'svn update' the 'git' package is not needed. 8. After starting './pyrogenesis' it displays: [W][01203.830396] pw.conf | [ conf.c: 1214 try_load_conf()] can't load config client.conf: No such file or directory [E][01203.830423] pw.conf | [ conf.c: 1243 pw_conf_load_conf_for_context()] can't load config client.conf: No such file or directory But it probably has no visible effect. 9. You can't download the 0ad-spirv mod using Settings – Mod selection, which was once needed for Vulkan to work. So I copied the '0ad-spirv-0.27.22-b8sl.zip' file I had, enabled it in the settings and everything works. 0ad + Vulkan on the 'nouveau' driver (sic!). The game is playable, but Debian files and game files on a pendrive instead of a hard drive do their thing. I noticed that when there is no '0ad-spirv' mod, after exiting the game a warning window appears - I'm attaching the 'crash' file. That would be it - maybe someone will find it useful. Best regards. crashlog_2024-12-17_no_spirv-mod.txt Edited yesterday at 07:44 by zyli Quote Link to comment Share on other sites More sharing options...
Itms Posted 23 hours ago Report Share Posted 23 hours ago Hi, thanks 2. would be fixed by 7. but you're right, that doesn't work in the nightly SVN. Instead, if you version of subversion is recent enough, "svn cleanup --remove-unversioned" would do the trick. 5. 6. ah, you're correct. those are fixes that are in place in our CI configuration, but on on the build instructions. 9. The SPIR-V mod is not needed anymore, you can delete it from everywhere. All the SPIR-V shaders are already included in the nightly build. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.