2019-08-23 15:40 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005294Spring engineBuildbotpublic2018-05-02 21:35
Reporterhokomoko 
Assigned Toabma 
PrioritynormalSeverityfeatureReproducibilityhave not tried
StatusresolvedResolutionfixed 
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 lua Errors
Attached Files

-Relationships
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 0005970assignedabma update clang, source + doxygen builder, too 
+Relationships

-Notes

~0016470

abma (administrator)

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

https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html

so >= 5.1

~0016472

lamer (reporter)

If gcc5 then I'd prefer to target latest 5.4+ (atm), assuming the number of regressions and bugs was only reduced
https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.2
https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.3
https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=5.4

~0016473

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.

~0016478

hokomoko (developer)

5.4 seems like the best option then.

~0016582

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:

https://github.com/abma/springrts-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.

~0016833

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:
https://github.com/spring/springrts-vagrant

did you make any effort to compile for 32 bit?

~0016834

hokomoko (developer)

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

~0016836

abma (administrator)

why is an old version of libunwind installed?

first try of 32 bit:

https://github.com/spring/springrts-vagrant/commit/edfdc426e46c49ece3f6476b9991da9b0b87bd4c

:)

~0016837

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
https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-libs/libunwind/libunwind-1.0.1-r1.ebuild#n43

originally I've hacked the script
https://github.com/ashdnazg/springrts-vagrant/commit/eb7e8abae764ef3f46ea89d415ff1edf5f281042#diff-a7e549bd5ddb552b9475d07920846ef5R80

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:
https://lists.nongnu.org/archive/html/libunwind-devel/2009-03/msg00013.html

~0016838

abma (administrator)

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

maybe reordering linking flags can fix the error:

https://lists.nongnu.org/archive/html/libunwind-devel/2008-02/msg00019.html

~0016839

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.

~0016873

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 :)

~0016874

hokomoko (developer)

Amazing job!

~0017333

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.

~0017334

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

~0017335

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
https://springrts.com/wiki/Buildbot:Gentoo

~0017336

hokomoko (developer)

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

~0018514

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"

~0019047

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.

~0019048

abma (administrator)

done for linux-x32 / linux-x64.

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

~0019049

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.

~0019051

hokomoko (developer)

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

-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