The International Simutrans Forum

Development => Patches & Projects => Incorporated Patches and Solved Bug Reports => Topic started by: vrm on July 02, 2012, 06:22:25 PM

Title: Self compiled 0.111.3 crashes when language "german" ist set (Linux x86_64)
Post by: vrm on July 02, 2012, 06:22:25 PM
Trying to write a .ebuild-file (package) for gentoo-linux for version 111.3 simutrans crashes with the following message (reproducible, always) after i select German as language. (sources from sourceforge, pak64 from sourceforge)

.....
Calculating textures ...done
Creating cities ...
*** invalid %N$ use detected ***

Trying pak128.Britain, result: some minutes running, sudden crash, same message. Deleting simconf.tab, then choosing English as language, everything (pak64 and pak128.Britain) runs perfectly..

Tried nightly build r5788, everything runs fine, no difference between selected languages. To get my ebuild running: Which files do i have to patch in vanilla 111.3 to get it running?

BTW my config.default is attached.

TIA
vrm
Title: Re: Self compiled 0.111.3 crashes when language "german" ist set (Linux x86_64)
Post by: Dwachs on July 02, 2012, 06:40:14 PM
This sounds like an error in the German translation file. Choose English as in-game language, or download de.tab from

http://simutrans-germany.com/translator/data/tab/0/de.tab

and put it in simutrans/text/, or try the file text/de.tab from an older version
Title: Re: Self compiled 0.111.3 crashes when language "german" ist set (Linux x86_64)
Post by: VS on July 02, 2012, 06:41:27 PM
Sounds a bit like this:
http://forum.simutrans.com/index.php?topic=10138.msg96390#msg96390

The cause seems to be the same "class" of problem (sprintf parameter ordering), so I'd check translations instead of code.

edit: Argh, too slow!
Title: Re: Self compiled 0.111.3 crashes when language "german" ist set (Linux x86_64)
Post by: vrm on July 02, 2012, 08:09:55 PM
Quote from: Dwachs on July 02, 2012, 06:40:14 PM

download de.tab from http://simutrans-germany.com/translator/data/tab/0/de.tab


On a first glance, that did that trick ... Thanks.

vrm
Title: Re: Self compiled 0.111.3 crashes when language "german" ist set (Linux x86_64)
Post by: Dwachs on July 02, 2012, 08:20:15 PM
The Croatian translation also had a faulty entry.
Title: Re: Self compiled 0.111.3 crashes when language "german" ist set (Linux x86_64)
Post by: Dwachs on July 03, 2012, 06:21:21 PM
Please try out r5801.

Now simutrans should check whether translated strings and their format specifiers match the expectations of the program. It ignores cases, where the master string does not contain any format specifiers (WAGGON_INFO, 1extern etc). With the patch, I found three malformed strings (the English aircraft record string, German monument erection string, and a Croation AI-related one).
Title: Re: Self compiled 0.111.3 crashes when language "german" ist set (Linux x86_64)
Post by: vrm on July 25, 2012, 03:40:06 PM
Quote from: Dwachs on July 03, 2012, 06:21:21 PM
Please try out r5801.

Sorry for answering so late, ....

It works, thanks.

But to create an so called 'ebuild' (package) for gentoo linux, i need to know which file in the 113-1 source code (or the translation-files) to patch to get rid of this problem, because gentoo's way of installing is compiling ;)

Thanks in advance.

vrm
Title: Re: Self compiled 0.111.3 crashes when language "german" ist set (Linux x86_64)
Post by: Dwachs on July 25, 2012, 05:57:06 PM
You might want to check the difference between r5800 and r5804. These are the changes:

https://github.com/aburch/simutrans/commit/8138a4f6d2921f6501d1071a1fc9bc983bc1b932
https://github.com/aburch/simutrans/commit/0d06d6d1661e51ee3fed539cda2759e41c0c6adb
https://github.com/aburch/simutrans/commit/099dd577ff7c989739b7e960d8662eedcebeb987
https://github.com/aburch/simutrans/commit/6286ab570b76140086b9df70467933efd2995a2e

You also need up-to-date translation files (the files text/*.tab in the nightly archives)