Page MenuHomeWildfire Games

Update linux CI to GCC7
ClosedPublic

Authored by wraitii on Nov 22 2020, 12:14 PM.

Details

Summary

This is the diff of required changes to update the linux CI to GCC7. Note that the actual update needs to be done rather manually.

The main change is that the gcc7 docker image is built on top of a base-image, which makes it faster to add different compilers if wanted (I have not done so at the moment, as we test clang on macOs and that seems enough).
I've pre-emptively added libfmt to the docker image (and vim because it's annoying to not have a text editor when testing things out).

Test Plan

Review the changes.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

wraitii created this revision.Nov 22 2020, 12:14 PM
Owners added a subscriber: Restricted Owners Package.Nov 22 2020, 12:15 PM

Successful build - Chance fights ever on the side of the prudent.

builderr-release-macos.txt
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libengine.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgraphics.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libatlas.a(precompiled.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgui.a(precompiled.o) has no symbols

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/2075/display/redirect

wraitii requested review of this revision.Nov 22 2020, 1:43 PM
Stan added a subscriber: Stan.Nov 22 2020, 2:25 PM
Stan added inline comments.
build/jenkins/dockerfiles/builder-base.Dockerfile
2 ↗(On Diff #14141)

Why not use the https://hub.docker.com/_/gcc images ?

build/jenkins/pipelines/docker-reset.Jenkinsfile
52 ↗(On Diff #14141)

clang is still wip

Nescio added a subscriber: Nescio.Nov 22 2020, 5:01 PM

Why not go to gcc10?
Also, the list is not exactly the same as the one listed on https://trac.wildfiregames.com/wiki/BuildInstructions#DebianUbuntu ?

build/jenkins/dockerfiles/builder-base.Dockerfile
24–33 ↗(On Diff #14141)

libpython-dev, python, and python3; are all three needed?

Stan added a comment.Nov 22 2020, 5:26 PM

Because we need to support the minimum version. Ideally there would also be one on very latest.

wraitii added inline comments.Nov 24 2020, 12:00 PM
build/jenkins/dockerfiles/builder-base.Dockerfile
2 ↗(On Diff #14141)

Not obviously better, and there's less control on what the image actually is.

Stan added inline comments.Dec 2 2020, 8:56 AM
build/jenkins/dockerfiles/builder-base.Dockerfile
29 ↗(On Diff #14141)

Don't need this anymore.

wraitii updated this revision to Diff 14451.Dec 7 2020, 3:20 PM

Complete update after SM78

Vulcan added a comment.Dec 7 2020, 3:58 PM

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/2315/display/redirect

Nescio added inline comments.Dec 7 2020, 9:33 PM
build/jenkins/dockerfiles/build-base.Dockerfile
14 ↗(On Diff #14451)

The summary says “GCC7”; why is clang needed then?

35 ↗(On Diff #14451)

And llvm?

Stan added inline comments.Dec 8 2020, 6:30 PM
build/jenkins/dockerfiles/build-base.Dockerfile
43 ↗(On Diff #14451)

+mkdocs

49 ↗(On Diff #14451)

Why not use the packages ?

wraitii added inline comments.Mar 23 2021, 2:18 PM
build/jenkins/dockerfiles/build-base.Dockerfile
49 ↗(On Diff #14451)

One reason is that the debian does not have latest rust, which can be annoying. I don't have a very strong argument otherwise :p

wraitii updated this revision to Diff 16681.Mar 23 2021, 2:56 PM

Change this into more of a general update. Merging soon.

Successful build - Chance fights ever on the side of the prudent.

Debug: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Release: 
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/4785/display/redirect

Build failure - The Moirai have given mortals hearts that can endure.

builderr-debug-macos.txt
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/osx/wxwidgets/lib/wx/include/osx_cocoa-unicode-static-3.0/wx/setup.h' has been modified since the precompiled header 'obj/AtlasUI_Debug/precompiled.h.gch' was built
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/osx/wxwidgets/lib/wx/include/osx_cocoa-unicode-static-3.0/wx/setup.h' has been modified since the precompiled header 'obj/AtlasUI_Debug/precompiled.h.gch' was built
notenote: : please rebuild precompiled header 'obj/AtlasUI_Debug/precompiled.h.gch'
please rebuild precompiled header 'obj/AtlasUI_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/osx/wxwidgets/lib/wx/include/osx_cocoa-unicode-static-3.0/wx/setup.h' has been modified since the precompiled header 'obj/AtlasUI_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/AtlasUI_Debug/precompiled.h.gch'
fatal error: file '/Users/wfg/Jenkins/workspace/macos-differential/build/workspaces/gcc/../../../libraries/osx/wxwidgets/lib/wx/include/osx_cocoa-unicode-static-3.0/wx/setup.h' has been modified since the precompiled header 'obj/AtlasUI_Debug/precompiled.h.gch' was built
note: please rebuild precompiled header 'obj/AtlasUI_Debug/precompiled.h.gch'
1 error generated.
1 error generated.
make[1]: *** [obj/AtlasUI_Debug/PropListEditor.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [obj/AtlasUI_Debug/AnimListEditor.o] Error 1
1 error generated.
make[1]: *** [obj/AtlasUI_Debug/ActorEditorListCtrl.o] Error 1
1 error generated.
make[1]: *** [obj/AtlasUI_Debug/ActorEditor.o] Error 1
make: *** [AtlasUI] Error 2

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/3688/display/redirect

This revision was not accepted when it landed; it landed in state Needs Review.Mar 28 2021, 3:03 PM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.