Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 914841 - dev-lang/julia-1.9.3: version bump
Summary: dev-lang/julia-1.9.3: version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Matthias Maier
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-27 14:52 UTC by Lorenzo Bertini
Modified: 2023-12-17 21:46 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
1.9.4 (requires 2 major changes). (julia-1.9.4-test.ebuild,5.28 KB, text/plain)
2023-12-15 20:31 UTC, Alexis Praga
Details
1.9.4.0 : compiles but do not install (julia-1.9.4.ebuild,5.55 KB, text/plain)
2023-12-16 20:41 UTC, Alexis Praga
Details
1.9.4 : build and install with new patch (julia-1.9.4.diff,6.75 KB, patch)
2023-12-16 21:14 UTC, Alexis Praga
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Lorenzo Bertini 2023-09-27 14:52:25 UTC
Dear maintainer,

latest stable release is 1.9.3, as stated here: https://julialang.org/downloads/

A version bump would be much appreciated. Thank you in advance, have a great day
Comment 1 Maciej Barć gentoo-dev 2023-10-02 17:27:50 UTC
I wonder if julia's lib lookup for ffi is still broken with that release.

See also: https://github.com/JuliaLang/julia/issues/49574
Comment 2 Alexis Praga 2023-12-15 20:30:40 UTC
Hi,

I've tried to make the ebuild for 1.9.0 works for 1.9.4. The 2 main issues I've encountered are:

1. When building their patched (?) version of LLVM, it wants to install into /usr/lib64/ocaml/llvm and install fails due to sandbox access violation:

  bindings/ocaml/cmake_install.cmake:47 (include)
  cmake_install.cmake:76 (include)

 * ACCESS DENIED:  unlink:             /usr/lib64/ocaml/llvm/llvm.mli
 * ACCESS DENIED:  open_wr:            /usr/lib64/ocaml/llvm/llvm.mli
 * ACCESS DENIED:  unlink:             /usr/lib64/ocaml/llvm/llvm.mli
 * ACCESS DENIED:  fopen_wr:           /usr/lib64/ocaml/llvm/llvm.mli
CMake Error at bindings/ocaml/llvm/cmake_install.cmake:54 (file):
  file INSTALL cannot copy file
 
To bypass this issue, I ran "make" into the work directory as I could not figure out to solve this.

2. In building lib/sys.i, it looks like it cannot find libjulia.so and libjulia-internal.so as it expects them to be in usr/lib64 but are actually in usr/lib.
I've created a symlink.

With those steps, I managed to get a binary (untested as I don't know to install it properly).

The ebuild is attached (openblas is now a dependency) if that can help.

Thanks,
Comment 3 Alexis Praga 2023-12-15 20:31:28 UTC
Created attachment 879507 [details]
1.9.4 (requires 2 major changes).
Comment 4 Maciej Barć gentoo-dev 2023-12-15 20:39:21 UTC
(In reply to Alexis Praga from comment #2)
> Hi,
> 
> I've tried to make the ebuild for 1.9.0 works for 1.9.4. The 2 main issues
> I've encountered are:
> 
> 1. When building their patched (?) version of LLVM, it wants to install into
> /usr/lib64/ocaml/llvm and install fails due to sandbox access violation:
> 
>   bindings/ocaml/cmake_install.cmake:47 (include)
>   cmake_install.cmake:76 (include)
> 
>  * ACCESS DENIED:  unlink:             /usr/lib64/ocaml/llvm/llvm.mli
>  * ACCESS DENIED:  open_wr:            /usr/lib64/ocaml/llvm/llvm.mli
>  * ACCESS DENIED:  unlink:             /usr/lib64/ocaml/llvm/llvm.mli
>  * ACCESS DENIED:  fopen_wr:           /usr/lib64/ocaml/llvm/llvm.mli
> CMake Error at bindings/ocaml/llvm/cmake_install.cmake:54 (file):
>   file INSTALL cannot copy file
>  

This might be caused by a very old LLVM issue that I had submitted PRs for.
See: https://github.com/JuliaLang/julia/pull/47862
Comment 5 Alexis Praga 2023-12-16 20:41:45 UTC
Created attachment 879652 [details]
1.9.4.0 : compiles but do not install
Comment 6 Alexis Praga 2023-12-16 21:14:52 UTC
Created attachment 879655 [details, diff]
1.9.4 : build and install with new patch
Comment 7 Alexis Praga 2023-12-16 21:16:04 UTC
Thanks for your help. Using your patch for ocaml and a symlink usr/lib64 -> usr/lib, julia compiles fine.

Installation fails due to string_replace on ${RELEASE_TARGET}, apparently due to string escaping so I've added a patch to fix that. 
I'm not sure if those fixes are up to the standard of Gentoo, nor why there are needed as the source code builds fine outside portage.

Neverthelesse, the final ebuild builds and install on amd64.
Comment 8 Maciej Barć gentoo-dev 2023-12-16 21:18:19 UTC
Alexis Praga, can you create PR on GitHub so it can be easier reviewed?
Comment 9 Alexis Praga 2023-12-16 21:50:20 UTC
The PR is available here for review : https://github.com/gentoo/gentoo/pull/34314 .
Thanks,