Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump CMake to 3.17 #2157

Merged
merged 3 commits into from
Apr 2, 2020
Merged

Bump CMake to 3.17 #2157

merged 3 commits into from
Apr 2, 2020

Conversation

davidrohr
Copy link
Contributor

No description provided.

@davidrohr davidrohr requested a review from a team as a code owner March 27, 2020 15:59
@ghost ghost requested a review from ktf March 27, 2020 15:59
@davidrohr
Copy link
Contributor Author

@ktf @MichaelLettrich : Could you check what is the problem with alidist_macOS? I have force-pushed once, and it still fails without providing an error log.
The new CMake is required for the TPC Raw Encoder (for some weird dependency reason related to CUDA and ROOT... My bug report was finally fixed in CMake 3.17).

@MichaelLettrich
Copy link
Contributor

The only thing I can see is that it is failing to build CMake on macOS. I will switch on debug output for alibuild and see what is going on.

cmake.sh Outdated
@@ -1,14 +1,14 @@
package: CMake
version: "%(tag_basename)s"
tag: "v3.16.3-alice2"
tag: "v3.17.0"
source: https://github.com/alisw/CMake
build_requires:
- "GCC-Toolchain:(?!osx)"
- make
prefer_system: "(?!osx)"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the bug is fixed in 3.17, then we can use system CMake if it is recent enough, right?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you remove the "(?!osx)" part at prefer_system? If 3.17 fixes the bug we should use the brew version instead of always building our own.

@davidrohr
Copy link
Contributor Author

ok, thx, but if the CMake build fails, why is the log empty?
System CMake 3.17 should be OK, but at the moment the prefer_system check is disabled for osx for CMake. Was there a reason for that?

@davidrohr
Copy link
Contributor Author

Actually, I am stupid.. The PR is actually wrong. There is no 3.17 in the alisw fork, we should use the upstream. Let me fix that. But I am wondering how it worked in the linux CI? It should have failed there!

@MichaelLettrich
Copy link
Contributor

I have no Idea why the log is empty. I think it is a "design" feature of the system that only the log of the tested package (in this case O2) is published - am I right @ktf ?

@davidrohr
Copy link
Contributor Author

OK, but that doesn't make sense. One should see the log for the package that failed.

@MichaelLettrich
Copy link
Contributor

Agree. I will discuss with @ktf as soon as we can. I think we need to make some improvements under the hood as empty logs keep devs in the dark...

@MichaelLettrich
Copy link
Contributor

95abf44bd/osx_x86-64/CMake/v3.17.0-1ake:2157: + export GIT_REFERENCE=/build/mirror/cmake
2020-03-29@11:59:02:DEBUG:O2Suite:CMake:2157: + GIT_REFERENCE=/build/mirror/cmake
2020-03-29@11:59:02:DEBUG:O2Suite:CMake:2157: + [[ ! https://gitlab.kitware.com/cmake/cmake == '' ]]
2020-03-29@11:59:02:DEBUG:O2Suite:CMake:2157: + [[ h != \/ ]]
2020-03-29@11:59:02:DEBUG:O2Suite:CMake:2157: + [[ ! -d /System/Volumes/Data/build/ci_checks/alidist_checker_macos_o2_ci_0/sw/SOURCES/CMake/v3.17.0/v3.17.0 ]]2:DEBUG:O2Suite:CMake:2157: + cd /System/Volumes/Data/build/ci_checks/alidist_checker_macos_o2_ci_0/sw/SOURCES/CMake/v3.17.0/v3.17.0@11:59:02:DEBUG:O2Suite:CMake:2157: + git checkout v3.17.0
2020-03-29@11:59:02:DEBUG:O2Suite:CMake:2157: error: pathspec 'v3.17.0' did not match any file(s) known to git

@davidrohr
Copy link
Contributor Author

ok, thx, probably the log was empty because it failed fetching the tag. Just pushed a new version, should be fixed now. Tried locally in alidock and on MacOS.

@MichaelLettrich
Copy link
Contributor

I still get the same error in the logs. Seems that alidist is not able to check out that repo for some reason

@davidrohr
Copy link
Contributor Author

Even with the latest commit? It works for me. Could you perhaps wipe the build area?

@MichaelLettrich
Copy link
Contributor

First of all I stand corrected: Empty logs are a result of the error happening outside of the build process of a package, for example if git can't check out the repository as in this case.

Secondly, I see that the package is checked out in the sources, i.e.
/build/ci_checks/alidist_checker_macos_o2_ci_0/sw/SOURCES/CMake/v3.17.0/v3.17.0 and is populated. I see that origin still points to https://github.com/alisw/CMake though where there obviously is no v3.17.0 tag ...
Wondering how aliBuild is dealing with the repository switch bc there is obviously only one source in the mirror we use. @ktf can you maybe give me an inside?

@davidrohr
Copy link
Contributor Author

Done, but I think it might still fail to build when the old nonexistent tag is checked out in the src dir.

@MichaelLettrich
Copy link
Contributor

Sure the system check was just another thing that was missing. AliBuild and switching between repos is yet another story. I wonder nevertheless why it behaves differently on linux. I hope that now we at least get the same results on both platforms.

@MichaelLettrich
Copy link
Contributor

@ktf @sawenzel Travis seems stuck

@davidrohr
Copy link
Contributor Author

Also the MacOS O2 CI is stuck since ~18 hours. Could you have a look?
It is kind of important to merge this rather soon, since it is needed for AliceO2Group/AliceO2#3244

@MichaelLettrich
Copy link
Contributor

Yes, the macOS CI was my bad. I quit the builder to do some debuging and forgot to restart it again 😓 its back in business.

@davidrohr
Copy link
Contributor Author

ok, thx, will it automatically pick up the stuck PRs without force-pushing?

@MichaelLettrich
Copy link
Contributor

no need to force-push, the build is in process.

@MichaelLettrich
Copy link
Contributor

@Barthelemy any ideas why qcg-latest is failing on macos?

@davidrohr
Copy link
Contributor Author

@Barthelemy @MichaelLettrich : I do not see how the MacOS failure here can be related to MacOS. I breaks in npm. I have saved the log if you need it. Force-pushing to try again.

@MichaelLettrich
Copy link
Contributor

@davidrohr The error occurs with other prs as well, see #2158 #2156

@awegrzyn
Copy link
Collaborator

It might be node-gyp confused between python 2 and 3. I'm rebuilding now to investigate.

@aphecetche
Copy link
Contributor

AFAIK this is a gyp issue. Last time I struggled with it the conclusion was that it was not python3 ready and so a python2 installation needs to be available, see OGUI-304. Don't know if this has changed since then ? Maybe @awegrzyn knows ?

@MichaelLettrich
Copy link
Contributor

@aphecetche the new macOS checkers were setup exclusively with python3. Searching the web told me that gyp is python3 ready since version 5.0.4

@awegrzyn
Copy link
Collaborator

Unfortunately, I'm not able to reproduce it, I can successfully compile it with Nodejs from aliBuild and brew.

@awegrzyn
Copy link
Collaborator

This is where node-gyp is failing: https://github.com/nodejs/node-gyp/blob/v5.0.5/gyp/pylib/gyp/mac_tool.py#L247

Even though I use NODE_GYP_FORCE_PYTHON to set /usr/bin/python3 this file runs with python 2.7 (I still have it in my system under /usr/bin/python) as on the top of this file there's:

#!/usr/bin/env python

but build machines set /usr/bin/python -> /usr/bin/python3 I guess this is the problem...

@awegrzyn
Copy link
Collaborator

We're using node-gyp@v5.0.5 and there's fix for this in node-gyp@v5.0.6.
This #2163 updates to NodeJS that uses node-gyp@v5.1.0 so it should fix the issue.

@davidrohr
Copy link
Contributor Author

@ktf @MichaelLettrich : Could you check the logs of the AliRoot/alidist CI? The log shown here is empty again. This morning, the AliRoot CI was already green, I just rebased after the python fix for the Mac CI and now it fails.

@MichaelLettrich
Copy link
Contributor

MichaelLettrich commented Mar 31, 2020

Looks like some git glitches on build/AliRoot/alidist - don't know what exactly makes this so unreliable...

++ hostname -s
+ DATA='prcheck,checkname=build/O2/alidist/1 host="alientest06",state="looping",cihash="af88634af0a544e7ba704baf0314301a495c1a80",uptime=38281,prid="2157",prok=1 1585604795000000000'ile:zPf5mNrrmt5GaLS@dbod-hltmon.cern.ch:8082/write?db=agile' --data-binary 'prcheck,checkname=build/O2/alidist/1 host="alientest06",state="looping",cihash="af88634af0a544e7ba704baf0314301a495c1a80",uptime=38281,prid="2157",prok=1 1585604795000000000'                     Dload  Upload   Total   Spent    Left  Speed
100   173    0     0  100   173      0   1157 --:--:-- --:--:-- --:--:--  1161
+ '[' -f config/workers-pool-size ']'
+ '[' -f config/worker-index ']'
+ '[' -f config/debug ']'
+ '[' -f config/profile ']'
+ '[' -f config/jobs ']'
+ '[' -f config/timeout ']'
+ '[' -f config/long-timeout ']'
+ '[' -f config/silent ']'
+ '[' '!' -f config/silent ']'
+ unset SILENT
+ '[' '!' -f config/debug ']'
+ unset DEBUG
+ '[' '!' -f config/profile ']'
+ unset PROFILE
+ aliBuild clean
++ find . -maxdepth 2 -name .git -exec dirname '{}' ';'
++ grep -v ali-bot
+ for d in '$(find . -maxdepth 2 -name .git -exec dirname {} \; | grep -v ali-bot)'
+ pushd ./alidist
++ git rev-parse --abbrev-ref HEAD
+ LOCAL_BRANCH=master
+ [[ master != HEAD ]]
+ git update-ref -d 'refs/remotes/origin/pr/*'
+ true
++ date -u +%s
+ [[ 8487 -gt 14400 ]]
+ timeout -s9 600 git fetch origin +master:refs/remotes/origin/master
+ git reset --hard origin/master
+ git clean -fxd
+ popd
+ for d in '$(find . -maxdepth 2 -name .git -exec dirname {} \; | grep -v ali-bot)'
+ pushd ./alibuild
++ git rev-parse --abbrev-ref HEAD
+ LOCAL_BRANCH=HEAD
+ [[ HEAD != HEAD ]]
+ popd
+ for d in '$(find . -maxdepth 2 -name .git -exec dirname {} \; | grep -v ali-bot)'
+ pushd ./O2
++ git rev-parse --abbrev-ref HEAD
+ LOCAL_BRANCH=dev
+ [[ dev != HEAD ]]
+ git update-ref -d 'refs/remotes/origin/pr/*'
error: unable to resolve reference refs/remotes/origin/pr/*: No such file or directory
+ true
++ date -u +%s
+ [[ 8488 -gt 14400 ]]
+ timeout -s9 600 git fetch origin +dev:refs/remotes/origin/dev
+ git reset --hard origin/dev
+ git clean -fxd
+ popd
+ find separate_logs/ -type f -mtime +5 -delete
+ find separate_logs/ -type d -empty -delete
+ [[ alisw/alidist != '' ]]
++ cat force-hashes
++ grep -vE '^#'
++ true
+ HASHES=
+ [[ ! -n '' ]]
++ timeout -s9 600 list-branch-pr --show-main-branch --check-name build/O2/alidist --trust-collaborators --trusted ktf,dberzano alisw/alidist@master --workers-pool-size 2 --worker-index 1 --max-wait 300

@MichaelLettrich
Copy link
Contributor

@ktf There seem to be some dns issues with build/O2/alidist-dataflow

Using cached build for CMake
Building CMake@v3.17.0
rsync: getaddrinfo: repo-ci.marathon.mesos 873: Name or service not known
rsync error: error in socket IO (code 10) at clientserver.c(125) [sender=3.1.2]
ERROR: Unable to upload tarball.
+ BUILD_ERROR=1
+ [[ 1 != '' ]]
+ timeout -s9 600 report-pr-errors --default master --no-comments --logs-dest s3://alice-build-logs.s3.cern.ch --log-url https://ali-ci.cern.ch/alice-build-logs/ --pr alisw/alidist#2157@724598dadc38bffaf78f395e2f4e7bbcfd86892f -s build/O2/alidist-dataflow
Searching all logs matching: sw/BUILD/*latest*/log, sw/BUILD/*latest/log
Found:

echo 'Builing on: '`hostname` >> copy-logs/alisw/alidist/2157/724598dadc38bffaf78f395e2f4e7bbcfd86892f/build_O2_alidist-dataflow/fullLog.txt

echo 'The following files are present in the log:' >> copy-logs/alisw/alidist/2157/724598dadc38bffaf78f395e2f4e7bbcfd86892f/build_O2_alidist-dataflow/fullLog.txt

@ktf
Copy link
Member

ktf commented Mar 31, 2020

Ok. Thank you for checking. I will investigate what is going on.

@davidrohr
Copy link
Contributor Author

@ktf : Do we understand what is the new problem with the CI? Both AliRoot and O2 mac OS CIs have been green in the meantime, but not at the same time. So in principle this PR should be fine. I am sorry I am pushing, but I need it for AliceO2Group/AliceO2#3244

@davidrohr
Copy link
Contributor Author

@ktf : Can we merge this? It is open since 6 days, and it is constantly blocked by randomly failing CI.
All of the CIs have been green in between in the mean time, just not at the same time.
And this is needed for some O2 PRs, which are ready to be merged.
In case it breaks something, I am online and available to fix it.

@ktf
Copy link
Member

ktf commented Apr 2, 2020

Sorry I missed this. @MichaelLettrich what's up with the mac builds?

@ktf ktf merged commit 25a243f into alisw:master Apr 2, 2020
preghenella pushed a commit to alicetof/alidist that referenced this pull request Apr 8, 2020
matthiasrichter added a commit to matthiasrichter/AliceO2 that referenced this pull request Apr 21, 2020
This follows recent change in alidist alisw/alidist#2157
matthiasrichter added a commit to AliceO2Group/AliceO2 that referenced this pull request Apr 21, 2020
This follows recent change in alidist alisw/alidist#2157
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants