No linux support
Author: maxsupermanhdCreated Aug 9, 2022Updated Aug 14, 2026
It tries to build a bunch of windows related stuff... And after it fails at missing windows headers it fails even more with some internal stuff.
I believe it is possible to make workarounds that will fill in the gaps or at least make it buildable.
Full logs:
max@(master)[~/p/engine-sim/build]$ cmake -DCMAKE_BUILD_TYPE=Release -G"Ninja" ..
-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python: /usr/bin/python3.8 (found version "3.8.10") found components: Interpreter
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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 SDL2: /usr/lib/x86_64-linux-gnu/libSDL2.so;-lpthread
-- Found SDL2_image: /usr/lib/x86_64-linux-gnu/libSDL2_image.so
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.40") found components: filesystem
-- Found FLEX: /usr/bin/flex (found version "2.6.4")
-- Found BISON: /usr/bin/bison (found version "3.5.1")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/max/p/engine-sim/build
max@(master)[~/p/engine-sim/build]$ cmake --build .
[1/352] Building CXX object CMakeFiles/engine-sim-app.dir/src/main.cpp.o
FAILED: CMakeFiles/engine-sim-app.dir/src/main.cpp.o
/usr/bin/c++ -DBOOST_ALL_NO_LIB -I../dependencies/submodules -O3 -DNDEBUG -std=gnu++11 -MD -MT CMakeFiles/engine-sim-app.dir/src/main.cpp.o -MF CMakeFiles/engine-sim-app.dir/src/main.cpp.o.d -o CMakeFiles/engine-sim-app.dir/src/main.cpp.o -c ../src/main.cpp
In file included from ../dependencies/submodules/delta-studio/include/yds_core.h:12,
from ../src/../include/delta.h:4,
from ../src/../include/geometry_generator.h:4,
from ../src/../include/engine_sim_application.h:4,
from ../src/main.cpp:1:
../dependencies/submodules/delta-studio/include/yds_windows_audio_wave_file.h:6:10: fatal error: Windows.h: No such file or directory
6 | #include <Windows.h>
| ^~~~~~~~~~~
compilation terminated.
[2/352] Building CXX object CMakeFiles/engine-sim-app.dir/src/engine_sim_application.cpp.o
FAILED: CMakeFiles/engine-sim-app.dir/src/engine_sim_application.cpp.o
/usr/bin/c++ -DBOOST_ALL_NO_LIB -I../dependencies/submodules -O3 -DNDEBUG -std=gnu++11 -MD -MT CMakeFiles/engine-sim-app.dir/src/engine_sim_application.cpp.o -MF CMakeFiles/engine-sim-app.dir/src/engine_sim_application.cpp.o.d -o CMakeFiles/engine-sim-app.dir/src/engine_sim_application.cpp.o -c ../src/engine_sim_application.cpp
In file included from ../dependencies/submodules/delta-studio/include/yds_core.h:12,
from ../src/../include/delta.h:4,
from ../src/../include/geometry_generator.h:4,
from ../src/../include/engine_sim_application.h:4,
from ../src/engine_sim_application.cpp:1:
../dependencies/submodules/delta-studio/include/yds_windows_audio_wave_file.h:6:10: fatal error: Windows.h: No such file or directory
6 | #include <Windows.h>
| ^~~~~~~~~~~
compilation terminated.
[3/352] Building CXX object CMakeFiles/engine-sim-app.dir/src/geometry_generator.cpp.o
FAILED: CMakeFiles/engine-sim-app.dir/src/geometry_generator.cpp.o
/usr/bin/c++ -DBOOST_ALL_NO_LIB -I../dependencies/submodules -O3 -DNDEBUG -std=gnu++11 -MD -MT CMakeFiles/engine-sim-app.dir/src/geometry_generator.cpp.o -MF CMakeFiles/engine-sim-app.dir/src/geometry_generator.cpp.o.d -o CMakeFiles/engine-sim-app.dir/src/geometry_generator.cpp.o -c ../src/geometry_generator.cpp
In file included from ../dependencies/submodules/delta-studio/include/yds_core.h:12,
from ../src/../include/delta.h:4,
from ../src/../include/geometry_generator.h:4,
from ../src/geometry_generator.cpp:1:
../dependencies/submodules/delta-studio/include/yds_windows_audio_wave_file.h:6:10: fatal error: Windows.h: No such file or directory
6 | #include <Windows.h>
| ^~~~~~~~~~~
compilation terminated.
[4/352] Building CXX object CMakeFiles/engine-sim-test.dir/test/function_test.cpp.o
FAILED: CMakeFiles/engine-sim-test.dir/test/function_test.cpp.o
/usr/bin/c++ -DBOOST_ALL_NO_LIB -I../dependencies/submodules -isystem _deps/googletest-src/googletest/include -isystem _deps/googletest-src/googletest -O3 -DNDEBUG -std=gnu++11 -MD -MT CMakeFiles/engine-sim-test.dir/test/function_test.cpp.o -MF CMakeFiles/engine-sim-test.dir/test/function_test.cpp.o.d -o CMakeFiles/engine-sim-test.dir/test/function_test.cpp.o -c ../test/function_test.cpp
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/constraint.h:6,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:5,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:20:13: error: ‘__forceinline’ does not name a type
20 | __forceinline void set(int column, int row, double value) {
| ^~~~~~~~~~~~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:27:13: error: ‘__forceinline’ does not name a type
27 | __forceinline void add(int column, int row, double value) {
| ^~~~~~~~~~~~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:34:13: error: ‘__forceinline’ does not name a type
34 | __forceinline double get(int column, int row) {
| ^~~~~~~~~~~~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:63:13: error: ‘__forceinline’ does not name a type
63 | __forceinline void fastRowSwap(int a, int b) {
| ^~~~~~~~~~~~~
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:5,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/constraint.h:31:13: error: ‘__forceinline’ does not name a type
31 | __forceinline int getConstraintCount() const { return m_constraintCount; }
| ^~~~~~~~~~~~~
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:8,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:264:13: error: ‘__forceinline’ does not name a type
264 | __forceinline int getWidth() const { return m_width; }
| ^~~~~~~~~~~~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:265:13: error: ‘__forceinline’ does not name a type
265 | __forceinline int getHeight() const { return m_height; }
| ^~~~~~~~~~~~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h: In member function ‘void atg_scs::SparseMatrix<T_Stride, T_Entries>::expand(atg_scs::Matrix*)’:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:80:44: error: no matching function for call to ‘atg_scs::Matrix::set(int, int&, double&)’
80 | matrix->set(block * T_Stride + k, i, m_matrix[i][j * T_Stride + k]);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/constraint.h:6,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:5,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:18:18: note: candidate: ‘void atg_scs::Matrix::set(const double*)’
18 | void set(const double *data);
| ^~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:18:18: note: candidate expects 1 argument, 3 provided
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:41:18: note: candidate: ‘void atg_scs::Matrix::set(atg_scs::Matrix*)’
41 | void set(Matrix *reference);
| ^~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:41:18: note: candidate expects 1 argument, 3 provided
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:8,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h: In member function ‘void atg_scs::SparseMatrix<T_Stride, T_Entries>::expandTransposed(atg_scs::Matrix*)’:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:96:44: error: no matching function for call to ‘atg_scs::Matrix::set(int&, int, double&)’
96 | matrix->set(i, block * T_Stride + k, m_matrix[i][j * T_Stride + k]);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/constraint.h:6,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:5,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:18:18: note: candidate: ‘void atg_scs::Matrix::set(const double*)’
18 | void set(const double *data);
| ^~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:18:18: note: candidate expects 1 argument, 3 provided
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:41:18: note: candidate: ‘void atg_scs::Matrix::set(atg_scs::Matrix*)’
41 | void set(Matrix *reference);
| ^~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:41:18: note: candidate expects 1 argument, 3 provided
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:8,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h: In member function ‘void atg_scs::SparseMatrix<T_Stride, T_Entries>::multiplyTranspose(const atg_scs::SparseMatrix<T_Stride, T_Entries>&, atg_scs::Matrix*) const’:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:161:36: error: no matching function for call to ‘atg_scs::Matrix::set(int&, int&, double&)’
161 | target->set(j, i, dot);
| ~~~~~~~~~~~^~~~~~~~~~~
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/constraint.h:6,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:5,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:18:18: note: candidate: ‘void atg_scs::Matrix::set(const double*)’
18 | void set(const double *data);
| ^~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:18:18: note: candidate expects 1 argument, 3 provided
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:41:18: note: candidate: ‘void atg_scs::Matrix::set(atg_scs::Matrix*)’
41 | void set(Matrix *reference);
| ^~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:41:18: note: candidate expects 1 argument, 3 provided
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:8,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h: In member function ‘void atg_scs::SparseMatrix<T_Stride, T_Entries>::transposeMultiplyVector(atg_scs::Matrix&, atg_scs::Matrix*) const’:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:184:75: error: ‘class atg_scs::Matrix’ has no member named ‘get’; did you mean ‘set’?
184 | target->add(0, j, m_matrix[i][offset + l] * b.get(0, i));
| ^~~
| set
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h: In member function ‘void atg_scs::SparseMatrix<T_Stride, T_Entries>::multiply(atg_scs::Matrix&, atg_scs::Matrix*) const’:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:207:66: error: ‘class atg_scs::Matrix’ has no member named ‘get’; did you mean ‘set’?
207 | v += m_matrix[i][offset + l] * b.get(j, block * T_Stride + l);
| ^~~
| set
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:211:36: error: no matching function for call to ‘atg_scs::Matrix::set(int&, int&, double&)’
211 | target->set(j, i, v);
| ~~~~~~~~~~~^~~~~~~~~
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/constraint.h:6,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/rigid_body_system.h:5,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/generic_rigid_body_system.h:4,
from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:4,
from ../test/../include/scs.h:4,
from ../test/../include/gaussian_filter.h:4,
from ../test/../include/function.h:4,
from ../test/function_test.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/matrix.h:18:18: note: candidate: ‘void atg_scs::Matrix::set(const double*)’
18 | void set(const double *data);
| ^~~
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/incluSource: ange-yaghi/engine-sim