View Issue Details

IDProjectCategoryView StatusLast Update
0005625The Dark ModCodingpublic27.05.2021 09:28
Reporteres20490446e Assigned Tostgatilov  
PriorityurgentSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinux 
Target VersionTDM 2.10Fixed in VersionTDM 2.10 
Summary0005625: Fails to build on GCC10: libopenal has multiple definition of global variables
DescriptionStarting with GCC10 any global variables defined more than once make the compilation to fail by default.

This is the case of the used version of libopenal, which fails at the variables:

FuMa2N3DScale
SN3D2N3DScale
N3D2N3DScale

At the source files:

ALu.c.o
bformatdec.c.o
panning.c.o
Steps To Reproduce1. Recompile ThirdParty.
2. Compile the game.
TagsNo tags attached.

Activities

es20490446e

es20490446e

26.05.2021 00:33

reporter   ~0014044

The fix is defining those variables from:

[type] [var] = [value];

To:

extern [type] [var];
int main(){}
es20490446e

es20490446e

26.05.2021 09:01

reporter   ~0014047

It also builds if you ask the compiler to overlook the error. By on "ThirdParty\custom\openal\CMakeLists.txt", over "add_subdirectory", adding:

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcommon")
stgatilov

stgatilov

26.05.2021 11:04

administrator   ~0014048

Fixed in svn rev 9395 (added -fcommon to OpenAL's CMake file).

Here is original discussion (for reference):
  https://forums.thedarkmod.com/index.php?/topic/20940-unable-to-link-openal-during-compilation/&do=findComment&comment=461061
es20490446e

es20490446e

26.05.2021 11:36

reporter   ~0014050

Thanks. Is it possible to also add it to the latest tag, so building the game is possible in the present?

https://svn.thedarkmod.com/publicsvn/darkmod_src/tags/2.09a/ThirdParty/custom/openal/CMakeLists.txt
stgatilov

stgatilov

26.05.2021 12:48

administrator   ~0014051

I can merge it to 2.09 release branch.
But I better won't touch tag.
es20490446e

es20490446e

26.05.2021 13:51

reporter   ~0014052

Do you mean modifying the following file without increasing the tag name? Or do you mean something else?

https://svn.thedarkmod.com/publicsvn/darkmod_src/tags/2.09a/ThirdParty/custom/openal/CMakeLists.txt
stgatilov

stgatilov

27.05.2021 04:35

administrator   ~0014053

I mean modifying branch for 2.09 release, not tag.
The 2.09a release should remain exactly as it was, and there is not enough reason to create 2.09b yet.
es20490446e

es20490446e

27.05.2021 09:28

reporter   ~0014054

Sorry, I don't understand what you mean.

At:
https://svn.thedarkmod.com/publicsvn/darkmod_src/

I only see "trunk" and "tags". Where are the branches?

Issue History

Date Modified Username Field Change
26.05.2021 00:31 es20490446e New Issue
26.05.2021 00:33 es20490446e Note Added: 0014044
26.05.2021 09:01 es20490446e Note Added: 0014047
26.05.2021 11:04 stgatilov Note Added: 0014048
26.05.2021 11:04 stgatilov Target Version => TDM 2.10
26.05.2021 11:04 stgatilov Assigned To => stgatilov
26.05.2021 11:04 stgatilov Status new => assigned
26.05.2021 11:05 stgatilov Status assigned => resolved
26.05.2021 11:05 stgatilov Resolution open => fixed
26.05.2021 11:05 stgatilov Fixed in Version => TDM 2.10
26.05.2021 11:36 es20490446e Note Added: 0014050
26.05.2021 12:48 stgatilov Note Added: 0014051
26.05.2021 13:51 es20490446e Note Added: 0014052
27.05.2021 04:35 stgatilov Note Added: 0014053
27.05.2021 09:28 es20490446e Note Added: 0014054