engine-sim icon indicating copy to clipboard operation
engine-sim copied to clipboard

No linux support

Open maxsupermanhd opened this issue 2 years ago • 32 comments

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.

maxsupermanhd avatar Aug 09 '22 23:08 maxsupermanhd

the README says "Note: this project currently only builds on Windows!"

If you feel this is an issue, don't phrase the issue title as a question, and instead phrase it as a statement.

The author can work towards resolution of the issue, or close the issue as a "WONTFIX" if they choose to.

naikrovek avatar Aug 09 '22 23:08 naikrovek

Woops, my blindness here, sorry!

maxsupermanhd avatar Aug 10 '22 01:08 maxsupermanhd

I would also like to see Linux supported in the future.

bmunger avatar Aug 10 '22 22:08 bmunger

I've scanned though quickly, and haven't found anything dependant on windows yet.

However, lots of stuff dependant on MSVC.

phire avatar Aug 11 '22 00:08 phire

You can run the build from releases with wine as someone in the discord pointed out but Linux support probably won't be supported.

DDev247 avatar Aug 11 '22 00:08 DDev247

I've scanned though quickly, and haven't found anything dependant on windows yet.

However, lots of stuff dependant on MSVC.

It's mostly just SDL2 and C++, but the build is MSVC. You could adapt it to GCC or something.

DDev247 avatar Aug 11 '22 00:08 DDev247

You may have better luck supporting Clang on both Windows and Linux, than you will supporting multiple compilers. The existing cmake support should make that much easier, too.

naikrovek avatar Aug 11 '22 02:08 naikrovek

Current porting status:

  • piranha - Merged: https://github.com/ange-yaghi/piranha/pull/62
  • delta-studio - WIP and untested: https://github.com/ange-yaghi/delta-studio/pull/34
  • other dependencies - no changes needed?
  • engine-sim - I have some local uncommitted changes, doesn't seem to be that hard but needs delta-studio first

phire avatar Aug 11 '22 12:08 phire

would wine work for this?

jakethelizard99 avatar Aug 11 '22 23:08 jakethelizard99

would wine work for this?

WINE works for this.

Ashdemai avatar Aug 11 '22 23:08 Ashdemai

The existing windows build works under wine. If you just want to run engine-sim, just head over to the release page and download that.

But for actually building engine-sim on Linux, wine doesn't help much with porting. The codebase is already very portable, because it was designed to be portable. The biggest issue is that because it was only ever built with one compiler (MSVC), a bunch of errors crept in. The secondary issue is that non-windows backends have to be added for windowing, input and sound. The codebase is already very modular, but for those areas, only one backend exists. Fortunately adding a new backend is easy.

phire avatar Aug 11 '22 23:08 phire

What about macOS support? Is this possible?

okalachev avatar Aug 12 '22 11:08 okalachev

SDL2 works on Mac so I don't see why this would not work on Mac with a bit of work.

naikrovek avatar Aug 12 '22 11:08 naikrovek

If this ever comes to fruition, for the Linux builds, to remove some of the distribution work, please do consider releasing as Flatpak on Flathub (basically a Linux app store) or as an AppImage (basically a portable binary. These options are distro-agnostic so they work on just about every modern Linux distribution out of the box!

mxmvncnt avatar Aug 13 '22 05:08 mxmvncnt

The newest release doesn't work with wine or proton. It just shows a black screen and plays that loud startup noise on a loop.

Rayrsn avatar Aug 13 '22 09:08 Rayrsn

I tried to run on a Windows 11 ARM on an M1 MacBook. Got the following errors:

The code execution cannot proceed because d3dx11.dll was not found. The code execution cannot proceed because vulkan-1.dll was not found. The code execution cannot proceed because MSVCP140.dll was not found. The code execution cannot proceed because VCRUNTIME140.dll was not found.

okalachev avatar Aug 13 '22 09:08 okalachev

The newest release doesn't work with wine or proton. It just shows a black screen and plays that loud startup noise on a loop.

whats your setup? bc it works for me in lutris using "lutris-7.2-2-x86_64" wine and all other stuff default edit: new release was build_1_4a

Green-Sky avatar Aug 13 '22 16:08 Green-Sky

The newest release doesn't work with wine or proton. It just shows a black screen and plays that loud startup noise on a loop.

The newest release gives black screen also on Steam Deck. I had to set Proton to 6.3 to make it work.

2m avatar Aug 13 '22 21:08 2m

The newest release doesn't work with wine or proton. It just shows a black screen and plays that loud startup noise on a loop.

whats your setup? bc it works for me in lutris using "lutris-7.2-2-x86_64" wine and all other stuff default edit: new release was build_1_4a

I was using wine version: 7.14 and proton ge version 7.29 but everything works now in build_0_1_5a

Rayrsn avatar Aug 14 '22 07:08 Rayrsn

I was just about to post an issue of the lacking linux support when I found this. I read that CLang works, but that's not enough. I might try fixing the gcc build later.

arf20 avatar Aug 15 '22 20:08 arf20

would wine work for this?

WINE works for this.

idk gives me following error:

002c:err:module:LdrInitializeThunk Importing dlls for L"Z:\\home<path>\engine-sim-build_0_1_9a\\bin\\engine-sim-app.exe" failed, status c0000135

BilakshanP avatar Sep 01 '22 11:09 BilakshanP

would wine work for this?

WINE works for this.

idk gives me following error:

002c:err:module:LdrInitializeThunk Importing dlls for L"Z:\\home<path>\engine-sim-build_0_1_9a\\bin\\engine-sim-app.exe" failed, status c0000135

Try using wine-ge/proton-ge, just worked for me

kaii-lb avatar Sep 05 '22 08:09 kaii-lb

would wine work for this?

WINE works for this.

idk gives me following error:

002c:err:module:LdrInitializeThunk Importing dlls for L"Z:\\home<path>\engine-sim-build_0_1_9a\\bin\\engine-sim-app.exe" failed, status c0000135

Try using wine-ge/proton-ge, just worked for me

How did you get wine-ge/proton-ge on mac? I thought that was only for windows.

What all did you install with wine? With using wine the engine sim immediately crashes.

TristonStuart avatar Sep 07 '22 02:09 TristonStuart

Got a lil further using vmware fusion. Also had the missing dlls issues, but i then installed the libraries according to missing-dll-files faq but the d3d... driver was still missing. i tried the version on dll-files.com (???) and threw it into my system32 folder. Now the app opens but immediately crashes w/o anything in the error.log. I'm currently trying to install everything required to build the app from source but I am not a windows person and oooh boy is this a lot of moving parts 🙃

boxofbox avatar Jan 14 '23 17:01 boxofbox

Got a lil further using vmware fusion. Also had the missing dlls issues, but i then installed the libraries according to missing-dll-files faq but the d3d... driver was still missing. i tried the version on dll-files.com (???) and threw it into my system32 folder. Now the app opens but immediately crashes w/o anything in the error.log. I'm currently trying to install everything required to build the app from source but I am not a windows person and oooh boy is this a lot of moving parts upside_down_face

You don't need a VM for ES to work under Linux though. Only Wine.

DDev247 avatar Jan 14 '23 21:01 DDev247

ack. sorry the quote didn't seem to populate properly. i was working on an M1 Mac solution, not Linux. Had tried a bunch of wine type solutions (including Crossover, wine-crossover, etc..). Ended up just spending the day tweaking some code from the current Metal build floating around and got it running natively (albeit with the gonzo oversized engine issue): https://github.com/boxofbox/engine-sim-m1

boxofbox avatar Jan 15 '23 03:01 boxofbox

ack. sorry the quote didn't seem to populate properly. i was working on an M1 Mac solution, not Linux. Had tried a bunch of wine type solutions (including Crossover, wine-crossover, etc..). Ended up just spending the day tweaking some code from the current Metal build floating around and got it running natively (albeit with the gonzo oversized engine issue): https://github.com/boxofbox/engine-sim-m1

Awesome work! But unfortunately it's crashing on launch on my system :( I did notice there were about 12 warnings ending with while building: was built for newer macOS version (13.0) than being linked (12.3) (I'm running MacOS Ventura 13.0)

Here's the terminal output when I try to launch it:

attached event handler
init metal device
create metal swapchain, name: Apple M1 Max, type: PN3MTL6DeviceE

init geometry
init renderer
init console
init shaders
Metal shaders
yds error 52
yds error 52
yds error 52
yds error 52
zsh: segmentation fault  /Users/benjamin/GitHub/EngineSim/build/engine-sim-app

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]


tapeboy7 avatar Jan 16 '23 14:01 tapeboy7

was built for newer macOS version (13.0) than being linked (12.3) wow strange i'm running 13.0.1 clean install at 13. also get a ton of warnings, but it still runs ok. Was yours a clean install or an upgrade? It could be one of the homebrew libraries being linked needs to be rebuilt on the new os? e.g., try brew list | xargs brew reinstall

boxofbox avatar Jan 16 '23 14:01 boxofbox

ack. sorry the quote didn't seem to populate properly. i was working on an M1 Mac solution, not Linux. Had tried a bunch of wine type solutions (including Crossover, wine-crossover, etc..). Ended up just spending the day tweaking some code from the current Metal build floating around and got it running natively (albeit with the gonzo oversized engine issue): https://github.com/boxofbox/engine-sim-m1

Awesome work! But unfortunately it's crashing on launch on my system :( I did notice there were about 12 warnings ending with while building: was built for newer macOS version (13.0) than being linked (12.3) (I'm running MacOS Ventura 13.0)

Here's the terminal output when I try to launch it:

attached event handler
init metal device
create metal swapchain, name: Apple M1 Max, type: PN3MTL6DeviceE

init geometry
init renderer
init console
init shaders
Metal shaders
yds error 52
yds error 52
yds error 52
yds error 52
zsh: segmentation fault  /Users/benjamin/GitHub/EngineSim/build/engine-sim-app

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

the other thing to note, is i also get that error if i try to run it by clicking on the app. if you instead run it in the terminal when in the build folder with ./engine-sim-app does it also seg fault?

boxofbox avatar Jan 16 '23 14:01 boxofbox

ack. sorry the quote didn't seem to populate properly. i was working on an M1 Mac solution, not Linux. Had tried a bunch of wine type solutions (including Crossover, wine-crossover, etc..). Ended up just spending the day tweaking some code from the current Metal build floating around and got it running natively (albeit with the gonzo oversized engine issue): https://github.com/boxofbox/engine-sim-m1

Awesome work! But unfortunately it's crashing on launch on my system :( I did notice there were about 12 warnings ending with while building: was built for newer macOS version (13.0) than being linked (12.3) (I'm running MacOS Ventura 13.0) Here's the terminal output when I try to launch it:

attached event handler
init metal device
create metal swapchain, name: Apple M1 Max, type: PN3MTL6DeviceE

init geometry
init renderer
init console
init shaders
Metal shaders
yds error 52
yds error 52
yds error 52
yds error 52
zsh: segmentation fault  /Users/benjamin/GitHub/EngineSim/build/engine-sim-app

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

the other thing to note, is i also get that error if i try to run it by clicking on the app. if you instead run it in the terminal when in the build folder with ./engine-sim-app does it also seg fault?

That was it! Didn't know that could make a difference. Starting it from terminal works. Great work & Thanks!

tapeboy7 avatar Jan 16 '23 14:01 tapeboy7