Repository: ange-yaghi/engine-sim

Issue #2: No linux support
Created: 2022-08-09T23:00:42Z
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/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>::rightScale(atg_scs::Matrix&, atg_scs::SparseMatrix<T_Stride>*)’:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:234:39: error: ‘class atg_scs::Matrix’ has no member named ‘get’; did you mean ‘set’?
  234 |                                 scale.get(0, index * T_Stride + k) * m_matrix[i][j * T_Stride + k]);
      |                                       ^~~
      |                                       set
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h: In member function ‘void atg_scs::SparseMatrix<T_Stride, T_Entries>::leftScale(atg_scs::Matrix&, atg_scs::SparseMatrix<T_Stride>*)’:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:258:39: error: ‘class atg_scs::Matrix’ has no member named ‘get’; did you mean ‘set’?
  258 |                                 scale.get(0, i) * m_matrix[i][j * T_Stride + k]);
      |                                       ^~~
      |                                       set
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:12,
                 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/gaussian_elimination_sle_solver.h: At global scope:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/gaussian_elimination_sle_solver.h:19:20: error: ‘__forceinline’ does not name a type
   19 |             static __forceinline double fastAbs(double v) {
      |                    ^~~~~~~~~~~~~
[5/352] Building CXX object CMakeFiles/engine-sim-test.dir/test/synthesizer_tests.cpp.o
FAILED: CMakeFiles/engine-sim-test.dir/test/synthesizer_tests.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/synthesizer_tests.cpp.o -MF CMakeFiles/engine-sim-test.dir/test/synthesizer_tests.cpp.o.d -o CMakeFiles/engine-sim-test.dir/test/synthesizer_tests.cpp.o -c ../test/synthesizer_tests.cpp
In file included from ../test/../include/synthesizer.h:7,
                 from ../test/synthesizer_tests.cpp:3:
../test/../include/low_pass_filter.h:15:9: error: ‘__forceinline’ does not name a type
   15 |         __forceinline double fast_f(double sample) {
      |         ^~~~~~~~~~~~~
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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.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>::rightScale(atg_scs::Matrix&, atg_scs::SparseMatrix<T_Stride>*)’:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:234:39: error: ‘class atg_scs::Matrix’ has no member named ‘get’; did you mean ‘set’?
  234 |                                 scale.get(0, index * T_Stride + k) * m_matrix[i][j * T_Stride + k]);
      |                                       ^~~
      |                                       set
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h: In member function ‘void atg_scs::SparseMatrix<T_Stride, T_Entries>::leftScale(atg_scs::Matrix&, atg_scs::SparseMatrix<T_Stride>*)’:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/sparse_matrix.h:258:39: error: ‘class atg_scs::Matrix’ has no member named ‘get’; did you mean ‘set’?
  258 |                                 scale.get(0, i) * m_matrix[i][j * T_Stride + k]);
      |                                       ^~~
      |                                       set
In file included from ../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/scs.h:12,
                 from ../test/../include/scs.h:4,
                 from ../test/../include/part.h:4,
                 from ../test/../include/ring_buffer.h:4,
                 from ../test/../include/synthesizer.h:8,
                 from ../test/synthesizer_tests.cpp:3:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/gaussian_elimination_sle_solver.h: At global scope:
../test/../include/../dependencies/submodules/simple-2d-constraint-solver/include/gaussian_elimination_sle_solver.h:19:20: error: ‘__forceinline’ does not name a type
   19 |             static __forceinline double fastAbs(double v) {
      |                    ^~~~~~~~~~~~~
../test/synthesizer_tests.cpp:7:22: error: ‘chrono_literals’ is not a namespace-name
    7 | using namespace std::chrono_literals;
      |                      ^~~~~~~~~~~~~~~
[6/352] Building CXX object CMakeFiles/engine-sim-test.dir/test/gas_system_tests.cpp.o
FAILED: CMakeFiles/engine-sim-test.dir/test/gas_system_tests.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/gas_system_tests.cpp.o -MF CMakeFiles/engine-sim-test.dir/test/gas_system_tests.cpp.o.d -o CMakeFiles/engine-sim-test.dir/test/gas_system_tests.cpp.o -c ../test/gas_system_tests.cpp
In file included from ../test/gas_system_tests.cpp:3:
../test/../include/gas_system.h:40:73: error: default member initializer for ‘GasSystem::Mix::p_fuel’ required before the end of its enclosing class
   40 |         void initialize(double P, double V, double T, const Mix &mix = {}, int degreesOfFreedom = 5);
      |                                                                         ^
../test/../include/gas_system.h:13:27: note: defined here
   13 |             double p_fuel = 0.0;
      |                           ^~~~~~
../test/../include/gas_system.h:40:73: error: default member initializer for ‘GasSystem::Mix::p_inert’ required before the end of its enclosing class
   40 |         void initialize(double P, double V, double T, const Mix &mix = {}, int degreesOfFreedom = 5);
      |                                                                         ^
../test/../include/gas_system.h:14:28: note: defined here
   14 |             double p_inert = 1.0;
      |                            ^~~~~~
../test/../include/gas_system.h:40:73: error: default member initializer for ‘GasSystem::Mix::p_o2’ required before the end of its enclosing class
   40 |         void initialize(double P, double V, double T, const Mix &mix = {}, int degreesOfFreedom = 5);
      |                                                                         ^
../test/../include/gas_system.h:15:25: note: defined here
   15 |             double p_o2 = 0.0;
      |                         ^~~~~~
ninja: build stopped: subcommand failed.

Duplicate issue #242: No Mac Support
Created: 2022-09-03T21:27:01Z
I don't know exactly how difficult this would be, but I'm sure there's people, like myself included, dying to play this but can't due to the fact they're on Mac. please, if it is easy, try adding Mac support? once again, I don't know how this stuff works at all, just a supportive player hoping that this is easy. also I don't know if this is an "issue" but I don't know where else to put it. this is my first time on GitHub.

Closing comment (2023-09-08T18:40:47Z): This issue is not a dupe of #2. Macos uses a completely different kernel called XNU. Debian along with all other Linux distributions (operating systems that use Linux) use the Linux kernel or some modified version of it. Darwin and Debian are both operating systems that use the XNU and Linux kernels respectively.