[Linux GZDoom] Bad numeric constant error

Need help running G/Q/ZDoom/ECWolf/Zandronum/3DGE? Did your computer break? Ask here.

Moderator: Developers

[Linux GZDoom] Bad numeric constant error

Postby TDRR » Sat May 19, 2018 3:48 pm

Hi, i have an issue where GZDoom doesn't even start up, i just get the following error message: Script error, "gzdoom.pk3:compatibilty.txt" line 6: SC_GetFloat: Bad numeric constant "1.090909"

If it helps, i'm running Canaima 4.1 (Basically a rebrand of Linux Mint Debian Edition with crappy added apps), the GZDoom is 3.3.2 installed from the .deb packages stored in the ZDoom.org archive.
The only specifications of this PC i know of are a 1.4GHz Celeron CPU, some Intel iGPU i don't know the name of and 2GB of RAM.

I already tried extracting the gzdoom.pk3 and zd_extra.pk3 from the latest .zip distribution of GZDoom and that doesn't fix anything, same after a reinstall.
User avatar
TDRR
 
Joined: 11 Mar 2018
Location: The present

Re: [Linux GZDoom] Bad numeric constant error

Postby _mental_ » Sun May 20, 2018 12:18 am

What’s your system language? Execute locale command in Terminal and post its output.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: [Linux GZDoom] Bad numeric constant error

Postby TDRR » Thu May 24, 2018 10:25 am

Sorry for the very late reply, but the output is the following:
https://pastebin.com/dUT7ASSm

So, i assume that changing the language to english will fix this?
User avatar
TDRR
 
Joined: 11 Mar 2018
Location: The present

Re: [Linux GZDoom] Bad numeric constant error

Postby _mental_ » Thu May 24, 2018 10:37 am

Yes, this may help because it's something with conversion from string to numbers.
We do some explicit things in code to make such conversion language agnostic. Apparently this fails for unknown reason in your case.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: [Linux GZDoom] Bad numeric constant error

Postby Graf Zahl » Thu May 24, 2018 10:55 am

The relevant comment says:

// Set LC_NUMERIC environment variable in case some library decides to
// clear the setlocale call at least this will be correct.
// Note that the LANG environment variable is overridden by LC_*


So apparently some component the app links to on your system is playing foul here.
(BTW, am I the only one who thinks that it's borderline retarded to implement this so that the internal workings of the entire CRT can be affected globally by this?)
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [Linux GZDoom] Bad numeric constant error

Postby _mental_ » Thu May 24, 2018 2:26 pm

Me too. Until this issue I didn’t even know that we have a dependency on locale settings.
There is a non-standard set of functions in some C library implementations that accepts locale explicitly as an argument.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: [Linux GZDoom] Bad numeric constant error

Postby Graf Zahl » Thu May 24, 2018 2:45 pm

We always had that dependency. Which is all fine and well if the same CRT wasn't shared with any system library the app pulls in directly or indirectly. You only need to have one stinker in there which doesn't handle this properly and all hell will break loose.

What I don't get is that they just altered the behavior of the standard parsing/text output functions instead of providing separate locale-aware versions. That entire attitude is just playing with fire and risking to break stuff. It's amazing that it took this long for this problem to show under Linux. Fortunately, on Windows this is impossible because the statically linked CRT is not shared with anything. No idea about Mac, though.
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany


Return to Technical Issues

Who is online

Users browsing this forum: No registered users and 1 guest