You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add CROSS_BOOTSTRAP_JULIA option for building the sysimg with another Julia (#59033)
Adds makefile variables called `CROSS_BOOTSTRAP_JULIA` and
`CROSS_BOOTSTRAP_SYSBASE` that control the Julia executable and `sysbase.so`
used to build `sys.so`. This is really useful for building a
ThreadSanitizer-enabled version of Julia in a reasonable amount of time. It is
used like this:
```
make O=bootstrap julia-src-release julia-sysbase-release
make CROSS_BOOTSTRAP_JULIA=bootstrap/usr/bin/julia CROSS_BOOTSTRAP_SYSBASE=bootstrap/usr/lib/julia/sysbase.so julia-src-release julia-sysimg-release
```
This also adds a faster way to create a debug build of Julia (documented in the
devdocs).
Copy file name to clipboardExpand all lines: doc/src/devdocs/build/build.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -304,6 +304,20 @@ LLVM_ASSERTIONS=1
304
304
305
305
Please note that assert builds of Julia will be slower than regular (non-assert) builds.
306
306
307
+
## Building a debug build of Julia
308
+
309
+
A full debug build of Julia can be built with `make debug`. This builds a debug
310
+
version of `libjulia` and uses it to bootstrap the compiler, before creating a
311
+
system image with debug symbols enabled. This can take more than 15 minutes.
312
+
313
+
Although it may result in some differences, a debug build can be built much
314
+
quicker by bootstrapping from a release build:
315
+
316
+
```sh
317
+
$ make julia-src-release julia-sysbase-release
318
+
$ make julia-sysimg-debug CROSS_BOOTSTRAP_JULIA=$PWD/usr/bin/julia CROSS_BOOTSTRAP_SYSBASE=$PWD/usr/lib/julia/sysbase.so
319
+
```
320
+
307
321
## Building 32-bit Julia on a 64-bit machine
308
322
309
323
Occasionally, bugs specific to 32-bit architectures may arise, and when this happens it is useful to be able to debug the problem on your local machine. Since most modern 64-bit systems support running programs built for 32-bit ones, if you don't have to recompile Julia from source (e.g. you mainly need to inspect the behavior of a 32-bit Julia without having to touch the C code), you can likely use a 32-bit build of Julia for your system that you can obtain from the [official downloads page](https://julialang.org/downloads/).
0 commit comments