Jump to content
The Dark Mod Forums

t405

Member
  • Posts

    9
  • Joined

  • Last visited

Reputation

4 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Now that we have the build figured out, just wait till I start complaining about how poorly the early modern english is done. Goals remake the 3 intro levels in a better engine.
  2. @Daft Mugi Thanks for the inspiration to write a Dockerfile and have a repeatable build on ubuntu 22.04. The key gotcha making the different directories /darkmod, /build, /darkmod_src. That's what I was missing. SVN rev10219 now builds just fine with this dockerfile. To build: `docker build -t tdm-docker:2204.01 -f Dockerfile.ub2204.2.10 .` To copy the build artifacts: cont=`docker run -d tdm-docker:2204.01` docker cp $cont:/darkmod ./darkmod docker rm $cont Dockerfile.ub2204.2.10
  3. Wow, revisiting this thread… 2.5 years. Here are two Dockerfiles that build thedarkmod.x64. One for trunk, one for 2.10. An example of how to use for anyone who's interested: tag=tdm-docker:2.10 dockerfile=Dockerfile.2.10 docker build -t $tag -f ./$dockerfile . container=`docker run -d $tag` docker cp $container:/tdm/build/thedarkmod.x64.debug ./ docker rm -f $container My newest iteration is Dockerfile.ub2204.2.10 and that fixes the problem with linking as the last step in building against trunk. (I failed to carefully read COMPILING.txt and refer to the wiki). Dockerfile.svn Dockerfile.2.10 Dockerfile.ub2204.2.10
  4. Also the same linking problem is happening for me with 2.10, after I got past the doctest problem. [ 31%] Building CXX object CMakeFiles/TheDarkMod.dir/sys/posix/platform_linux.cpp.o /home/user/Games/tdm210/sys/posix/platform_linux.cpp: In function ‘void Sys_ReLaunch()’: /home/user/Games/tdm210/sys/posix/platform_linux.cpp:410:41: warning: ‘int readdir_r(DIR*, dirent*, dirent**)’ is deprecated [-Wdeprecated-declarations] 410 | while( readdir_r( devfd, &entry, &result ) == 0 ) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/user/Games/tdm210/sys/posix/platform_linux.cpp:28: /usr/include/dirent.h:185:12: note: declared here 185 | extern int readdir_r (DIR *__restrict __dirp, | ^~~~~~~~~ [ 32%] Building CXX object CMakeFiles/TheDarkMod.dir/sys/posix/posix_input.cpp.o [ 32%] Building CXX object CMakeFiles/TheDarkMod.dir/sys/posix/posix_main.cpp.o [ 32%] Building CXX object CMakeFiles/TheDarkMod.dir/sys/posix/posix_net.cpp.o [ 32%] Building CXX object CMakeFiles/TheDarkMod.dir/sys/posix/posix_signal.cpp.o [ 32%] Building CXX object CMakeFiles/TheDarkMod.dir/sys/posix/posix_threads.cpp.o [ 33%] Linking CXX executable thedarkmod.x64 Error copying directory from "/home/user/Games/tdm210/glprogs" to "/home/user/Games/tdm210/../darkmod/glprogs". make[2]: *** [CMakeFiles/TheDarkMod.dir/build.make:8574: thedarkmod.x64] Error 1 make[2]: *** Deleting file 'thedarkmod.x64' make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/TheDarkMod.dir/all] Error 2 make: *** [Makefile:91: all] Error 2
  5. The problem is the same on both my systems and comes at the very end of `make`, I snipped out irrelevant lines from the log. [ ... SNIP ... ] Finished prerequisites of target file 'thedarkmod.x64'. Must remake target 'thedarkmod.x64'. [ 1%] Linking CXX executable thedarkmod.x64 Error copying directory from "/home/user/tdm-trunk/glprogs" to "/home/user/tdm-trunk/../darkmod/glprogs". make[2]: *** [CMakeFiles/TheDarkMod.dir/build.make:8727: thedarkmod.x64] Error 1 make[2]: *** Deleting file 'thedarkmod.x64' make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/TheDarkMod.dir/all] Error 2 make: *** [Makefile:91: all] Error 2 make.failure.svn-r10219.arch.log
  6. TDM works fine (sans the aformentioned audio workaround) when installed via the installer. I still want to be able to build it from source.
  7. I am curious as to which distributions and tool version are known to work when compiling either the 2.10 source archive or svn trunk. Cmake errors out with both Archlinux and Mint 21 for me. For good measure I will include some information I gathered about these errors, but I just want to be able to successfully build tdm on something. (My end goal is to compile in either pulseaudio or pipewire support for openal if that's possible; even though this thread got my audio working (arch audio subsystem is pipewire{,-alsa,-audio,-pulse} & jack2 ) ) I've also tried compiling against the latest svn trunk, that fails too, although the point in which it fails is slightly different. What do the developers use to build the linux release? System information for the failed builds against the 2.10 archive: System #1: cmake 3.22.1 | gcc 11.3.0 | kernel 5.15.0-56-generic | distro Linux Mint 21 System #2: cmake 3.25.1 | gcc 12.2.0 | kernel 5.15.83-1-lts | distro Arch Linux src archive used: sha256sum thedarkmod.2.10.src.7z 73aa974635293e6ca07396be19901355f8224637bdf3ce73404b8eef74148a1c thedarkmod.2.10.src.7z Build command from root of extracted src: [ -d build ] && rm -rf build mkdir build && cd build && cmake --debug-output --loglevel=DEBUG -DCMAKE_BUILD_TYPE="Release" .. &> cmake.$distro.log && \ make -d --debug=a -j &> make.$distro.log ; cd .. make.mint.log.gz make.arch.log.gz cmake.mint.log.gz cmake.arch.log.gz
  8. Why is this tagged [censored]?? I am revisiting this topic, and looking for a clean way to build TDM but especially TDR as well in an easily reproducible build environment. I'd like to contribute my skills to move the project to embrace modern devops tools and packaging. I am not a C++ developer but I have a lot of experience with nix sysadmin and am pretty good at wiring things up.
  9. I had an absolutely terrible time finding the sewers key. Checked the entire map three times before I got tired and checked the map code. For those wondering,
×
×
  • Create New...