Hello.
I am trying to build TDM on Linux and am getting errors. I'm new to Linux, so don't judge too harshly. The game installs and works through the installer, I just want to try to make a reproducible build into a package.
gcc-c++-10
cmake-3.20
+ cmake -DCMAKE_SKIP_INSTALL_RPATH:BOOL=yes '-DCMAKE_C_FLAGS:STRING=-pipe -frecord-gcc-switches -Wall -g -O2' '-DCMAKE_CXX_FLAGS:STRING=-pipe -frecord-gcc-switches -Wall -g -O2' '-DCMAKE_Fortran_FLAGS:STRING=-pipe -frecord-gcc-switches -Wall -g -O2' -DCMAKE_INSTALL_PREFIX=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_DESTINATION=lib64 -DLIB_SUFFIX=64 -S . -B x86_64-linux -DCMAKE_BUILD_TYPE=Release
-- The C compiler identification is GNU 10.3.1
-- The CXX compiler identification is GNU 10.3.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test MSSE2_SUPPORTED
-- Performing Test MSSE2_SUPPORTED - Success
Determining SVN revision
Setting up precompiled header for GCC
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_Fortran_FLAGS
CMAKE_SKIP_INSTALL_RPATH
INCLUDE_INSTALL_DIR
LIB_DESTINATION
LIB_INSTALL_DIR
LIB_SUFFIX
SHARE_INSTALL_PREFIX
SYSCONF_INSTALL_DIR
-- Build files have been written to: /usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux
+ cmake --build x86_64-linux --verbose --parallel 4
gmake: Entering directory '/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux'
/usr/bin/cmake -P /usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux/CMakeFiles/VerifyGlobs.cmake
/usr/bin/cmake -S/usr/src/RPM/BUILD/thedarkmod-2.11 -B/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux --check-build-system CMakeFiles/Makefile.cmake 0
gmake: Leaving directory '/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux'
gmake: Entering directory '/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux'
/usr/bin/cmake -E cmake_progress_start /usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux/CMakeFiles /usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux//CMakeFiles/progress.marks
gmake: Leaving directory '/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux'
/usr/bin/gmake -f CMakeFiles/Makefile2 all
/usr/bin/gmake -f CMakeFiles/TheDarkMod.dir/build.make CMakeFiles/TheDarkMod.dir/depend
gmake[2]: Entering directory '/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux'
[ 0%] Copying header
/usr/bin/cmake -E copy_if_different /usr/src/RPM/BUILD/thedarkmod-2.11/idlib/precompiled.h /usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux/TheDarkMod_pch/precompiled.h
gmake[2]: Leaving directory '/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux'
gmake[2]: Entering directory '/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux'
[ 0%] Precompiling header
/usr/bin/c++ @/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux/TheDarkMod_pch/compile_flags.rsp -x c++-header -o /usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux/TheDarkMod_pch/precompiled.h.gch /usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux/TheDarkMod_pch/precompiled.h
In file included from /usr/src/RPM/BUILD/thedarkmod-2.11/idlib/bv/Bvh.h:19,
from /usr/src/RPM/BUILD/thedarkmod-2.11/idlib/../renderer/Model.h:19,
from /usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux/TheDarkMod_pch/precompiled.h:75:
/usr/src/RPM/BUILD/thedarkmod-2.11/idlib/bv/CircCone.h: In member function 'idCircCone& idCircCone::Transform(const idMat3&)':
/usr/src/RPM/BUILD/thedarkmod-2.11/idlib/bv/CircCone.h:166:1: error: no return statement in function returning non-void [-Werror=return-type]
166 | }
| ^
/usr/src/RPM/BUILD/thedarkmod-2.11/idlib/bv/CircCone.h: In member function 'idCircCone& idCircCone::Negate()':
/usr/src/RPM/BUILD/thedarkmod-2.11/idlib/bv/CircCone.h:169:1: error: no return statement in function returning non-void [-Werror=return-type]
169 | }
| ^
cc1plus: some warnings being treated as errors
gmake[2]: *** [CMakeFiles/TheDarkMod.dir/build.make:80: TheDarkMod_pch/precompiled.h.gch] Error 1
gmake[2]: Leaving directory '/usr/src/RPM/BUILD/thedarkmod-2.11/x86_64-linux'
gmake[1]: *** [CMakeFiles/Makefile2:82: CMakeFiles/TheDarkMod.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
error: Bad exit status from /usr/src/tmp/rpm-tmp.8903 (%build)
RPM build errors:
Bad exit status from /usr/src/tmp/rpm-tmp.8903 (%build)
Command exited with non-zero status 1
9.77user 1.88system 0:13.02elapsed 89%CPU (0avgtext+0avgdata 388056maxresident)k
181768inputs+834096outputs (127major+186554minor)pagefaults 0swaps
It looks like the problem is in CircCone.h, I looked what exactly is there.
ID_INLINE idCircCone &idCircCone::Transform( const idMat3 &rotation ) {
axis = rotation * axis;
}
I'm not a programmer and don't understand how to fix this. For the test, I tried to build TDM version 2.10. is going, but this file is not there.