2025-06-20 05:14 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0006358Spring engineLinuxpublic2020-01-06 12:16
ReporterSvenstaro 
Assigned Toabma 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusresolvedResolutionfixed 
Product Version104.0 +git 
Target VersionFixed in Version 
Summary0006358: spring doesn't build because of OpenAL errors
DescriptionTrying to build spring, I eventually run into the errors below. This is current git master with gcc 9.2 and openal 1.20.0 on Arch Linux.

In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:8:
/usr/include/AL/alc.h:34:16: error: using typedef-name ‘ALCdevice’ after ‘struct’
   34 | typedef struct ALCdevice ALCdevice;
      | ^~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:3:
/build/spring/src/spring/rts/System/Sound/OpenAL/Sound.h:22:33: note: ‘ALCdevice’ has a previous declaration here
   22 | typedef struct ALCdevice_struct ALCdevice;
      | ^~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:8:
/usr/include/AL/alc.h:34:26: error: conflicting declaration ‘typedef int ALCdevice’
   34 | typedef struct ALCdevice ALCdevice;
      | ^~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:3:
/build/spring/src/spring/rts/System/Sound/OpenAL/Sound.h:22:33: note: previous declaration as ‘typedef struct ALCdevice_struct ALCdevice’
   22 | typedef struct ALCdevice_struct ALCdevice;
      | ^~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:8:
/usr/include/AL/alc.h:36:16: error: using typedef-name ‘ALCcontext’ after ‘struct’
   36 | typedef struct ALCcontext ALCcontext;
      | ^~~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:3:
/build/spring/src/spring/rts/System/Sound/OpenAL/Sound.h:24:34: note: ‘ALCcontext’ has a previous declaration here
   24 | typedef struct ALCcontext_struct ALCcontext;
      | ^~~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:8:
/usr/include/AL/alc.h:36:27: error: conflicting declaration ‘typedef int ALCcontext’
   36 | typedef struct ALCcontext ALCcontext;
      | ^~~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:3:
/build/spring/src/spring/rts/System/Sound/OpenAL/Sound.h:24:34: note: previous declaration as ‘typedef struct ALCcontext_struct ALCcontext’
   24 | typedef struct ALCcontext_struct ALCcontext;
      | ^~~~~~~~~~
make[2]: *** [rts/System/Sound/CMakeFiles/sound.dir/build.make:180: rts/System/Sound/CMakeFiles/sound.dir/OpIn file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:8:
/usr/include/AL/alc.h:34:16: error: using typedef-name ‘ALCdevice’ after ‘struct’
   34 | typedef struct ALCdevice ALCdevice;
      | ^~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:3:
/build/spring/src/spring/rts/System/Sound/OpenAL/Sound.h:22:33: note: ‘ALCdevice’ has a previous declaration here
   22 | typedef struct ALCdevice_struct ALCdevice;
      | ^~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:8:
/usr/include/AL/alc.h:34:26: error: conflicting declaration ‘typedef int ALCdevice’
   34 | typedef struct ALCdevice ALCdevice;
      | ^~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:3:
/build/spring/src/spring/rts/System/Sound/OpenAL/Sound.h:22:33: note: previous declaration as ‘typedef struct ALCdevice_struct ALCdevice’
   22 | typedef struct ALCdevice_struct ALCdevice;
      | ^~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:8:
/usr/include/AL/alc.h:36:16: error: using typedef-name ‘ALCcontext’ after ‘struct’
   36 | typedef struct ALCcontext ALCcontext;
      | ^~~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:3:
/build/spring/src/spring/rts/System/Sound/OpenAL/Sound.h:24:34: note: ‘ALCcontext’ has a previous declaration here
   24 | typedef struct ALCcontext_struct ALCcontext;
      | ^~~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:8:
/usr/include/AL/alc.h:36:27: error: conflicting declaration ‘typedef int ALCcontext’
   36 | typedef struct ALCcontext ALCcontext;
      | ^~~~~~~~~~
In file included from /build/spring/src/spring/rts/System/Sound/OpenAL/Sound.cpp:3:
/build/spring/src/spring/rts/System/Sound/OpenAL/Sound.h:24:34: note: previous declaration as ‘typedef struct ALCcontext_struct ALCcontext’
   24 | typedef struct ALCcontext_struct ALCcontext;
      | ^~~~~~~~~~
make[2]: *** [rts/System/Sound/CMakeFiles/sound.dir/build.make:180: rts/System/Sound/CMakeFiles/sound.dir/OpenAL/Sound.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3448: rts/System/Sound/CMakeFiles/sound.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
enAL/Sound.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3448: rts/System/Sound/CMakeFiles/sound.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
Steps To Reproducemkdir build
cd build
cmake ..
make VERBOSE=1
TagsNo tags attached.
Checked infolog.txt for ErrorsIrrelevant
Attached Files

-Relationships
+Relationships

-Notes

~0020286

lamer (reporter)

Conflict due to recent new OpenAL version.

Works-for-me solution: rts/System/Sound/OpenAL/Sound.h
- struct ALCdevice_struct;
- typedef struct ALCdevice_struct ALCdevice;
- struct ALCcontext_struct;
- typedef struct ALCcontext_struct ALCcontext;
+ struct ALCdevice;
+ struct ALCcontext;

~0020297

abma (administrator)

https://github.com/spring/spring/commit/8e394108e0a0797b911c2184f001cbb1b0a11c17

~0020298

abma (administrator)

thanks for reporting!
+Notes

-Issue History
Date Modified Username Field Change
2020-01-02 13:49 Svenstaro New Issue
2020-01-05 23:31 lamer Note Added: 0020286
2020-01-06 12:09 abma Assigned To => abma
2020-01-06 12:09 abma Status new => resolved
2020-01-06 12:09 abma Resolution open => fixed
2020-01-06 12:09 abma Note Added: 0020297
2020-01-06 12:16 abma Note Added: 0020298
+Issue History