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

julia 1.11.0-rc4 #192116

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

julia 1.11.0-rc4 #192116

wants to merge 1 commit into from

Conversation

cho-m
Copy link
Member

@cho-m cho-m commented Sep 27, 2024

  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

Potentially the final RC - https://github.com/JuliaLang/julia/milestone/46

@cho-m cho-m added pre-release Artifact is pre-release prerelease-testing Pull request from upstream, testing a pre-release with homebrew dependencies sequoia-bottling labels Sep 27, 2024
@github-actions github-actions bot added the automerge-skip `brew pr-automerge` will skip this pull request label Sep 27, 2024
Formula/j/julia.rb Outdated Show resolved Hide resolved
@cho-m cho-m added the CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. label Sep 27, 2024
@carlocab
Copy link
Member

Test failure is

  [ Info: Writing test result data to /opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/test
  ERROR: LoadError: SystemError: opening file "/opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/test/results_1.json": Operation not permitted

We should probably find a way to convince this to write inside testpath instead.

@cho-m
Copy link
Member Author

cho-m commented Sep 30, 2024

Test failure is

  [ Info: Writing test result data to /opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/test
  ERROR: LoadError: SystemError: opening file "/opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/test/results_1.json": Operation not permitted

We should probably find a way to convince this to write inside testpath instead.

Can probably try deleting CI variable https://github.com/JuliaLang/julia/blob/v1.11.0-rc4/test/runtests.jl#L431-L434

    if Base.get_bool_env("CI", false)
        @info "Writing test result data to $(@__DIR__)"
        write_testset_json_files(@__DIR__, o_ts)
    end

@cho-m
Copy link
Member Author

cho-m commented Oct 1, 2024

After that fix, the next part of test failed. Not sure what it is trying with the curl library

  ==> /opt/homebrew/Cellar/julia/1.11.0-rc4/bin/julia --startup-file=no --history-file=no --project=/private/tmp/julia-test-20240930-63939-4x5a9o --procs 4 --eval using Pkg; Pkg.add("Example")
    Installing known registries into `~/.julia`
         Added `General` registry to ~/.julia/registries
      Updating registry at `~/.julia/registries/General.toml`
     Resolving package versions...
     Installed Example ─ v0.5.5
      Updating `~/Project.toml`
    [7876af07] + Example v0.5.5
      Updating `~/Manifest.toml`
    [7876af07] + Example v0.5.5
  Precompiling project...
      320.4 ms  ✓ Example
    1 dependency successfully precompiled in 0 seconds
  ┌ Error: curl_multi_assign: 1
  └ @ Downloads.Curl /opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/stdlib/v1.11/Downloads/src/Curl/utils.jl:57
  ┌ Error: curl_multi_assign: 1
  └ @ Downloads.Curl /opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/stdlib/v1.11/Downloads/src/Curl/utils.jl:57
  ┌ Error: curl_multi_assign: 1
  └ @ Downloads.Curl /opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/stdlib/v1.11/Downloads/src/Curl/utils.jl:57
  
  [64007] signal 11 (2): Segmentation fault: 11
  in expression starting at none:0
  curl_multi_socket_action at /opt/homebrew/Cellar/curl/8.10.1/lib/libcurl.4.dylib (unknown line)
  curl_multi_socket_action at /opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/stdlib/v1.11/Downloads/src/Curl/Curl.jl:51 [inlined]
  curl_multi_socket_action at /opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/stdlib/v1.11/Downloads/src/Curl/Curl.jl:59 [inlined]
  macro expansion at /opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/stdlib/v1.11/Downloads/src/Curl/utils.jl:56 [inlined]
  #55 at /opt/homebrew/Cellar/julia/1.11.0-rc4/share/julia/stdlib/v1.11/Downloads/src/Curl/Multi.jl:190

@carlocab
Copy link
Member

carlocab commented Oct 1, 2024

Could just skip it, maybe, as long as Pkg.add below works.

@cho-m
Copy link
Member Author

cho-m commented Oct 1, 2024

Bit worried about segfault.


Also, looks like release is soon - JuliaLang/julia#55953

@cho-m
Copy link
Member Author

cho-m commented Oct 1, 2024

Looks like we did report an issue when bumping curl - JuliaLang/Downloads.jl#260

Formula/j/julia.rb Outdated Show resolved Hide resolved
@cho-m
Copy link
Member Author

cho-m commented Oct 2, 2024

Getting closer. ARM macOS passes. Intel macOS doesn't seem to be picking up bundled curl.

@cho-m cho-m force-pushed the julia-1.11.0 branch 3 times, most recently from 4cf0a13 to 133931a Compare October 2, 2024 17:31
@cho-m
Copy link
Member Author

cho-m commented Oct 2, 2024

Tried switching to smaller testcase which should have cut down time by ~1min:

    Overall     | 7353890       4  7353894  1m07.4s

vs

    Overall     | 1765       1   1766  12.5s

However, full test is still going beyond 5min limit.

The startup time of Base.runtests is slow so can skip that entirely like we were previously doing for Monterey. The alternative would be increasing test time in brew for intel runners.

julia: update inreplace

Co-authored-by: Carlo Cabrera <[email protected]>
Keno pushed a commit to JuliaLang/julia that referenced this pull request Oct 3, 2024
While building the 1.11.0-rc4 in Homebrew[^1] in preparation for 1.11.0
release (and to confirm Sequoia successfully builds) I noticed some odd
linkage for our Linux builds, which included of:

1. LLVM libraries were linking to `libedit.so`, e.g.
    ```
    Dynamic Section:
      NEEDED       libedit.so.0
      NEEDED       libz.so.1
      NEEDED       libzstd.so.1
      NEEDED       libstdc++.so.6
      NEEDED       libm.so.6
      NEEDED       libgcc_s.so.1
      NEEDED       libc.so.6
      NEEDED       ld-linux-x86-64.so.2
      SONAME       libLLVM-16jl.so
    ```
    CMakeCache.txt showed
    ```
    //Use libedit if available.
    LLVM_ENABLE_LIBEDIT:BOOL=ON
    ```
Which might be overriding `HAVE_LIBEDIT` at
https://github.com/JuliaLang/llvm-project/blob/julia-release/16.x/llvm/cmake/config-ix.cmake#L222-L225.
So just added `LLVM_ENABLE_LIBEDIT`

2. Wasn't sure if there was a reason for this but `libccalllazy*` had
mismatched SONAME:
    ```console
    ❯ objdump -p lib/julia/libccalllazy* | rg '\.so'
    lib/julia/libccalllazybar.so:	file format elf64-x86-64
      NEEDED       ccalllazyfoo.so
      SONAME       ccalllazybar.so
    lib/julia/libccalllazyfoo.so:	file format elf64-x86-64
      SONAME       ccalllazyfoo.so
    ```
    Modifying this, but can drop if intentional.

---

[^1]: Homebrew/homebrew-core#192116
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge-skip `brew pr-automerge` will skip this pull request CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. pre-release Artifact is pre-release prerelease-testing Pull request from upstream, testing a pre-release with homebrew dependencies sequoia-bottling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants