Skip to content

Conversation

@KristofferC
Copy link
Member

KristofferC and others added 4 commits November 24, 2025 15:15
…e now stdlibs (#60061)

This helps handling manifest from earlier julia versions. This is kind
of the `locate` version of the `identify` fallback in
#56148.

Need to write a test when this happens (and verify that this fix works).

Noted in a slack #gripes comment.

---------

Co-authored-by: KristofferC <kristoffer.carlsson@juliacomputing.com>
Co-authored-by: Max Horn <max@quendi.de>
(cherry picked from commit 6fddac8)
When starting julia, `Base.Filesystem.TEMP_CLEANUP` should be empty,
but is being left with these two files. The proposed fix is to set up
temporary files created by function `generate_precompile_statements` in
`contrib/generate_precompile.jl` to have no automatic cleanup. This
won't do harm since they will be removed by the cleanup of the
temporary directory created by the call to `mktempdir` in function
`generate_precompile_statements` (see the call `rm(tmpdir,
recursive=true)` in `base/file.jl`). These should be removed by the
atexit hook, but we didn't run `Base.__init__` or
`Base.Filesystem.__postinit__` hooks to re-register this cleanup
handler in the sys.so generation process (only in sysbase.so).

To test this issue, one can do:
`$ mkdir $TMPDIR/JuliaBuild`
`$ OLDTMPDIR=$TMPDIR`
`$ export TMPDIR=$TMPDIR/JuliaBuild`
`$ cd <julia's build root>`
`$ <build julia>`
`$ strings usr/lib/julia/sys.dylib|less # shows that the temp. dir.
JuliaBuild is hardcoded in the binaries`
`$ TMPDIR=$OLDTMPDIR`
`$ chmod u-x $TMPDIR/JuliaBuild`
`$ <run the built julia with ./julia and exit> # should try to use
$TMPDIR/JuliaBuild which is now inaccessible`

Without the fix, the last step triggers the infinite loop of ``Failed to
clean up temporary path''. With the fix, one can see that the binaries
(`usr/lib/julia/sys.dylib`) do not contain the temp. dir. anymore, and
the infinite loop of errors is not triggered.

Or simply by observing that `./julia -E 'Base.Filesystem.TEMP_CLEANUP'`
is not empty.

Fix #60078

(cherry picked from commit 1eea4b6)
…60171)

This adds a single-use autoinit trampoline for multiversioning-aliased functions.

"First call" sequence: trampoline -> autoinit trampoline -> arch-specific call
Subsequent calls: trampoline -> arch-specific call

(cherry picked from commit b1afe03)
Resolves #50351 albeit with a bit of a hack.

I deliberately left "The Julia REPL" alone (so it is still sorted under
"REPL") as that felt more natural to me compared to sorting it under
"Julia" but obviously this could easily be changed as well.

(cherry picked from commit 9af9b15)
@fingolfin
Copy link
Member

Should this PR be renamed to something indicating this is a general backport PR?

@KristofferC KristofferC changed the title allow finding stdlibs that are normal packages in the manifest but ar… Backports for 1.12.2 Nov 24, 2025
@KristofferC
Copy link
Member Author

Thanks, sometimes it auto populate the title with the first commit or something and I didn't notice.

@p-r-o-g
Copy link

p-r-o-g commented Nov 24, 2025

But for 1.12.3, right?

@giordano giordano changed the title Backports for 1.12.2 Backports for 1.12.3 Nov 25, 2025
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.

6 participants