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

The contrib/refresh_checksums.mk script does not create or update the checksums for the libunwind-1.3.2.tar.gz file #42619

Closed
DilumAluthge opened this issue Oct 13, 2021 · 3 comments
Labels
building Build system, or building Julia or its dependencies external dependencies Involves LLVM, OpenBLAS, or other linked libraries

Comments

@DilumAluthge
Copy link
Member

DilumAluthge commented Oct 13, 2021

See also #42592


When running make USE_BINARYBUILDER=0 on Buildkite, I get the following error, caused by the fact that some checksums are missing for the libunwind-1.3.2.tar.gz file.

Check that the working directory is clean
ERROR: The working directory is dirty.
Output of git status:
HEAD detached at a8ec081d918
Untracked files:
  (use "git add <file>..." to include in what will be committed)
 
	deps/checksums/libunwind-1.3.2.tar.gz/
 
nothing added to commit but untracked files present (use "git add" to track)
🚨 Error: The command exited with status 1

Full log: https://buildkite.com/julialang/julia-master-scheduled/builds/279#7455b03b-ccf5-447f-be07-61a6fa280e09

@DilumAluthge
Copy link
Member Author

@staticfloat @vtjnash How can I add the necessary checksums? I tried running both of the following commands, but neither command added the checksums that I need.

make -f contrib/refresh_checksums.mk unwind
make -f contrib/refresh_checksums.mk llvmunwind

@DilumAluthge DilumAluthge added building Build system, or building Julia or its dependencies external dependencies Involves LLVM, OpenBLAS, or other linked libraries labels Oct 13, 2021
@DilumAluthge
Copy link
Member Author

Is there a way that I can get contrib/refresh_checksums.mk to use the USE_BINARYBUILDER=0 make flag?

I tried make -f contrib/refresh_checksums.mk unwind USE_BINARYBUILDER=0, but when I look at the output, it is still passing the USE_BINARYBUILDER=1 make flag.

@DilumAluthge DilumAluthge changed the title [deps] When building Julia with USE_BINARYBUILDER=0, checksums are missing for the libunwind-1.3.2.tar.gz file The contrib/refresh_checksums.mk script does not create or update the checksums for the libunwind-1.3.2.tar.gz file Oct 13, 2021
@staticfloat
Copy link
Member

refresh_checksums.mk already has a provision for USE_BINARYBUILDER=0, it's the src targets, which is set for all BB_PROJECTS, of which unwind is a member.

If you run:

$ make -f contrib/refresh_checksums.mk unwind
make -s -C "/home/sabae/src/julia/deps" USE_BINARYBUILDER=0 FC_VERSION=7.0.0 UNWIND_BB_TRIPLET= LLVM_ASSERTIONS=0 DEPS_GIT=0 checksum-unwind
make[1]: *** No rule to make target 'checksum-unwind'.  Stop.
make: [contrib/refresh_checksums.mk:71: checksum-unwind-src-] Error 2 (ignored)
make -s -C "/home/sabae/src/julia/deps" USE_BINARYBUILDER=1  UNWIND_BB_TRIPLET=aarch64-apple-darwin LLVM_ASSERTIONS=0 DEPS_GIT=0 checksum-unwind
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   480  100   480    0     0   1467      0 --:--:-- --:--:-- --:--:--  1463
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 
make[1]: *** [/home/sabae/src/julia/deps/unwind.mk:127: /home/sabae/src/julia/deps/srccache/LibUnwind.v1.3.2+4.aarch64-apple-darwin.tar.gz] Error 22
make: [contrib/refresh_checksums.mk:74: checksum-unwind-aarch64-apple-darwin-] Error 2 (ignored)
make -s -C "/home/sabae/src/julia/deps" USE_BINARYBUILDER=1  UNWIND_BB_TRIPLET=aarch64-linux-gnu LLVM_ASSERTIONS=0 DEPS_GIT=0 checksum-unwind
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   498  100   498    0     0   1016      0 --:--:-- --:--:-- --:--:--  1016
100 1158k  100 1158k    0     0   798k      0  0:00:01  0:00:01 --:--:--  117M
make -s -C "/home/sabae/src/julia/deps" USE_BINARYBUILDER=1  UNWIND_BB_TRIPLET=aarch64-linux-musl LLVM_ASSERTIONS=0 DEPS_GIT=0 checksum-unwind
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   500  100   500    0     0    877      0 --:--:-- --:--:-- --:--:--   877
100 1151k  100 1151k    0     0   720k      0  0:00:01  0:00:01 --:--:-- 1136k
make -s -C "/home/sabae/src/julia/deps" USE_BINARYBUILDER=1  UNWIND_BB_TRIPLET=armv6l-linux-gnueabihf LLVM_ASSERTIONS=0 DEPS_GIT=0 checksum-unwind
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   508  100   508    0     0    969      0 --:--:-- --:--:-- --:--:--   969
100 1011k  100 1011k    0     0   688k      0  0:00:01  0:00:01 --:--:-- 1168k

You see that it actually runs the USE_BINARYBUILDER=0, but it fails out because when USE_BINARYBUILDER=0 is set, apparently checksum-unwind is not defined, whereas it is when USE_BINARYBUILDER=1. Why doesn't the overall command fail? Because we allow failures of these steps because of the second attempt, where we blindly try to download unwind for a triplet that it's not supported for. What a beautiful little microcosm of build system agony.

So the solution here is to just fix the name of the from-source checksumming target: #42630

@vtjnash vtjnash closed this as completed Oct 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building Build system, or building Julia or its dependencies external dependencies Involves LLVM, OpenBLAS, or other linked libraries
Projects
None yet
Development

No branches or pull requests

3 participants