diasurgical / devilutionX

Diablo build for modern operating systems
Other
7.99k stars 781 forks source link

I can't run Prebuild Release & I can't compile under Devuan #515

Closed inukaze closed 4 years ago

inukaze commented 4 years ago

Describe The game hang up when i try to start it

To Reproduce Steps to reproduce the behavior:

  1. Download the DevilutionX from Here

  2. Extract to any path

  3. Copy the file diabdat.mpq from cd or gog installation to the DevilutionX folder

  4. Open a terminal and set the permissions with chmod 777 -R * inside the DevilutionX Folder

  5. launch the command : ./devilutionx

  6. See output / error : DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:828

  7. The Game never start, just hang up there.

Expected behavior The Game Start

Screenshots No have because the DevilutionX open a Empty Window / without Content / Without Window Border

Additional context I try to download and compile but i fail, i open a terminal

cd /tmp
git clone https://github.com/diasurgical/devilutionX
cd devilutionX/build
cmake ..
cmake --build . -j $(nproc)

Output from last command :

Scanning dependencies of target PKWare
Scanning dependencies of target devilution
[  0%] Building CXX object CMakeFiles/PKWare.dir/3rdParty/PKWare/explode.cpp.o
[  1%] Building CXX object CMakeFiles/PKWare.dir/3rdParty/PKWare/implode.cpp.o
[  2%] Linking CXX static library libPKWare.a
[  2%] Built target PKWare
Scanning dependencies of target Radon
[  2%] Building CXX object CMakeFiles/Radon.dir/3rdParty/Radon/Radon/source/File.cpp.o
[  3%] Building CXX object CMakeFiles/devilution.dir/Source/appfat.cpp.o
[  4%] Building CXX object CMakeFiles/Radon.dir/3rdParty/Radon/Radon/source/Key.cpp.o
[  5%] Building CXX object CMakeFiles/devilution.dir/Source/automap.cpp.o
[  6%] Building CXX object CMakeFiles/Radon.dir/3rdParty/Radon/Radon/source/Named.cpp.o
[  6%] Building CXX object CMakeFiles/Radon.dir/3rdParty/Radon/Radon/source/Section.cpp.o
[  6%] Building CXX object CMakeFiles/devilution.dir/Source/capture.cpp.o
[  7%] Linking CXX static library libRadon.a
[  7%] Built target Radon
Scanning dependencies of target smacker
[  7%] Building C object CMakeFiles/smacker.dir/3rdParty/libsmacker/smk_bitstream.c.o
[  8%] Building CXX object CMakeFiles/devilution.dir/Source/codec.cpp.o
[  9%] Building C object CMakeFiles/smacker.dir/3rdParty/libsmacker/smk_hufftree.c.o
[ 10%] Building C object CMakeFiles/smacker.dir/3rdParty/libsmacker/smacker.c.o
[ 11%] Building CXX object CMakeFiles/devilution.dir/Source/control.cpp.o
[ 12%] Linking C static library libsmacker.a
[ 12%] Built target smacker
Scanning dependencies of target StormLib
[ 13%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/FileStream.cpp.o
[ 13%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SBaseCommon.cpp.o
[ 14%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SBaseFileTable.cpp.o
[ 15%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SBaseSubTypes.cpp.o
[ 15%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SCompression.cpp.o
[ 16%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SFileExtractFile.cpp.o
[ 17%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SFileFindFile.cpp.o
[ 17%] Building CXX object CMakeFiles/devilution.dir/Source/cursor.cpp.o
[ 18%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SFileGetFileInfo.cpp.o
[ 18%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SFileOpenArchive.cpp.o
[ 19%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SFileOpenFileEx.cpp.o
[ 20%] Building CXX object CMakeFiles/StormLib.dir/3rdParty/StormLib/src/SFileReadFile.cpp.o
[ 20%] Linking CXX static library libStormLib.a
[ 20%] Built target StormLib
[ 21%] Building CXX object CMakeFiles/devilution.dir/Source/dead.cpp.o
[ 22%] Building CXX object CMakeFiles/devilution.dir/Source/debug.cpp.o
[ 23%] Building CXX object CMakeFiles/devilution.dir/Source/diablo.cpp.o
[ 23%] Building CXX object CMakeFiles/devilution.dir/Source/doom.cpp.o
[ 24%] Building CXX object CMakeFiles/devilution.dir/Source/drlg_l1.cpp.o
[ 25%] Building CXX object CMakeFiles/devilution.dir/Source/drlg_l2.cpp.o
[ 25%] Building CXX object CMakeFiles/devilution.dir/Source/drlg_l3.cpp.o
[ 26%] Building CXX object CMakeFiles/devilution.dir/Source/drlg_l4.cpp.o
[ 27%] Building CXX object CMakeFiles/devilution.dir/Source/dthread.cpp.o
[ 27%] Building CXX object CMakeFiles/devilution.dir/Source/effects.cpp.o
In file included from /usr/include/SDL2/SDL_mixer.h:27:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_stdinc.h:132:17: error: redeclaration of ‘SDL_FALSE’
     SDL_FALSE = 0,
                 ^
In file included from /usr/local/include/SDL2/SDL_main.h:25:0,
                 from /usr/local/include/SDL2/SDL.h:32,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_stdinc.h:163:5: note: previous declaration ‘SDL_bool SDL_FALSE’
     SDL_FALSE = 0,
     ^~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:27:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_stdinc.h:133:16: error: redeclaration of ‘SDL_TRUE’
     SDL_TRUE = 1
                ^
In file included from /usr/local/include/SDL2/SDL_main.h:25:0,
                 from /usr/local/include/SDL2/SDL.h:32,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_stdinc.h:164:5: note: previous declaration ‘SDL_bool SDL_TRUE’
     SDL_TRUE = 1
     ^~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:27:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_stdinc.h:134:3: error: conflicting declaration ‘typedef enum SDL_bool SDL_bool’
 } SDL_bool;
   ^~~~~~~~
In file included from /usr/local/include/SDL2/SDL_main.h:25:0,
                 from /usr/local/include/SDL2/SDL.h:32,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_stdinc.h:165:3: note: previous declaration as ‘typedef enum SDL_bool SDL_bool’
 } SDL_bool;
   ^~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:27:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_stdinc.h:291:5: error: redeclaration of ‘DUMMY_ENUM_VALUE’
     DUMMY_ENUM_VALUE
     ^~~~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_main.h:25:0,
                 from /usr/local/include/SDL2/SDL.h:32,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_stdinc.h:339:5: note: previous declaration ‘SDL_DUMMY_ENUM DUMMY_ENUM_VALUE’
     DUMMY_ENUM_VALUE
     ^~~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:27:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_stdinc.h:292:3: error: conflicting declaration ‘typedef enum SDL_DUMMY_ENUM SDL_DUMMY_ENUM’
 } SDL_DUMMY_ENUM;
   ^~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_main.h:25:0,
                 from /usr/local/include/SDL2/SDL.h:32,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_stdinc.h:340:3: note: previous declaration as ‘typedef enum SDL_DUMMY_ENUM SDL_DUMMY_ENUM’
 } SDL_DUMMY_ENUM;
   ^~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:27:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_stdinc.h: In function ‘void SDL_memset4(void*, Uint32, size_t)’:
/usr/include/SDL2/SDL_stdinc.h:363:23: error: redefinition of ‘void SDL_memset4(void*, Uint32, size_t)’
 SDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords)
                       ^~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_main.h:25:0,
                 from /usr/local/include/SDL2/SDL.h:32,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_stdinc.h:420:23: note: ‘void SDL_memset4(void*, Uint32, size_t)’ previously defined here
 SDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords)
                       ^~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:27:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_stdinc.h: In function ‘void* SDL_memcpy4(void*, const void*, size_t)’:
/usr/include/SDL2/SDL_stdinc.h:518:24: error: redefinition of ‘void* SDL_memcpy4(void*, const void*, size_t)’
 SDL_FORCE_INLINE void *SDL_memcpy4(SDL_OUT_BYTECAP(dwords*4) void *dst, SDL_IN_BYTECAP(dwords*4) const void *src, size_t dwords)
                        ^~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_main.h:25:0,
                 from /usr/local/include/SDL2/SDL.h:32,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_stdinc.h:594:24: note: ‘void* SDL_memcpy4(void*, const void*, size_t)’ previously defined here
 SDL_FORCE_INLINE void *SDL_memcpy4(SDL_OUT_BYTECAP(dwords*4) void *dst, SDL_IN_BYTECAP(dwords*4) const void *src, size_t dwords)
                        ^~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_rwops.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:28,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_error.h: At global scope:
/usr/include/SDL2/SDL_error.h:57:5: error: redeclaration of ‘SDL_ENOMEM’
     SDL_ENOMEM,
     ^~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:32:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_error.h:57:5: note: previous declaration ‘SDL_errorcode SDL_ENOMEM’
     SDL_ENOMEM,
     ^~~~~~~~~~
In file included from /usr/include/SDL2/SDL_rwops.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:28,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_error.h:58:5: error: redeclaration of ‘SDL_EFREAD’
     SDL_EFREAD,
     ^~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:32:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_error.h:58:5: note: previous declaration ‘SDL_errorcode SDL_EFREAD’
     SDL_EFREAD,
     ^~~~~~~~~~
In file included from /usr/include/SDL2/SDL_rwops.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:28,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_error.h:59:5: error: redeclaration of ‘SDL_EFWRITE’
     SDL_EFWRITE,
     ^~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:32:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_error.h:59:5: note: previous declaration ‘SDL_errorcode SDL_EFWRITE’
     SDL_EFWRITE,
     ^~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_rwops.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:28,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_error.h:60:5: error: redeclaration of ‘SDL_EFSEEK’
     SDL_EFSEEK,
     ^~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:32:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_error.h:60:5: note: previous declaration ‘SDL_errorcode SDL_EFSEEK’
     SDL_EFSEEK,
     ^~~~~~~~~~
In file included from /usr/include/SDL2/SDL_rwops.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:28,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_error.h:61:5: error: redeclaration of ‘SDL_UNSUPPORTED’
     SDL_UNSUPPORTED,
     ^~~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:32:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_error.h:61:5: note: previous declaration ‘SDL_errorcode SDL_UNSUPPORTED’
     SDL_UNSUPPORTED,
     ^~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_rwops.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:28,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_error.h:62:5: error: redeclaration of ‘SDL_LASTERROR’
     SDL_LASTERROR
     ^~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:32:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_error.h:62:5: note: previous declaration ‘SDL_errorcode SDL_LASTERROR’
     SDL_LASTERROR
     ^~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_rwops.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:28,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_error.h:63:3: error: conflicting declaration ‘typedef enum SDL_errorcode SDL_errorcode’
 } SDL_errorcode;
   ^~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:32:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_error.h:63:3: note: previous declaration as ‘typedef enum SDL_errorcode SDL_errorcode’
 } SDL_errorcode;
   ^~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:28:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_rwops.h:52:16: error: redefinition of ‘struct SDL_RWops’
 typedef struct SDL_RWops
                ^~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:36:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_rwops.h:52:16: error: previous definition of ‘struct SDL_RWops’
 typedef struct SDL_RWops
                ^~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:28:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_rwops.h:143:3: error: conflicting declaration ‘typedef int SDL_RWops’
 } SDL_RWops;
   ^~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:36:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_rwops.h:143:3: note: previous declaration as ‘typedef struct SDL_RWops SDL_RWops’
 } SDL_RWops;
   ^~~~~~~~~
In file included from /usr/include/SDL2/SDL_audio.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:29,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_endian.h: In function ‘Uint16 SDL_Swap16(Uint16)’:
/usr/include/SDL2/SDL_endian.h:78:1: error: redefinition of ‘Uint16 SDL_Swap16(Uint16)’
 SDL_Swap16(Uint16 x)
 ^~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:33:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_endian.h:78:1: note: ‘Uint16 SDL_Swap16(Uint16)’ previously defined here
 SDL_Swap16(Uint16 x)
 ^~~~~~~~~~
In file included from /usr/include/SDL2/SDL_audio.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:29,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_endian.h: In function ‘Uint32 SDL_Swap32(Uint32)’:
/usr/include/SDL2/SDL_endian.h:116:1: error: redefinition of ‘Uint32 SDL_Swap32(Uint32)’
 SDL_Swap32(Uint32 x)
 ^~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:33:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_endian.h:122:1: note: ‘Uint32 SDL_Swap32(Uint32)’ previously defined here
 SDL_Swap32(Uint32 x)
 ^~~~~~~~~~
In file included from /usr/include/SDL2/SDL_audio.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:29,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_endian.h: In function ‘Uint64 SDL_Swap64(Uint64)’:
/usr/include/SDL2/SDL_endian.h:168:1: error: redefinition of ‘Uint64 SDL_Swap64(Uint64)’
 SDL_Swap64(Uint64 x)
 ^~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:33:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_endian.h:189:1: note: ‘Uint64 SDL_Swap64(Uint64)’ previously defined here
 SDL_Swap64(Uint64 x)
 ^~~~~~~~~~
In file included from /usr/include/SDL2/SDL_audio.h:33:0,
                 from /usr/include/SDL2/SDL_mixer.h:29,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_endian.h: In function ‘float SDL_SwapFloat(float)’:
/usr/include/SDL2/SDL_endian.h:192:1: error: redefinition of ‘float SDL_SwapFloat(float)’
 SDL_SwapFloat(float x)
 ^~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:33:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_endian.h:213:1: note: ‘float SDL_SwapFloat(float)’ previously defined here
 SDL_SwapFloat(float x)
 ^~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_thread.h:35:0,
                 from /usr/include/SDL2/SDL_audio.h:35,
                 from /usr/include/SDL2/SDL_mixer.h:29,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_atomic.h: At global scope:
/usr/include/SDL2/SDL_atomic.h:189:31: error: conflicting declaration ‘typedef struct SDL_atomic_t SDL_atomic_t’
 typedef struct { int value; } SDL_atomic_t;
                               ^~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:35:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_atomic.h:216:31: note: previous declaration as ‘typedef struct SDL_atomic_t SDL_atomic_t’
 typedef struct { int value; } SDL_atomic_t;
                               ^~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_audio.h:35:0,
                 from /usr/include/SDL2/SDL_mixer.h:29,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_thread.h:60:5: error: redeclaration of ‘SDL_THREAD_PRIORITY_LOW’
     SDL_THREAD_PRIORITY_LOW,
     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:35:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_thread.h:60:5: note: previous declaration ‘SDL_ThreadPriority SDL_THREAD_PRIORITY_LOW’
     SDL_THREAD_PRIORITY_LOW,
     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_audio.h:35:0,
                 from /usr/include/SDL2/SDL_mixer.h:29,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_thread.h:61:5: error: redeclaration of ‘SDL_THREAD_PRIORITY_NORMAL’
     SDL_THREAD_PRIORITY_NORMAL,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:35:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_thread.h:61:5: note: previous declaration ‘SDL_ThreadPriority SDL_THREAD_PRIORITY_NORMAL’
     SDL_THREAD_PRIORITY_NORMAL,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_audio.h:35:0,
                 from /usr/include/SDL2/SDL_mixer.h:29,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_thread.h:62:5: error: redeclaration of ‘SDL_THREAD_PRIORITY_HIGH’
     SDL_THREAD_PRIORITY_HIGH
     ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:35:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_thread.h:62:5: note: previous declaration ‘SDL_ThreadPriority SDL_THREAD_PRIORITY_HIGH’
     SDL_THREAD_PRIORITY_HIGH,
     ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_audio.h:35:0,
                 from /usr/include/SDL2/SDL_mixer.h:29,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_thread.h:63:3: error: conflicting declaration ‘typedef enum SDL_ThreadPriority SDL_ThreadPriority’
 } SDL_ThreadPriority;
   ^~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL_audio.h:35:0,
                 from /usr/local/include/SDL2/SDL.h:36,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_thread.h:64:3: note: previous declaration as ‘typedef enum SDL_ThreadPriority SDL_ThreadPriority’
 } SDL_ThreadPriority;
   ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:29:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_audio.h:168:16: error: redefinition of ‘struct SDL_AudioSpec’
 typedef struct SDL_AudioSpec
                ^~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:36:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_audio.h:178:16: error: previous definition of ‘struct SDL_AudioSpec’
 typedef struct SDL_AudioSpec
                ^~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:29:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_audio.h:179:3: error: conflicting declaration ‘typedef int SDL_AudioSpec’
 } SDL_AudioSpec;
   ^~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:36:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_audio.h:189:3: note: previous declaration as ‘typedef struct SDL_AudioSpec SDL_AudioSpec’
 } SDL_AudioSpec;
   ^~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:29:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_audio.h:200:16: error: redefinition of ‘struct SDL_AudioCVT’
 typedef struct SDL_AudioCVT
                ^~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:36:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_audio.h:226:16: error: previous definition of ‘struct SDL_AudioCVT’
 typedef struct SDL_AudioCVT
                ^~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:29:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_audio.h:213:23: error: conflicting declaration ‘typedef int SDL_AudioCVT’
 } SDL_AUDIOCVT_PACKED SDL_AudioCVT;
                       ^~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:36:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_audio.h:239:23: note: previous declaration as ‘typedef struct SDL_AudioCVT SDL_AudioCVT’
 } SDL_AUDIOCVT_PACKED SDL_AudioCVT;
                       ^~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:29:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_audio.h:371:25: error: redeclaration of ‘SDL_AUDIO_STOPPED’
     SDL_AUDIO_STOPPED = 0,
                         ^
In file included from /usr/local/include/SDL2/SDL.h:36:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_audio.h:397:5: note: previous declaration ‘SDL_AudioStatus SDL_AUDIO_STOPPED’
     SDL_AUDIO_STOPPED = 0,
     ^~~~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:29:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_audio.h:372:5: error: redeclaration of ‘SDL_AUDIO_PLAYING’
     SDL_AUDIO_PLAYING,
     ^~~~~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:36:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_audio.h:398:5: note: previous declaration ‘SDL_AudioStatus SDL_AUDIO_PLAYING’
     SDL_AUDIO_PLAYING,
     ^~~~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:29:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_audio.h:373:5: error: redeclaration of ‘SDL_AUDIO_PAUSED’
     SDL_AUDIO_PAUSED
     ^~~~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:36:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_audio.h:399:5: note: previous declaration ‘SDL_AudioStatus SDL_AUDIO_PAUSED’
     SDL_AUDIO_PAUSED
     ^~~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:29:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_audio.h:374:3: error: conflicting declaration ‘typedef enum SDL_AudioStatus SDL_AudioStatus’
 } SDL_AudioStatus;
   ^~~~~~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:36:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_audio.h:400:3: note: previous declaration as ‘typedef enum SDL_AudioStatus SDL_AudioStatus’
 } SDL_AudioStatus;
   ^~~~~~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:31:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_version.h:51:16: error: redefinition of ‘struct SDL_version’
 typedef struct SDL_version
                ^~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:59:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_version.h:51:16: error: previous definition of ‘struct SDL_version’
 typedef struct SDL_version
                ^~~~~~~~~~~
In file included from /usr/include/SDL2/SDL_mixer.h:31:0,
                 from /tmp/devilutionX/Source/effects.cpp:3:
/usr/include/SDL2/SDL_version.h:56:3: error: conflicting declaration ‘typedef int SDL_version’
 } SDL_version;
   ^~~~~~~~~~~
In file included from /usr/local/include/SDL2/SDL.h:59:0,
                 from /tmp/devilutionX/Source/diablo.h:4,
                 from /tmp/devilutionX/Source/effects.cpp:1:
/usr/local/include/SDL2/SDL_version.h:56:3: note: previous declaration as ‘typedef struct SDL_version SDL_version’
 } SDL_version;
   ^~~~~~~~~~~
CMakeFiles/devilution.dir/build.make:257: fallo en las instrucciones para el objetivo 'CMakeFiles/devilution.dir/Source/effects.cpp.o'
make[2]: *** [CMakeFiles/devilution.dir/Source/effects.cpp.o] Error 1
make[2]: *** Se espera a que terminen otras tareas....
CMakeFiles/Makefile2:116: fallo en las instrucciones para el objetivo 'CMakeFiles/devilution.dir/all'
make[1]: *** [CMakeFiles/devilution.dir/all] Error 2
Makefile:83: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2
AJenbo commented 4 years ago
6\. **DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:828**

We need a bit more of the output then just that line. That one isn't an error but just a status.

I'm going to guess your version of SDL so you have? It could likly be an issue with it being to old.

Regarding your build issue, you appear to be including SDL headers multiple times:

/usr/include/SDL2/SDL_stdinc.h
/usr/local/include/SDL2/SDL_stdinc.h
inukaze commented 4 years ago
6\. **DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:828**

We need a bit more of the output then just that line. That one isn't an error but just a status.

000

I'm going to guess your version of SDL so you have? It could likly be an issue with it being to old.

Well my old version of SDL2 is 2.0.10

Regarding your build issue, you appear to be including SDL headers multiple times:

/usr/include/SDL2/SDL_stdinc.h
/usr/local/include/SDL2/SDL_stdinc.h

How i especify just use one with cmake ?

AJenbo commented 4 years ago

Ok, so it hangs i.e. never exits. "Hangin up" would indicate that it exits unexpectedly.

Someone reported a similar issue for a different but equally obscure system: https://github.com/diasurgical/devilutionX/issues/236

Your SDL version should be fine.

How i especify just use one with cmake ?

Idk, can you try just having one installation of it.

Please try the latest nightly: https://5756-143324737-gh.circle-artifacts.com/0/devilutionx_linux_x86_64

Do other SDL2 application work properly?

What is the CPU and mem usage for the application?

What happens if you run strace on the application?

4\. Open a terminal and set the permissions with
    `chmod 777 -R * inside the DevilutionX Folder`

You really shouldn't do this, only the devilutionx executable should be executable, and it is already marked as such. Giving full access for every one else is probably not a good idea either.

inukaze commented 4 years ago

Ok, so it hangs i.e. never exits. "Hangin up" would indicate that it exits unexpectedly.

Someone reported a similar issue for a different but equally obscure system:

236

Your SDL version should be fine.

How i especify just use one with cmake ?

Idk, can you try just having one installation of it.

I can't because when i compile things like retroarch i need the latest SDL2 because the SDL2 from system if not correctly detected or detect is a minor version detected and i need a superior version becuase of that the latest version is in /usr/local

In some point i try to replace the system SDL2 with a manual compilation of SDL2, but that just cause more troubles when i need compile binary executable like Shockolate (Engine for System Shock 1)

But i can't uninstall the SDL2 from System becuase that broken a lot of packages of Distribution (i never like the manegament of like this type of package from system becuase don't allow the user got control over the system, in this case GoboLinux is better for this) if i try this try to broken package like "nvidia" drivers, "xorg", "wayland", and similars and that not have any sense.

Please try the latest nightly: https://5756-143324737-gh.circle-artifacts.com/0/devilutionx_linux_x86_64 Same behaviour, why the binary exectuable is not more verbose at that point ?

000

Do other SDL2 application work properly? Yes all another SDL2 applications works fine, included the 32 Bits SDL2 applications

What is the CPU and mem usage for the application? Follow mate-system-monitor is 0% and the process is "sleeping" 001

What happens if you run strace on the application?

Well first i try Devilution-0.4.0 i386 from the Releases, and that work fine well i just need make a mini-script for launch and put the libraries that binary executable not found, i package, if you want to try you can download from -> http://www.mediafire.com/file/ycs6fov9b83fhei/DevilutionX-0.4.0-x32.7z/file

I and i play fine, just in the miniscript i should use the follow content

#!/bin/bash
export LD_LIBRARY_PATH="$PWD/.libs/32"
SDL_AUDIODRIVER="alsa" ./.devilutionx-0.4.0.x32

Well i had uploaded the Spawned Shareware version -> Here

To get sound work properly, because some reason PulseAudio don't play any sound When i try with Strace :

A) Don't play the Video Logos neither Intro Video 002

B) Show this yellow squares on the floor : 003

C) Well when i want to hear audio with the nightly build version you share i use the command : SDL_AUDIODRIVER="alsa" strace ./devilutionx_linux_x86_64

You need the output files of straces ?

4. Open a terminal and set the permissions with chmod 777 -R * inside the DevilutionX Folder

You really shouldn't do this, only the devilutionx executable should be executable, and it is already marked as such. Giving full access for every one else is probably not a good idea either.

The devilutionx is not executable came with permissions 755 but is not marked as executable, before package need use chmod a+o+x devilutionx_binary_executable

and package it using something like 7z, if i not remember wrong ".tar" can't conservate "executable" flag.

Well in my case i not have any trouble because i am the unique person i use this pc.

AJenbo commented 4 years ago

B) Show this yellow squares on the floor : 003

That is the viability debug grid, normally it is enabled using -d but only in debug builds. If you see it with out this then I would say you have some sort of memory corruption or uninitialized memory issue. Does this only happen when using strace?

You need the output files of straces ?

Yes, but just for 0.5.0

The devilutionx is not executable came with permissions 755 but is not marked as executable, before package need use chmod a+o+x devilutionx_binary_executable

and package it using something like 7z, if i not remember wrong ".tar" can't conservate "executable" flag.

.tar can hold flags, if you check 0.5.0 is actually packaged with 7z.

755 would already be executable, I suggest you use chmod +x file-name. The other command you use can lead to security issues, even if you are the only physical user.

Do you know if you are running under Wayland or X11? What window manager are you using?

AJenbo commented 4 years ago

Trying a fresh install of Devuan ascii appears to work correctly with the 0.5.0 release: image

inukaze commented 4 years ago

I am using Graphical Session : X.Org / X11 Window Manager : Compiz

Well i had re-downloaded the version 0.5.0 and i notice the follow permissions : 004

For some strange reason, when i try to rename the binary executable i can't, after i try to rename it, that hang up Thunar file manager xD (wtf?)

Well i use the follow command : SDL_AUDIODRIVER="alsa" strace -o "devilutionx-0.5.0.x64-strace.txt" "./devilutionx-0.5.0.x64"

You can download the strace of 0.5.0 from -> Here

i notice this version show "DevilutionX 0.4.0" instead "DevilutionX 0.5.0" in the Main Menu Screen 005

for some strange reason when i use strace to run devilution start normally 006

Trying a fresh install of Devuan ascii appears to work correctly with the 0.5.0 release: Well i am thinking in format Devuan from weeks ago, but i am not decide if just install a new & fresh Devuan or install GoboLinux (i love the manegament of software of that distro). Well i should test Devilution-0.4.0 under Slackware 14.2 and DevilutionX 0.5.0 under Slackware64 14.2

Dunnos : 1 - Why in the Menu don't have the options of the "diablo.ini" for DevilutionX? like :

[devilutionx] 
upscale=1
fullscreen=0
scaling quality=1
grab input=0

2 - If i want to translate to Spanish the Text and record voice for replace the Voices of Characters if possible with Devilution or not by the moment, because override its not possible yet ?

I really want to translate it to spanish begining from Text.

3 - Its not possible use the PlayStation data Diablo1 for play that version using DevilutionX, because that version for some reason had more explicative text about the history of game ?

4 - Its not possible use the extracted data of spawn.mpq or diabdat.mpq and not use the mpq files, just extracted ones ?

AJenbo commented 4 years ago

1: up until version 1.0.0 we will be sticking to to how the original game looked a feel, so adding new options aren't happening until later versions. Also if they are added to an options menu they should take effect with out restarting the game and that isn't the case at the moment.

2: We will eventually add translation support via the gettext format but we need to find a way to replace the font with a version that will allow for full unicode text (the current font is a subset of Windows-1252). Overwriting the assets is already supported so you could replace the voices and graphics already.

3: I don't understand what you are asking. But it wouldn't be legal to distribute the content of the PSX game.

4: It has been possible since version 0.4.0

AJenbo commented 4 years ago

I'm closing this issue was I am unable to replicate it and also out of ideas on how to get debug info, not to mention that there appears to be a workaround.

inukaze commented 4 years ago

1: up until version 1.0.0 we will be sticking to to how the original game looked a feel, so adding new options aren't happening until later versions. Also if they are added to an options menu they should take effect with out restarting the game and that isn't the case at the moment.

2: We will eventually add translation support via the gettext format but we need to find a way to replace the font with a version that will allow for full unicode text (the current font is a subset of Windows-1252). Overwriting the assets is already supported so you could replace the voices and graphics already.

3: I don't understand what you are asking. But it wouldn't be legal to distribute the content of the PSX game.

If you had buy a legal copy of the PlayStation 1 (1994) version of Game, because for the PSX Console, don't had too many games becuase was a Sales Failure on 2003 when the PSX was released on Japan. but its 100% compatible with PlayStation 1 & 2 Games

For use with this engine was awesome, I am not asking to distributed the PlayStation Diablo Disc Content on Internet, i know that is illegal. i just want to know if possible use that data with this engine ever each user had own legal copy of game. i want to make a translation for that version too. But in via Romhacking can be very hard because on my native language spanish, some expression can be very long and on english can be very short, and viceverse.

4: It has been possible since version 0.4.0

i try but in the window of devilution showme a message the "diabdat.mpq" was requiered, and i put all extracted file in the same directory, i notice ui_art\title.pcx don't exist

Maybe be the tool i use to extract the mpq and the patch.mpq, you recommend some tool in particular for extract mpq content ?

AJenbo commented 4 years ago

3 By PSX I'm referring to playstation 1, it was it's internal name.

The psx version of diablo uses a completely different format for assets, and a slightly different version then most other psx games. Only about 75% of the audio can be converted by current tools. But I think it was only available in Japanese, French, German and Swedish in addition to English.

4 The extracted files will overwritten the content of the mpq. Make sure all files and folders are lower case.

inukaze commented 4 years ago

Thanks for the quick answers.

AJenbo commented 4 years ago

Looks like this is definitely a duplicate of https://github.com/diasurgical/devilutionX/issues/236

inukaze commented 4 years ago

LOL, well i can't understand why if the executable is running using strace run normally, and if without strace, just hang up. that is very weird for me.

And well is the second thing with that behavior i remember six year ago, when i compile RetroArch + Mupen64Plus Core, that core do exactly the same without strace don't work, but when i try to use strace or gdb for extract more debug information, run perfectly.

well i try to use gdb with the binary executable of devilution-0.5.0.x64 (i rename it) and i notice the follow output

$ gdb ./devilutionx-0.5.0.x64 
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./devilutionx-0.5.0.x64...(no debugging symbols found)...done.
(gdb) run
Starting program: /media/Compartido/Videojuegos/Linux/Mazmorrero/Diablo1/devilutionx-0.5.0.x64 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffefbc5700 (LWP 19041)]
[New Thread 0x7ffff7ef6700 (LWP 19043)]
DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:828
[New Thread 0x7fffda059700 (LWP 19044)]

Reading symbols from ./devilutionx-0.5.0.x64...(no debugging symbols found)...done.

You had a version of this binary executable with debbuging symbols ?

Well i try ran devilution-0.5.0.x64 and open a tab terminal and use strace this is the output :

strace -p $(pidof devilutionx-0.5.0.x64)
strace: Process 19378 attached
futex(0x7f55911cc9d0, FUTEX_WAIT, 19382, NULL

And there is when the window is hang up xD (what is FUTEX?)

AJenbo commented 4 years ago

http://man7.org/linux/man-pages/man2/futex.2.html

AJenbo commented 4 years ago

Did you try the nightly build i linked to you earlier? I believe they have debug symbols.

Here is a fresh debug build with no network support or sanatizers: devilutionx.zip

inukaze commented 4 years ago

Not looks like be the same version you lined earlier because when i try to run this latest :

./devilutionx-nightly.x64: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./devilutionx-nightly.x64)

well nothing strange. i just put the libraries from anothers distros of 64 Bits more updated

export LD_LIBRARY_PATH="$PWD/.libs/64"
gbd ./devilutionx-nightly.x64 

GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./devilutionx-nightly.x64...done.
(gdb) run

Starting program: /media/Compartido/Videojuegos/Linux/Mazmorrero/Diablo1/devilutionx-nightly.x64 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffefe3f700 (LWP 22794)]
[New Thread 0x7fffeb29c700 (LWP 22796)]
DUMMY: SFileSetBasePath @ SourceX/storm/storm.cpp:784
[New Thread 0x7fffda32a700 (LWP 22797)]

000

I notice the game hang up when try to use "pulse" / "pulseaudio" becuase i use the enviroment variable :

export SDL_AUDIODRIVER="alsa"

and binary executables :

./devilution-0.5.0.x64
./devilution-nightly.x64

and run perfectly. for some strange reason, with pulseaudio i not got audio with devilution, but with alsa works the audio perfectly. sadly i not know some method to probe if pulseaudio is working from binary executable and if the result is NULL then try to export SDL_AUDIODRIVER="alsa" and try again. in a bash script xD

001

002

I think the problem is with the SDL Audio Driver Output xD on my distro. alsa : 000

Works fine.

pulse : 001

Hang up.

AJenbo commented 4 years ago

Interesting, maybe we should wait with booting the sound system until we get the SDL_AUDIODEVICEADDED event.

Not looks like be the same version you lined earlier because when i try to run this latest :

It's not, you should try both.

inukaze commented 4 years ago

i forgot mention with version 0.4.0 when start with pulseaudio try start normally but without sound, until pass the 2 first logo video intros, if you click or push enter to go to main menu the game hang up too xD.

000

If you export SDL_AUDIODRIVER="alsa", works perfectly, but this version of the engine during gameplay the CPU consume are really high xD, for moments the game looks paused but is just lagged by cpu consume

001

AJenbo commented 4 years ago

@inukaze can you try and run the following 3 commands and show us the output:

pulseaudio --version
cat /proc/asound/version
pulseaudio
inukaze commented 4 years ago

$ pulseaudio --version

Output : pulseaudio 10.0

$ cat /proc/asound/version

Output : Advanced Linux Sound Architecture Driver Version k4.9.0-11-amd64.

$ pulseaudio

Output

E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: Ha fallado pa_pid_file_create().

$ pulseaudio -k

$ pulseaudio

Output :

W: [pulseaudio] sink.c: Default and alternate sample rates are the same.
W: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
W: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
E: [pulseaudio] socket-server.c: socket(PF_INET6): Esta familia de direcciones no está soportada por el protocolo
E: [pulseaudio] socket-server.c: socket(PF_INET6): Esta familia de direcciones no está soportada por el protocolo
E: [avahi-ml] module-zeroconf-publish.c: Failed to send: org.freedesktop.DBus.Error.ServiceUnknown:The name org.freedesktop.hostname1 was not provided by any .service files