Skip to content
This repository has been archived by the owner on Feb 25, 2024. It is now read-only.

Upgrade cmake on all buildbots #54

Closed
staticfloat opened this issue Sep 17, 2016 · 37 comments
Closed

Upgrade cmake on all buildbots #54

staticfloat opened this issue Sep 17, 2016 · 37 comments

Comments

@staticfloat
Copy link
Member

Once 0.5.0 is out the door, upgrade cmake on all the buildbots to at least 3.4.3. This script, newly updated, should work just fine.

Note; do NOT upgrade mingw cross-compilers to 5.4, we need to keep those held back to 4.9 until we have a solution for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77333

@tkelman
Copy link
Contributor

tkelman commented Sep 18, 2016

Can we upgrade cmake just on power for now, so JuliaLang/julia#18557 can be merged? Since the power buildbot is so new it's not a huge deal if the power build of an upcoming release gets delayed a tiny bit.

@staticfloat
Copy link
Member Author

staticfloat commented Sep 19, 2016

Should be done. Feel free to try it out. Done via:

$ ansible-playbook -i ./hosts -v cmake_install.yml -l buildslave_centos7.2-ppc64le

@tkelman
Copy link
Contributor

tkelman commented Sep 20, 2016

@staticfloat
Copy link
Member Author

Needed to shuffle around the PATH priorities in .bash_profile. Restarted as https://build.julialang.org/builders/package_tarballppc64le/builds/89

@tkelman
Copy link
Contributor

tkelman commented Sep 20, 2016

did that also result in a different compiler getting used? missing glibcxx version symbols?

@staticfloat
Copy link
Member Author

Yes it did! Apparently we weren't using the GCC 6.2 that I custom built on there before now. I'll just nuke and restart.

@staticfloat
Copy link
Member Author

@tkelman
Copy link
Contributor

tkelman commented Sep 20, 2016

oh you had done a gcc build there? didn't realize. this is a system we share with people right? so not feasible to run on some older centos 6 (if that works on power)? do we have permissions to run in a vm? might be a little slower but it's already our fastest buildbot

@staticfloat
Copy link
Member Author

I don't think we have any virtualization software installed. Would Docker be enough?

@tkelman
Copy link
Contributor

tkelman commented Sep 20, 2016

yes, if that works on power. then we'd need to port your ansible scripts to dockerfiles which I'd kind of prefer myself, at least for linux

@tkelman
Copy link
Contributor

tkelman commented Sep 20, 2016

or install ansible in the docker image I suppose

@staticfloat
Copy link
Member Author

The ansible scripts have the advantage of being the same across all platforms, I'd kind of like to not split the configuration.

@tkelman
Copy link
Contributor

tkelman commented Sep 21, 2016

Looks like it's missing one of the environment variables or make flags that we had to be careful about, to point at the right libstdc++ from the built gcc?

@staticfloat
Copy link
Member Author

Fixed via

PATH=$HOME/local/bin:$HOME/bin:$PATH
LD_LIBRARY_PATH=$HOME/local/lib64:$HOME/local/lib:$LD_LIBRARY_PATH

export PATH
export LD_LIBRARY_PATH

In ~/.bash_profile. Silly me for forgetting. New build going through here.

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

This will need doing on the centos 5 intel buildbots before we can merge JuliaLang/julia#19123 JuliaLang/julia#19678

@staticfloat
Copy link
Member Author

Done, let's go ahead and test it.

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

windows buildbots need this too, they're on the 3.3 cygwin package - be very careful if you upgrade this through cygwin setup though, need to manually switch to "keep" on all the mingw cross compilers to stay at 4.9

Note; do NOT upgrade mingw cross-compilers to 5.4, we need to keep those held back to 4.9

@staticfloat
Copy link
Member Author

Note; do NOT upgrade mingw cross-compilers to 5.4, we need to keep those held back to 4.9

Thanks for reminding me of that, I do not remember writing that, and would have thought it was a good idea to upgrade everything. :P Windows buildslaves are updated as well now.

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

I think something's broken about the cmake you just installed, it doesn't run cmake --version. And I'm having trouble finding where the buildbot clone lives to get 22eb073 to take effect

@staticfloat
Copy link
Member Author

I did notice that myself, but I seemed to remember something about windows cmake acting very strangely. The buildbot instance on ubuntu@build.julialang.org, in ~/buildbot. I've reloaded it.

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

"very strangely" doesn't usually involve exit status of 127. How did you install it? Adding cygwin gdb might be useful for this.

@staticfloat
Copy link
Member Author

I installed it through the cygwin setup, selecting keep for everything except cmake and cmake dependencies. I'll add gdb.

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

oh, should allow the other stuff like the cygwin dll etc to get upgraded, the cross-compilers should be the only thing you need to hold back

@staticfloat
Copy link
Member Author

Looks like it needed a reboot. cmake is much happier now and everything non-mingw is upgraded:

$ cmake --version
cmake version 3.6.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

Ah, maybe the buildbot process or something was keeping some old library loaded. Something is still a bit flaky, jobs are pending for way longer than they should be...

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

The win32 builder is going to need another shutdown, reboot, and rebaseall of all cygwin processes, buildbot was dying in fork failures. Once that's back up I think we can call this closed.

@staticfloat
Copy link
Member Author

staticfloat commented Dec 22, 2016 via email

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

@staticfloat
Copy link
Member Author

staticfloat commented Dec 22, 2016

For future reference, rebasing, enabling ASLR on all cygwin executables, and removing/recreating the python virtualenv and restarting seems to have done the trick.

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

You forgot to not upgrade the cross compiler. Need to use cygwin time machine to downgrade back to 4.9

@staticfloat
Copy link
Member Author

staticfloat commented Dec 22, 2016 via email

@tkelman
Copy link
Contributor

tkelman commented Dec 22, 2016

if you still have the downloads locally, it's possible to manually modify the setup.ini listing and use a local copy to act like 4.9.2 is the latest version, from your local files. if you don't have them locally, I can put my copy somewhere along with a setup.ini that I had used.

@staticfloat
Copy link
Member Author

Yes, looks like I still have the old files cached locally. What do I need to do with my setup.ini file?

@tkelman
Copy link
Contributor

tkelman commented Dec 23, 2016

IIRC, change the version numbers and checksums for the mingw packages to match 4.9.2 instead of 5.4

@tkelman
Copy link
Contributor

tkelman commented Dec 23, 2016

cygwin makes everything a bit of an ordeal, but calling this done now. thanks!

@tkelman tkelman closed this as completed Dec 23, 2016
@tkelman
Copy link
Contributor

tkelman commented Dec 29, 2016

I attempted to run the ansible script on buildslave_centos7.1-x64 (which we missed), but didn't succeed - ERROR: become is not a legal parameter in an Ansible Playbook. Could you run that?

@staticfloat
Copy link
Member Author

staticfloat commented Dec 29, 2016 via email

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants