zyli Posted October 5 Report Share Posted October 5 The page https://trac.wildfiregames.com/wiki/BuildInstructionsGettingTheCode is outdated due to migration to gitea. I used the description: https://gitea.wildfiregames.com/0ad/0ad/wiki/NightlyBuild What did I do? I created the '0ad' directory and in it as a user I issued the command: svn checkout https://svn.wildfiregames.com/nightly-build/trunk At the end of the download there is information: "At revision 46.". A 'trunk' directory was created which takes up about 14 GB. There is, among other things, a 'pyrogenesis.exe' file in the 'trunk/binaries/system/' directory. After copying the 'binaries/' directory with its contents to a pendrive (exfat) and connecting it to a Windows laptop, the game starts correctly. There is information in the lower left corner: "26 Sept 2024 (main,eb3f0)". Well, yes, but I want to run it on Debian. Now I followed the instructions according to: https://trac.wildfiregames.com/wiki/BuildInstructions which is identical to: https://gitea.wildfiregames.com/0ad/0ad/wiki/BuildInstructions I checked the dependencies – they were all there. There was too much free space on the disk. On this system, before the migration to gitea, I compiled 0.0.27 beta from time to time - so there was no need to install anything. Next instructions: cd trunk/build/workspaces The files 'clean-workspaces.sh' and 'update-workspaces.sh' did not have the executable attribute, for this: chmod +x clean-workspaces.sh chmod +x update-workspaces.sh The file 'clean-workspaces.sh' informs that: "This script is deprecated and might be removed in a future release." I run: ./update-workspaces.sh I get info: "./update-workspaces.sh: 76: ./build.sh: Permission denied ERROR: Premake 5 build failed" I check: ls -al ../premake/build.sh There is: '-rw-r--r--' Therefore: chmod +x ../premake/build.sh Now again: ./update-workspaces.sh It went well – no comments. But in my opinion it lasted too short. After comparing what the './update-workspaces.sh' command printed now with my build records from before the migration (e.g. rel. 28201) I can see that compilation did not occur: 1. FCollada 2. mozjs-91.13.1 3. NVTT and maybe others. Hence the short time the './update-workspaces.sh' command has to work. But I go further: cd gcc make I receive: ==== Building mocks_real (release) ==== Creating obj/mocks_real_Release mocks_real.cpp In file included from ../../../source/mocks/mocks_real.cpp:29: ../../../source/mocks/dlfcn.h:19:10: fatal error: cxxtest/Mock.h: No such file or directory 19 | #include <cxxtest/Mock.h> | ^~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [mocks_real.make:129: obj/mocks_real_Release/mocks_real.o] Error 1 make: *** [Makefile:163: mocks_real] Error 2 The command 'make clean' and then 'make' again did not helps. What did I do wrong? Postscriptum Until the migration I was compiling 0.0.27 beta quite regularly and had no problems with it. Due to Debian a small correction had to be made: https://wildfiregames.com/forum/topic/104500-0ad-svn-error-spidermonkey-build-failed/page/2/#comment-541019 'hyperion' – thanks again. Regards. 1 Quote Link to comment Share on other sites More sharing options...
Stan` Posted October 5 Report Share Posted October 5 @Itms does the executable flags transfer when you make the nightly from the git ? @zyli you forgot to run this script https://gitea.wildfiregames.com/0ad/0ad/src/branch/main/libraries/build-source-libs.sh Which build spidermonkey, fcollada, nvtt and cxxtests. Quote Link to comment Share on other sites More sharing options...
zyli Posted October 6 Author Report Share Posted October 6 Thanks Stan – it worked. But ... I found the file 'build-source-libs.sh' in the 'trunk/libraries/' directory. It didn't have the executable attribute, so: cd libraries/ chmod +x build-source-libs.sh Now: ./build-source-libs.sh I got the message: Building third-party dependencies... ./build-source-libs.sh: 58: ./source/cxxtest-4.4/build.sh: Permission denied ERROR: cxxtest build failed It turned out that there are five subdirectories in the 'trunk/libraries/source/' directory: cxxtest-4.4 fcollada nvtt spidermonkey spirv-reflect and in each of them there is a file 'build.sh' without the executable attribute. So: chmod +x source/cxxtest-4.4/build.sh chmod +x source/fcollada/build.sh chmod +x source/nvtt/build.sh chmod +x source/spidermonkey/build.sh chmod +x source/spirv-reflect/build.sh Now only: ./build-source-libs.sh I read that version 28209 was downloaded. I think the file 'source/spirv-reflect/build.sh' was not used, because running './build-source-libs.sh' again gives the result: Building third-party dependencies... cxxtest-4.4 is already up to date. FCollada is already up to date. NVTT is already up to date. Spidermonkey is already up to date. Done. I'm going further. cd ../build/workspaces/ ./update-workspaces.sh It took a very short time – apparently it had already been built with the previously issued './update-workspaces.sh' command. Now: cd gcc make It built without errors. Now cd ../../.. cd binaries/system/ ./test I see: "Running cxxtest tests (407 tests)...OK!" It's fine, so: ./pyrogenesis The game has started. In the lower left corner is: "6 Oct 2024 (main,eb3f0)". It works correctly. Summary of what I did (required dependencies are installed). svn checkout https://svn.wildfiregames.com/nightly-build/trunk cd trunk/libraries/ chmod +x build-source-libs.sh chmod +x source/cxxtest-4.4/build.sh chmod +x source/fcollada/build.sh chmod +x source/nvtt/build.sh chmod +x source/spidermonkey/build.sh chmod +x source/spirv-reflect/build.sh ./build-source-libs.sh cd ../build/workspaces/ ./update-workspaces.sh cd gcc make cd ../../.. cd binaries/system/ ./test ./pyrogenesis Thanks again. But every solution raises new questions. 1. The version number used to be trivial (e.g. 28177). Now I get: a) "At revision 46." – 'svn checkout https://svn.wildfiregames.com/nightly-build/trunk b)"28209" – './build-source-libs.sh' (cxxtest-4.4) c) "eb3f0" – after starting the game (bottom left corner). Which one is important? Is "eb3f0" some hash or a consecutive number? 2. During the update ('svn update') before issuing the command './build-source-libs.sh', should I issue the command 'clean-source-libs.sh'. I think so, but do I need to re-assign the executable attribute (chmod +x) to the 'build.sh' files in the cxxtest-4.4, fcollada, nvtt, spidermonkey, spirv-reflect subdirectories? 3. I understand that the 'clean-workspaces.sh' command ('build-wokspaces' directory) is deprecated and we don't use it anymore? Postscriptum I didn't have to use 'SETUPTOOLS_USE_DISTUTILS=stdlib ./update-workspaces.sh' https://wildfiregames.com/forum/topic/104500-0ad-svn-error-spidermonkey-build-failed/page/2/#comment-541019 Just the command './update-workspaces.sh' (also './build-source-libs.sh') worked fine. Best regards. 1 Quote Link to comment Share on other sites More sharing options...
hyperion Posted October 6 Report Share Posted October 6 The nightly-build repo is meant to provide Windows users a prebuilt binary. I doubt it was anticipated that someone would use it to build pyrogenesis. Some scripts expect to be living in a git repo. Check https://gitea.wildfiregames.com/0ad/0ad/wiki/BuildInstructionsGettingTheCode Quote Link to comment Share on other sites More sharing options...
Itms Posted October 6 Report Share Posted October 6 11 hours ago, Stan` said: @Itms does the executable flags transfer when you make the nightly from the git ? No, they don't, and I don't have a good idea to do that properly/automatically. 1 Quote Link to comment Share on other sites More sharing options...
Stan` Posted October 6 Report Share Posted October 6 2 hours ago, zyli said: 1. The version number used to be trivial (e.g. 28177). Now I get: a) "At revision 46." – 'svn checkout https://svn.wildfiregames.com/nightly-build/trunk b)"28209" – './build-source-libs.sh' (cxxtest-4.4) c) "eb3f0" – after starting the game (bottom left corner). Which one is important? Is "eb3f0" some hash or a consecutive number? 1.a) that's the 46th nightly build. That number doesn't mean much 1.b) That's the number you were used to. 1.c) That's the current commit hash, of the now official repo at https://gitea.wildfiregames.com/0ad/0ad the new repository using git. Quote Link to comment Share on other sites More sharing options...
Stan` Posted October 6 Report Share Posted October 6 2 hours ago, zyli said: ber? 2. During the update ('svn update') before issuing the command './build-source-libs.sh', should I issue the command 'clean-source-libs.sh'. I think so, but do I need to re-assign the executable attribute (chmod +x) to the 'build.sh' files in the cxxtest-4.4, fcollada, nvtt, spidermonkey, spirv-reflect subdirectories? 3. I understand that the 'clean-workspaces.sh' command ('build-wokspaces' directory) is deprecated and we don't use it anymore? 2. No unless everything is failing. You probably don't need to assign +x again as that command doesn't do svn reverting AFAIK. 3. I think so. Quote Link to comment Share on other sites More sharing options...
zyli Posted October 7 Author Report Share Posted October 7 Two days have passed - time to write how the update went. In short: Everything went very smoothly and without any comments. First, the nproc command - I got the number "20" I did the following: cd trunk/ svn update cd libraries/ ./build-source-libs.sh -j20 cd ../build/workspaces/ ./update-workspaces.sh -j20 cd gcc make -j20 cd ../../.. cd binaries/system/ ./test ./pyrogenesis The 'svn update' command printed at the end: "At revision 48." - two numbers more. The './build-source-libs.sh' command did not print any number, only the information that: "cxxtest-4.4, FCollada, NVTT, Spidermonkey is already up to date." After starting the game, in the lower left corner there is an inscription: "Oct 6 2024, (main, f9ad0)" Thanks again for your help. Regards. 2 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.