2021-09-18 00:29 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005294Spring engineBuildbotpublic2018-05-02 21:35
Assigned Toabma 
PrioritynormalSeverityfeatureReproducibilityhave not tried
Product Version 
Target VersionFixed in Version 
Summary0005294: Upgrade GCC
Descriptionat least to 4.9.3, or any later version you write in the comments to this issue that makes sense
Additional Informationhttps://springrts.com/wiki/Buildbot:LXC
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

related to 0005245resolvedhokomoko Add CircuitAI as a submodule 
related to 0005467resolved Steam Overlay does not work with Spring, worked on 91.0 
related to 0005966resolvedabma upgrade mxe for windows build to gcc 5.4.0 
related to 0005827resolvedabma Unable to start - cannot find libunwind 
related to 0005970closedabma update clang, source + doxygen builder, too 



abma (administrator)

IMHO when upgrading we should upgrade to at least 5.1 and use the new libstdc++ abi for the linux static builds:


so >= 5.1


lamer (reporter)

If gcc5 then I'd prefer to target latest 5.4+ (atm), assuming the number of regressions and bugs was only reduced


abma (administrator)

according to https://gcc.gnu.org/develop.html

"Starting with GCC 5 we will bump the major version number for each release"

-> gcc 5.x are bugfix releases of 5.0.


hokomoko (developer)

5.4 seems like the best option then.


abma (administrator)

to fix this imo a complete new vm should be created using vagrant. the current buildslave is so hacky, touching it could break a lot.

i already started with vagrant:


basicly this setups gentoo and then it must install most libs 32 and 64 bit as static builds.

updating windows cross build env should be trivial as MXE basicly has no dependencies.


abma (administrator)

thanks a lot hokomoko!

it basicly worked without changes on kvm, too. I only made some minor adjustments, see the most recent commits:

did you make any effort to compile for 32 bit?


hokomoko (developer)

no, I wanted to verify first that what I'm doing is actually working for you as well.


abma (administrator)

why is an old version of libunwind installed?

first try of 32 bit:




hokomoko (developer)

If libunwind is compiled with --enable-cxx-exceptions you then have a conflict between libgcc and libunwind.

/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ld.gold: error: /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_eh.a(unwind-dw2.o): multiple definition of '_Unwind_Resume'
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ld.gold: /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/libunwind.a(Resume.o): previous definition here

Unfortunately the package doesn't allow to customise this

originally I've hacked the script

But then I've figured using an older version is the sane approach (AFAIK we aren't using features from later versions).
see here as well:


abma (administrator)

i'm asking because libunwind-1.2_rc1 is required for multilib support.

maybe reordering linking flags can fix the error:



hokomoko (developer)

Last edited: 2016-11-02 09:35

View 2 revisions

It didn't work for me IIRC.

Anyway, if it doesn't, and 1.2_rc1 is needed, you can probably do the sed hack.


abma (administrator)

ok, current repo works for me. I didn't retest if amd64 broke due to the changes but in case of it, fixing should be trivial.

now i need some time to set it up as buildslaves, but the hard stuff is done :)


hokomoko (developer)

Amazing job!


eemil@gmx.com (reporter)

If this is still being decided, Debian Stretch (next stable) will have GCC 6, but current Ubuntu LTS (16.04) has only GCC 5. Linux Mint, Ubuntu 16.04 and newer have GCC 6.


hokomoko (developer)

Since gentoo has gcc 4.9 and the build bots use gentoo (more or less) we're probably going to use gcc 4.9


eemil@gmx.com (reporter)

I just hope you are not forced to upgrade again soon.

Gentoo also has 5 and 6, and here's how to upgrade: https://wiki.gentoo.org/wiki/Upgrading_from_gcc-4.x_to_gcc-5.x

And looks like here also gcc version is given on command line, for example in crossdev command:
USE="openmp cxx -fortran" crossdev --target i686 --gcc 4.8.5 --libc 2.17


hokomoko (developer)

We've tried to set up a build bot with gcc but it was too complex to be worth it.


abma (administrator)

Last edited: 2017-10-15 16:20

View 3 revisions

spring_portage.zip contains hokomokos config files for his gentoo prefix build

"and in addition libunwind needs to be compiled without --enable-cxx-exceptions to allow static linking"


abma (administrator)

linux32 / linux64 seems to build for now:
-- gcc 5.4.0 detected

i guess boost needs to be installed for tests, the other stuff will work.

will (hopefuly) check tomorrow when builders are complete.


abma (administrator)

done for linux-x32 / linux-x64.

will soon also (re)add a buildslave for windows.


abma (administrator)

for now i cheated a bit and reenabled the old buildslave for the missing stuff (doxygen / source / win32): will upgrade them when there is need / time.


hokomoko (developer)

windows uses gcc 4.8 atm, so doesn't seem resolved

-Issue History
Date Modified Username Field Change
2016-07-06 23:51 hokomoko New Issue
2016-07-07 00:00 abma Note Added: 0016470
2016-07-07 11:37 lamer Note Added: 0016472
2016-07-07 11:52 abma Note Added: 0016473
2016-07-08 00:06 hokomoko Note Added: 0016478
2016-07-19 15:28 abma Target Version 103.0 => 104.0
2016-07-30 20:51 abma Note Added: 0016582
2016-11-01 03:22 abma Note Added: 0016833
2016-11-01 13:48 hokomoko Note Added: 0016834
2016-11-02 00:57 abma Note Added: 0016836
2016-11-02 09:12 hokomoko Note Added: 0016837
2016-11-02 09:33 abma Note Added: 0016838
2016-11-02 09:35 hokomoko Note Added: 0016839
2016-11-02 09:35 hokomoko Note Edited: 0016839 View Revisions
2016-11-17 12:00 abma Note Added: 0016873
2016-11-17 12:01 hokomoko Note Added: 0016874
2017-02-11 16:23 abma Relationship added related to 0005245
2017-02-11 16:23 abma Relationship added related to 0005467
2017-02-15 08:09 eemil@gmx.com Note Added: 0017333
2017-02-15 11:45 hokomoko Note Added: 0017334
2017-02-15 12:19 eemil@gmx.com Note Added: 0017335
2017-02-15 12:20 hokomoko Note Added: 0017336
2017-07-07 21:40 abma Target Version 104.0 =>
2017-10-15 16:12 abma File Added: spring_portage.zip
2017-10-15 16:18 abma Note Added: 0018514
2017-10-15 16:19 abma Note Edited: 0018514 View Revisions
2017-10-15 16:20 abma Note Edited: 0018514 View Revisions
2017-11-07 23:16 abma Relationship added related to 0005827
2018-04-23 17:37 abma Additional Information Updated View Revisions
2018-04-25 00:07 abma Note Added: 0019047
2018-04-25 20:21 abma Note Added: 0019048
2018-04-25 20:28 abma Assigned To => abma
2018-04-25 20:28 abma Status new => resolved
2018-04-25 20:28 abma Resolution open => fixed
2018-04-25 20:28 abma Note Added: 0019049
2018-04-25 20:36 hokomoko Note Added: 0019051
2018-04-26 19:25 abma Relationship added related to 0005966
2018-05-02 21:35 abma Relationship added related to 0005970
+Issue History