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

Fixes and improvements for source builds #51422

Merged
merged 3 commits into from
Sep 23, 2023
Merged

Conversation

maleadt
Copy link
Member

@maleadt maleadt commented Sep 22, 2023

  • A GMP patch was malformed; copy the corrected version from Yggdrasil
  • Always invoke patch with -f to avoid interactive prompts during build
  • Don't quote the path to python, or nghttp2's configure script fails with error: Python interpreter is too old (but config.log reveals "/usr/bin/python": No such file or directory)

@maleadt maleadt added the domain:building Build system, or building Julia or its dependencies label Sep 22, 2023
@maleadt maleadt changed the title GMP: Fix malformed patch. GMP: Fix malformed patch; Force non-interactive application. Sep 22, 2023
@maleadt maleadt changed the title GMP: Fix malformed patch; Force non-interactive application. Fixes and improvements for source builds Sep 22, 2023
@maleadt
Copy link
Member Author

maleadt commented Sep 22, 2023

What remains when building with USE_BINARYBUILDER:=0, is that every time you do make there's' a warning about the uninstallers:

❯ make
WARNING: using mismatched version for csl:
  want
  To resolve this warning, you could try either of the following suggestions:
  1. Run the following command: make -C deps uninstall
  2. Remove the following directory: /home/tim/Julia/src/julia/usr
WARNING: using mismatched version for lld:
  want
  To resolve this warning, you could try either of the following suggestions:
  1. Run the following command: make -C deps uninstall
  2. Remove the following directory: /home/tim/Julia/src/julia/usr
removed './bin/7z'

Not pretty, but not fatal either. Maybe @vtjnash has a suggestion on how to avoid this.

@maleadt maleadt merged commit 5d44a37 into master Sep 23, 2023
9 checks passed
@maleadt maleadt deleted the tb/gmp_malformed_patch branch September 23, 2023 09:19
@nickrobinson251
Copy link
Contributor

thanks for fixing this! Can we back-port this to the backports-release-1.10 branch please?

@maleadt maleadt added the backport 1.10 Change should be backported to the 1.10 release label Sep 24, 2023
Drvi pushed a commit to Drvi/julia that referenced this pull request Sep 25, 2023
- A GMP patch was malformed; copy the corrected version from Yggdrasil
- Always invoke `patch` with `-f` to avoid interactive prompts during
build
- Don't quote the path to `python`, or nghttp2's configure script fails
with `error: Python interpreter is too old` (but `config.log` reveals
`"/usr/bin/python": No such file or directory`)

(cherry picked from commit 5d44a37)
KristofferC pushed a commit that referenced this pull request Sep 25, 2023
This backports `Fixes and improvements for source builds (#51422)` PR to
the `backports-release-1.10` branch to make it buildable without binary
builder (we are monitoring that branch in our CI to make sure we are up
to date with the upcoming 1.10 release).

Co-authored-by: Tim Besard <[email protected]>
@KristofferC KristofferC mentioned this pull request Oct 3, 2023
31 tasks
@KristofferC KristofferC removed the backport 1.10 Change should be backported to the 1.10 release label Oct 12, 2023
nalimilan pushed a commit that referenced this pull request Nov 5, 2023
This backports `Fixes and improvements for source builds (#51422)` PR to
the `backports-release-1.10` branch to make it buildable without binary
builder (we are monitoring that branch in our CI to make sure we are up
to date with the upcoming 1.10 release).

Co-authored-by: Tim Besard <[email protected]>
@@ -1190,7 +1190,7 @@ endif

# We need python for things like BB triplet recognition. We don't really care
# about version, generally, so just find something that works:
PYTHON := "$(shell which python 2>/dev/null || which python3 2>/dev/null || which python2 2>/dev/null || echo not found)"
PYTHON := $(shell which python 2>/dev/null || which python3 2>/dev/null || which python2 2>/dev/null || echo not found)
Copy link
Sponsor Member

Choose a reason for hiding this comment

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

This broke things on cygwin:

$ make print-PYTHONmake: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory/home/Administrator/julia/Make.inc:1220: normalize_triplet.py appears to be non-functional 
(used python interpreter "/cygdrive/c/Program Files/Python38/python"), so BinaryBuilder disabled
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
/bin/sh: /cygdrive/c/Program: No such file or directory
PYTHON=/cygdrive/c/Program Files/Python38/python

To make things weirder we define this code twice:
First here

julia/Make.inc

Line 120 in 1524466

PYTHON := "$(shell which python 2>/dev/null || which python3 2>/dev/null || which python2 2>/dev/null || echo "{python|python3|python2} not found")"
where we still wrap it in "

cc: @staticfloat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:building Build system, or building Julia or its dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants