Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No linux support #2

Open
maxsupermanhd opened this issue Aug 9, 2022 · 32 comments
Open

No linux support #2

maxsupermanhd opened this issue Aug 9, 2022 · 32 comments

Comments

@maxsupermanhd
Copy link

maxsupermanhd commented Aug 9, 2022

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.
@naikrovek
Copy link

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.

@maxsupermanhd
Copy link
Author

Woops, my blindness here, sorry!

@maxsupermanhd maxsupermanhd changed the title No linux support? No linux support Aug 10, 2022
@bmunger
Copy link

bmunger commented Aug 10, 2022

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

@phire
Copy link

phire commented Aug 11, 2022

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

However, lots of stuff dependant on MSVC.

@DDev247
Copy link

DDev247 commented Aug 11, 2022

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
Copy link

DDev247 commented Aug 11, 2022

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.

@naikrovek
Copy link

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.

@phire
Copy link

phire commented Aug 11, 2022

Current porting status:

@jakethelizard99
Copy link

would wine work for this?

@Ashdemai
Copy link

would wine work for this?

WINE works for this.

@phire
Copy link

phire commented Aug 11, 2022

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.

@okalachev
Copy link

What about macOS support? Is this possible?

@naikrovek
Copy link

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

@mxmvncnt
Copy link

mxmvncnt commented Aug 13, 2022

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!

@Rayrsn
Copy link

Rayrsn commented Aug 13, 2022

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.

@okalachev
Copy link

okalachev commented Aug 13, 2022

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.

@Green-Sky
Copy link

Green-Sky commented Aug 13, 2022

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

@2m
Copy link

2m commented Aug 13, 2022

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.

@Rayrsn
Copy link

Rayrsn commented Aug 14, 2022

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

ange-yaghi pushed a commit that referenced this issue Aug 15, 2022
Displays Engine Name, Build Version, and Time since start.
@arf20
Copy link

arf20 commented Aug 15, 2022

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.

@BilakshanP
Copy link

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

@kaii-lb
Copy link

kaii-lb commented Sep 5, 2022

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

@TristonStuart
Copy link

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.

@boxofbox
Copy link

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 🙃

@DDev247
Copy link

DDev247 commented Jan 14, 2023

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.

@boxofbox
Copy link

boxofbox commented Jan 15, 2023

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

@tapeboy7
Copy link

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]


@boxofbox
Copy link

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
Copy link

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?

@tapeboy7
Copy link

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!

@itstheceo
Copy link

itstheceo commented Jun 10, 2023

I'm trying to run this on an Intel MacBook, with AMD graphics... updating the CMAKE_OSX_ARCHITECTURES on your branch @boxofbox builds fine for me, but this occurs when I try running from the terminal:

attached event handler
init metal device
create metal swapchain, name: AMD Radeon Pro 450, type: PN3MTL6DeviceE
-[MTLTextureDescriptorInternal validateWithDevice:]:1325: failed assertion `Texture Descriptor Validation
MTLTextureDescriptor: Depth, Stencil, DepthStencil textures cannot be allocated with MTLStorageModeShared or MTLStorageModeManaged on this device.
'
[1]    2720 abort      ./engine-sim-app

Any ideas?
Here's the stack trace:

0   libsystem_kernel.dylib        	    0x7ff80221c00e __pthread_kill + 10
1   libsystem_pthread.dylib       	    0x7ff8022521ff pthread_kill + 263
2   libsystem_c.dylib             	    0x7ff80219dd24 abort + 123
3   libsystem_c.dylib             	    0x7ff80219d0cb __assert_rtn + 314
4   Metal                         	    0x7ff80acd78a4 MTLReportFailure.cold.1 + 43
5   Metal                         	    0x7ff80acc1c05 MTLReportFailure + 529
6   Metal                         	    0x7ff80acba378 _MTLMessageContextEnd + 1278
7   Metal                         	    0x7ff80ac0bbdf -[MTLTextureDescriptorInternal validateWithDevice:] + 3296
8   AMDMTLBronzeDriver            	    0x7ffa1e8a44f5 -[BronzeMtlTexture initInternalWithDevice:descriptor:] + 59
9   engine-sim-app                	       0x1082976c2 ysMetalDevice::CreateRenderingContext(ysRenderingContext**, ysWindow*) + 738
10  engine-sim-app                	       0x10826da12 dbasic::DeltaEngine::CreateGameWindow(dbasic::DeltaEngine::GameEngineSettings const&) + 658
11  engine-sim-app                	       0x1081cc472 EngineSimApplication::initialize(void*, ysContextObject::DeviceAPI) + 1458
12  engine-sim-app                	       0x1081cb820 main + 64
13  dyld                          	       0x11770152e start + 462

@Kavinoky
Copy link


Hi, I encountered the same problem as you using the same method. Other dll files can be solved by repair software, but the Arm version of Windows doesn't seem to support vulkan-1.dll, so it won't work.:(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests