chrxh / alien

ALIEN is a CUDA-powered artificial life simulation program.
https://alien-project.org
BSD 3-Clause "New" or "Revised" License
3.48k stars 106 forks source link

Build Error on Rocky 8.10 #97

Closed Shaydoo200 closed 2 weeks ago

Shaydoo200 commented 1 month ago

Building fails with some code errors/warnings. I made sure I don't have any of the problematic dependencies (eg Cuda 12.4 instead of 12.5) Output of both Cmake commands here I'm using Rocky Linux 8.10 and use two Tesla V100S-PCIE-32GB GPU (compute capability 7.0) with latest drivers (v555.42.02) Happy to provide more info if needed. Thanks in advance for any help.

chrxh commented 1 month ago

Hi, it seems that there is a compile error in connection with the C++-20 space ship operator. I know that with GCC 13 there was such an issue. Could you please try to use an other GCC version? I think it's a compiler bug and I don't know exactly in which GCC version it first appeared... But it might be fixed in a later version because on the Ubuntu CI in GitHub for ALIEN (see https://github.com/chrxh/alien/actions) it compiles and the latest Ubuntu image is used.

Shaydoo200 commented 1 month ago

I now tried both with upgrading from 12.3.0 to 13.3 and to 14.1 (the latter came with a whole bunch of other issues so i dropped that rather quickly) as well as downgrading to 12.1.0 but the error is still the same: In file included from /usr/local/include/c++/12.1.0/array:43, from /home/manni/alien/source/Base/Definitions.h:3, from /home/manni/alien/source/EngineInterface/DescriptionEditService.h:3, from /home/manni/alien/source/EngineInterface/DescriptionEditService.cpp:1: In function ‘constexpr decltype (__comp((* __first1), (* __first2))) std::lexicographical_compare_three_way(_InputIter1, _InputIter1, _InputIter2, _InputIter2, _Comp) [with _InputIter1 = __g nu_cxx::__normal_iterator<const unsigned char*, vector<unsigned char> >; _InputIter2 = __gnu_cxx::__normal_iterator<const unsigned char*, vector<unsigned char> >; _Comp = __detail::_Synth3wa y]’, inlined from ‘constexpr std::__detail::__synth3way_t<_T1> std::operator<=>(const vector<_Tp, _Alloc>&, const vector<_Tp, _Alloc>&) [with _Tp = unsigned char; _Alloc = allocator<unsigned char>]’ at /usr/local/include/c++/12.1.0/bits/stl_vector.h:2056:52, inlined from ‘constexpr bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = std::vector<unsigned char>]’ at /usr/local/include/c++/12.1.0/bits/stl_function.h:408:20 , inlined from ‘std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_unique_pos(const key_type&) [with _Key = std::vector<unsigned char>; _Val = std::pair<const std::vector<unsigned char>, long unsigned int>; _KeyOfValue = std::_Select1st<std::pair<const std::vector<unsigned char>, long unsigned int> >; _Compare = std::less<std::vector<unsigned char> >; _Alloc = std::allocator<std::pair<const std::vector<unsigned char>, long unsigned int> >]’ at /usr/local/include/c++/12.1.0/bits/st l_tree.h:2117:35: /usr/local/include/c++/12.1.0/bits/stl_algobase.h:1843:41: error: ‘int __builtin_memcmp(const void*, const void*, long unsigned int)’ specified bound [9223372036854775808, 184467440737095516 15] exceeds maximum object size 9223372036854775807 [-Werror=stringop-overread] 1843 | = __builtin_memcmp(&*__first1, &*__first2, __len) <=> 0; | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ 18%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/StatisticsConverterService.cpp.o [ 18%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/StatisticsHistory.cpp.o [ 18%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceParserService.cpp.o [ 19%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceRawTO.cpp.o [ 19%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceService.cpp.o [ 20%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceTreeTO.cpp.o cc1plus: all warnings being treated as errors gmake[2]: *** [source/EngineInterface/CMakeFiles/EngineInterface.dir/build.make:104: source/EngineInterface/CMakeFiles/EngineInterface.dir/DescriptionEditService.cpp.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... [ 21%] Building CXX object source/Network/CMakeFiles/Network.dir/ValidationService.cpp.o [ 22%] Linking CXX static library libim_file_dialog.a [ 22%] Built target im_file_dialog gmake[1]: *** [CMakeFiles/Makefile2:492: source/EngineInterface/CMakeFiles/EngineInterface.dir/all] Error 2 gmake[1]: *** Waiting for unfinished jobs.... [ 22%] Linking CXX static library libNetwork.a [ 22%] Built target Network gmake: *** [Makefile:91: all] Error 2

Should I try with gcc 11 and below as well or is there something else I can try?

Shaydoo200 commented 1 month ago

Update: with gcc 11.4.0 I get a slightly different build error :(

[manni@StableLLama build]$ cmake --build . --config Release -j8
[  0%] Building CXX object source/Base/CMakeFiles/Base.dir/Definitions.cpp.o
[  1%] Building CXX object external/ImFileDialog/CMakeFiles/im_file_dialog.dir/ImFileDialog.cpp.o
[  1%] Building CXX object source/Base/CMakeFiles/Base.dir/GlobalSettings.cpp.o
[  2%] Building CXX object source/Base/CMakeFiles/Base.dir/FileLogger.cpp.o
[  2%] Building CXX object source/Base/CMakeFiles/Base.dir/NumberGenerator.cpp.o
[  3%] Building CXX object source/Base/CMakeFiles/Base.dir/Math.cpp.o
[  4%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/AuxiliaryDataParserService.cpp.o
[  5%] Building CXX object source/Base/CMakeFiles/Base.dir/LoggingService.cpp.o
[  6%] Building CXX object source/Base/CMakeFiles/Base.dir/Physics.cpp.o
[  7%] Building CXX object source/Base/CMakeFiles/Base.dir/StringHelper.cpp.o
[  7%] Building CXX object source/Base/CMakeFiles/Base.dir/Vector2D.cpp.o
[  8%] Building CXX object source/Base/CMakeFiles/Base.dir/VersionChecker.cpp.o
[  8%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/DataPointCollection.cpp.o
[  9%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/DescriptionEditService.cpp.o
[ 10%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/Descriptions.cpp.o
[ 10%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/Features.cpp.o
[ 11%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/GenomeDescriptionService.cpp.o
[ 12%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/PreviewDescriptionService.cpp.o
[ 12%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/SerializerService.cpp.o
[ 13%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/ShapeGenerator.cpp.o
[ 14%] Linking CXX static library libBase.a
[ 14%] Built target Base
[ 15%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkService.cpp.o
[ 15%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceParserService.cpp.o
[ 16%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/SimulationParameters.cpp.o
[ 17%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceRawTO.cpp.o
[ 17%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/SimulationParametersService.cpp.o
[ 18%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/SpaceCalculator.cpp.o
[ 19%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/StatisticsConverterService.cpp.o
[ 19%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/StatisticsHistory.cpp.o
[ 19%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceService.cpp.o
[ 20%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceTreeTO.cpp.o
[ 21%] Building CXX object source/Network/CMakeFiles/Network.dir/ValidationService.cpp.o
[ 22%] Linking CXX static library libim_file_dialog.a
[ 22%] Built target im_file_dialog
[ 23%] Linking CXX static library libEngineInterface.a
[ 23%] Built target EngineInterface
[ 23%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/ConstantMemory.cu.o
[ 24%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/DataAccessKernels.cu.o
[ 25%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/DebugKernels.cu.o
[ 25%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/DataAccessKernelsLauncher.cu.o
[ 27%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/EditKernelsLauncher.cu.o
[ 27%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/EditKernels.cu.o
[ 27%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/FlowFieldKernels.cu.o
[ 28%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/GarbageCollectorKernels.cu.o
/home/manni/alien/source/EngineGpuKernels/CellConnectionProcessor.cuh(505): error #940-D: missing return statement at end of non-void function "CellConnectionProcessor::scheduleOperationOnCell"
  }
  ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

/home/manni/alien/source/EngineGpuKernels/CellConnectionProcessor.cuh(505): error #940-D: missing return statement at end of non-void function "CellConnectionProcessor::scheduleOperationOnCell"
  }
  ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

/home/manni/alien/source/EngineGpuKernels/CellConnectionProcessor.cuh(505): error #940-D: missing return statement at end of non-void function "CellConnectionProcessor::scheduleOperationOnCell"
  }
  ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

/home/manni/alien/source/EngineGpuKernels/CellConnectionProcessor.cuh(505): error #940-D: missing return statement at end of non-void function "CellConnectionProcessor::scheduleOperationOnCell"
  }
  ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

1 error detected in the compilation of "/home/manni/alien/source/EngineGpuKernels/EditKernelsLauncher.cu".
gmake[2]: *** [source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/build.make:152: source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/EditKernelsLauncher.cu.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
1 error detected in the compilation of "/home/manni/alien/source/EngineGpuKernels/DataAccessKernels.cu".
gmake[2]: *** [source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/build.make:92: source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/DataAccessKernels.cu.o] Error 1
1 error detected in the compilation of "/home/manni/alien/source/EngineGpuKernels/DataAccessKernelsLauncher.cu".
gmake[2]: *** [source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/build.make:107: source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/DataAccessKernelsLauncher.cu.o] Error 1
1 error detected in the compilation of "/home/manni/alien/source/EngineGpuKernels/EditKernels.cu".
gmake[2]: *** [source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/build.make:137: source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/EditKernels.cu.o] Error 1
[ 28%] Linking CXX static library libNetwork.a
[ 28%] Built target Network
[ 29%] Building CXX object CMakeFiles/NetworkTests.dir/source/NetworkTests/NetworkResourceServiceTests.cpp.o
[ 30%] Building CXX object CMakeFiles/NetworkTests.dir/source/NetworkTests/Testsuite.cpp.o
gmake[1]: *** [CMakeFiles/Makefile2:438: source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
[ 30%] Linking CXX executable NetworkTests
[ 30%] Built target NetworkTests
gmake: *** [Makefile:91: all] Error 2
[manni@StableLLama build]$
chrxh commented 1 month ago

The compile error in gcc 11.4.0 looks valid (interesting that it has not been noticed by other compilers so far). If have just fixed it in the develop branch. Could you please try again?

Shaydoo200 commented 4 weeks ago

It seems like the patch helped somewhat but now I get the error a little further into the build and it still fails:

-- Running vcpkg install - done
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- The CUDA compiler identification is NVIDIA 12.4.131
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/bin/gcc - 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/local/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Found CUDAToolkit: /usr/local/cuda/include (found version "12.4.131")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Boost: /home/manni/alien/build/vcpkg_installed/x64-linux/include (found version "1.77.0")
-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Found ZLIB: optimized;/home/manni/alien/build/vcpkg_installed/x64-linux/lib/libz.a;debug;/home/manni/alien/build/vcpkg_installed/x64-linux/debug/lib/libz.a (found version "1.2.11")
-- Found BZip2: optimized;/home/manni/alien/build/vcpkg_installed/x64-linux/lib/libbz2.a;debug;/home/manni/alien/build/vcpkg_installed/x64-linux/debug/lib/libbz2d.a (found version "1.0.8")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Found PNG: optimized;/home/manni/alien/build/vcpkg_installed/x64-linux/lib/libpng.a;debug;/home/manni/alien/build/vcpkg_installed/x64-linux/debug/lib/libpng16d.a (found version "1.6.37")
-- Found GTest: /home/manni/alien/build/vcpkg_installed/x64-linux/share/GTest/GTestConfig.cmake (found version "1.11.0")
-- Found OpenSSL: /home/manni/alien/build/vcpkg_installed/x64-linux/lib/libcrypto.a (found version "1.1.1l")
-- Configuring done (4.7s)
-- Generating done (0.0s)
-- Build files have been written to: /home/manni/alien/build
[manni@StableLLama build]$ cmake --build . --config Release -j8
[  1%] Building CXX object external/ImFileDialog/CMakeFiles/im_file_dialog.dir/ImFileDialog.cpp.o
[  1%] Building CXX object source/Base/CMakeFiles/Base.dir/Definitions.cpp.o
[  2%] Building CXX object source/Base/CMakeFiles/Base.dir/FileLogger.cpp.o
[  4%] Building CXX object source/Base/CMakeFiles/Base.dir/LoggingService.cpp.o
[  4%] Building CXX object source/Base/CMakeFiles/Base.dir/Math.cpp.o
[  4%] Building CXX object source/Base/CMakeFiles/Base.dir/GlobalSettings.cpp.o
[  4%] Building CXX object source/Base/CMakeFiles/Base.dir/NumberGenerator.cpp.o
[  5%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/AuxiliaryDataParserService.cpp.o
[  6%] Building CXX object source/Base/CMakeFiles/Base.dir/Physics.cpp.o
[  7%] Building CXX object source/Base/CMakeFiles/Base.dir/StringHelper.cpp.o
[  7%] Building CXX object source/Base/CMakeFiles/Base.dir/Vector2D.cpp.o
[  8%] Building CXX object source/Base/CMakeFiles/Base.dir/VersionChecker.cpp.o
[  8%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/DataPointCollection.cpp.o
[  9%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/DescriptionEditService.cpp.o
[ 10%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/Descriptions.cpp.o
[ 10%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/Features.cpp.o
[ 11%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/GenomeDescriptionService.cpp.o
[ 12%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/PreviewDescriptionService.cpp.o
[ 12%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/SerializerService.cpp.o
[ 13%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/ShapeGenerator.cpp.o
[ 14%] Linking CXX static library libBase.a
[ 14%] Built target Base
[ 15%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkService.cpp.o
[ 16%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/SimulationParameters.cpp.o
[ 16%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/SimulationParametersService.cpp.o
[ 17%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/SpaceCalculator.cpp.o
[ 18%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/StatisticsConverterService.cpp.o
[ 18%] Building CXX object source/EngineInterface/CMakeFiles/EngineInterface.dir/StatisticsHistory.cpp.o
[ 18%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceParserService.cpp.o
[ 19%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceRawTO.cpp.o
[ 19%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceService.cpp.o
[ 20%] Building CXX object source/Network/CMakeFiles/Network.dir/NetworkResourceTreeTO.cpp.o
[ 21%] Building CXX object source/Network/CMakeFiles/Network.dir/ValidationService.cpp.o
[ 22%] Linking CXX static library libim_file_dialog.a
[ 22%] Built target im_file_dialog
[ 23%] Linking CXX static library libEngineInterface.a
[ 23%] Built target EngineInterface
[ 23%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/ConstantMemory.cu.o
[ 24%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/DataAccessKernels.cu.o
[ 25%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/DataAccessKernelsLauncher.cu.o
[ 25%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/FlowFieldKernels.cu.o
[ 27%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/EditKernelsLauncher.cu.o
[ 27%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/DebugKernels.cu.o
[ 27%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/EditKernels.cu.o
[ 28%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/GarbageCollectorKernels.cu.o
[ 28%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/GarbageCollectorKernelsLauncher.cu.o
[ 29%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/MaxAgeBalancer.cu.o
[ 30%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/Objects.cu.o
[ 30%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/RenderingData.cu.o
[ 31%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/RenderingKernels.cu.o
[ 32%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/RenderingKernelsLauncher.cu.o
[ 32%] Linking CXX static library libNetwork.a
[ 32%] Built target Network
[ 32%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/SimulationCudaFacade.cu.o
[ 33%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/SimulationData.cu.o
[ 34%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/SimulationKernels.cu.o
[ 34%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/SimulationKernelsLauncher.cu.o
[ 35%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/StatisticsService.cu.o
[ 36%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/StatisticsKernelsLauncher.cu.o
[ 36%] Building CUDA object source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/StatisticsKernels.cu.o
/home/manni/alien/source/EngineGpuKernels/NeuronProcessor.cuh(87): error #940-D: missing return statement at end of non-void function "NeuronProcessor::applyActivationFunction"
  }
  ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

1 error detected in the compilation of "/home/manni/alien/source/EngineGpuKernels/SimulationKernels.cu".
gmake[2]: *** [source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/build.make:317: source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/SimulationKernels.cu.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
[ 37%] Building CXX object CMakeFiles/NetworkTests.dir/source/NetworkTests/NetworkResourceServiceTests.cpp.o
[ 38%] Building CXX object CMakeFiles/NetworkTests.dir/source/NetworkTests/Testsuite.cpp.o
[ 38%] Linking CXX executable NetworkTests
[ 38%] Built target NetworkTests
gmake[1]: *** [CMakeFiles/Makefile2:438: source/EngineGpuKernels/CMakeFiles/EngineGpuKernels.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
[manni@StableLLama build]$

Btw thanks for the help and effort so far!

chrxh commented 4 weeks ago

I have just fixed it. It was the same type of error as before, but a different one. Are there any others? (I don't get this type of compile error with either MSVC or the Ubuntu CI).

Shaydoo200 commented 3 weeks ago

Awesome, thanks a bunch! The build now goes through without errors. The game crashes on initialize now with a Cuda error in the logs. I can see the Artificial Life Environment screen briefly, then it closes. Don't think this is related to my initial problem though... I'll leave the error here anyways while I try to fix it in case this could be related:

[manni@StableLLama build]$ cat log.txt
2024-07-02 11-13-22: DEBUG mode
2024-07-02 11-13-22: initialize GLFW and OpenGL
2024-07-02 11-13-22: set full screen mode
2024-07-02 11-13-22: initialize GLAD
2024-07-02 11-13-22: starting ALIEN v4.10.0
2024-07-02 11-13-22: network: get resource list
2024-07-02 11-13-23: network: get user list
2024-07-02 11-13-23: main window initialized
2024-07-02 11-13-25: load simulation from resources/autosave.sim
2024-07-02 11-13-25: message dialog showing: 'The default simulation file could not be read.
An empty simulation will be created.'
2024-07-02 11-13-25: initialize CUDA
2024-07-02 11-13-25: 2 CUDA devices found
2024-07-02 11-13-25: device 0: Tesla V100S-PCIE-32GB with compute capability 7.0
2024-07-02 11-13-25: device 1: Tesla V100S-PCIE-32GB with compute capability 7.0
2024-07-02 11-13-25: device 0 selected
2024-07-02 11-13-26: initialize simulation
2024-07-02 11-13-26: resize arrays
2024-07-02 11-13-26: cell array size: 300000
2024-07-02 11-13-26: particle array size: 300000
2024-07-02 11-13-26: auxiliary data size: 300000
2024-07-02 11-13-26: 680 MB GPU memory used
2024-07-02 11-13-26: CUDA error.
Location: /home/manni/alien/source/EngineGpuKernels/SimulationCudaFacade.cu:113 code=999(cudaErrorUnknown) "cudaGraphicsGLRegisterImage(&_cudaResource, image, GL_TEXTURE_2D, cudaGraphicsMapFlagsReadOnly)"
chrxh commented 3 weeks ago

This appears to be an issue with Cuda-OpenGL-interoperability. It is used to use the Cuda memory directly for video output in order to prevent it from being copied from one card to another at every frame. However, this assumes that the graphics card running Cuda is the same as the card used for video output. So I assume that your monitor is connected to a different graphics card? (I just saw in the logs that you are using multiple cards).

Shaydoo200 commented 2 weeks ago

My setup is a bit whacky, I use an old server and the gpus don't even have a display port. Before I just used ssh/vnc to connect to it. I set up a dummy display now and with that I can run it.

Thank you so much for your help!