Julia 1.0.3 testing period

It’s that time again, folks! The release-1.0 branch of Julia now contains the set of commits we’re planning to tag as v1.0.3. The list of commits included since v1.0.2 is available here. Like v1.0.1 and v1.0.2, this is a patch release, which means it should be strictly non-breaking for existing code and should introduce no new features at all, just bug fixes, documentation improvements, and performance enhancements.

We encourage users, package authors especially, to test out their code using a source build of the release-1.0 branch to ensure there are no changes in behavior. (At this time binaries are not available for prereleases of patch versions.) A package evaluation run showed no regressions from v1.0.2, so we should be good, but extra testing and assurance is always worthwhile. If you run into any issues, please report them on Julia’s GitHub issue tracker.

Assuming all is well, we’ll move forward with releasing v1.0.3 in a few days.



Question: Is the web based (as opposed to command line version) for versions greater than or equal to 1.0 working now?

Mo Marikaar


Are you referring to Juliabox.com? If so then the answer is that it is had been working with Julia 1.0 for a couple of months already.

I notice a few odd things when I compile this. Can others reproduce?

At the end of the build:

    CC usr/lib/libccalltest.so
    CC usr/lib/libllvmcalltest.so
In file included from /home/garrison/julia-release-1.0/src/llvmcalltest.cpp:9:0:
/home/garrison/julia-release-1.0/src/codegen_shared.h:21:5: warning: "JL_LLVM_VERSION" is not defined, evaluates to 0 [-Wundef]
 #if JL_LLVM_VERSION >= 50000
/home/garrison/julia-release-1.0/src/codegen_shared.h:31:5: warning: "JL_LLVM_VERSION" is not defined, evaluates to 0 [-Wundef]
 #if JL_LLVM_VERSION >= 50000
/home/garrison/julia-release-1.0/src/codegen_shared.h:41:5: warning: "JL_LLVM_VERSION" is not defined, evaluates to 0 [-Wundef]
 #if JL_LLVM_VERSION >= 50000
/home/garrison/julia-release-1.0/src/codegen_shared.h:50:5: warning: "JL_LLVM_VERSION" is not defined, evaluates to 0 [-Wundef]
 #if JL_LLVM_VERSION >= 50000
/home/garrison/julia-release-1.0/src/codegen_shared.h:59:5: warning: "JL_LLVM_VERSION" is not defined, evaluates to 0 [-Wundef]
 #if JL_LLVM_VERSION >= 50000
/home/garrison/julia-release-1.0/src/codegen_shared.h:69:5: warning: "JL_LLVM_VERSION" is not defined, evaluates to 0 [-Wundef]
 #if JL_LLVM_VERSION >= 50000

And any time I run Pkg.update():

  Updating `~/.julia/environments/v1.0/Manifest.toml`
┌ Warning: Duplicate UUID in manifest: 44cfe95a-1eb2-52ea-b672-e2afdf69b78f
└ @ Pkg.Display ~/julia-release-1.0/usr/share/julia/stdlib/v1.0/Pkg/src/Display.jl:204
┌ Warning: Duplicate UUID in manifest: 44cfe95a-1eb2-52ea-b672-e2afdf69b78f
└ @ Pkg.Display ~/julia-release-1.0/usr/share/julia/stdlib/v1.0/Pkg/src/Display.jl:204
 [no changes]

I performed the build in a directory that previously contained a 1.0.2 build, but I did run make clean and make cleanall first.

The second problem there is probably https://github.com/JuliaLang/julia/pull/30075#issuecomment-442151605, so clean out the usr folder in your repo and rebuild.

I also got those LLVM warnings.

Thanks. I then got the following (both before and after running make clean[all]). I’m guessing it’s spurious:

garrison@marina:~/julia-release-1.0 (release-1.0)$ rm -fr usr
garrison@marina:~/julia-release-1.0 (release-1.0)$ make
find: ‘/home/garrison/julia-release-1.0/usr/share/julia/stdlib/v1.0/*/src’: No such file or directory

Also, is there any reason that make clean does not delete usr?

The second issue persists after cleaning out usr and rebuilding.

Probably because your Manifest.toml is already corrupted. Remove one of the package with the uuid in the error (it’s Pkg’s uuid that are replicated for some reason.)

Got it. The offending lines were

deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"

deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"

I recall seeing a directory with a similar name somewhere in my stdlib directory after the earlier build.

Yes, delete the second entry.

I’m also seeing this after pulling the release-1.1 branch and rebuilding. Trying another build after make cleanall lead to a build failure:

error during bootstrap:
LoadError("sysimg.jl", 490, ArgumentError("Package Base64 not found in current path:\n- Run `import Pkg; Pkg.add(\"Base64\")` to install the Base64 package.\n"))
rec_backtrace at /Users/stefan/dev/julia1.0/src/stackwalk.c:94
record_backtrace at /Users/stefan/dev/julia1.0/src/task.c:246 [inlined]
jl_throw at /Users/stefan/dev/julia1.0/src/task.c:577
require at ./loading.jl:823
jl_fptr_trampoline at /Users/stefan/dev/julia1.0/src/gf.c:1831
do_call at /Users/stefan/dev/julia1.0/src/interpreter.c:324
eval_body at /Users/stefan/dev/julia1.0/src/interpreter.c:553
jl_interpret_toplevel_thunk_callback at /Users/stefan/dev/julia1.0/src/interpreter.c:806
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x107b092cf)
unknown function (ip: 0x2a)
jl_interpret_toplevel_thunk at /Users/stefan/dev/julia1.0/src/interpreter.c:815
jl_toplevel_eval_flex at /Users/stefan/dev/julia1.0/src/toplevel.c:805
jl_parse_eval_all at /Users/stefan/dev/julia1.0/src/ast.c:838
jl_load at /Users/stefan/dev/julia1.0/src/toplevel.c:839
exec_program at /Users/stefan/dev/julia1.0/usr/bin/julia (unknown line)
true_main at /Users/stefan/dev/julia1.0/usr/bin/julia (unknown line)
main at /Users/stefan/dev/julia1.0/usr/bin/julia (unknown line)

*** This error might be fixed by running `make clean`. If the error persists$(COMMA) try `make cleanall`. ***
make[1]: *** [/Users/stefan/dev/julia1.0/usr/lib/julia/sys.ji] Error 1
make: *** [julia-sysimg] Error 2

Cleaning and making again doesn’t fix it. I guess I’ll try a clean clone next.

Managed to get it to build but the LLVM warning is still exhibited.

Another issue. I have only 1.0.1 where noticed that it still ships with libjulia-debug.dll (42.5 MB) that I think is not used anymore since julia.exe debug version was drop some time ago. I suspect that 1.0.3 is preparing to keep shipping this no-need (if I’m right) file.

Will not be in 1.0.3 but will be in 1.1.0 and 1.0.4.

OK, but do you mean that from 1.0.4 on we’ll always get the debug versions even when one do not need (want) them?

I mean that the debug library will no longer be included.

A fix for the build warning has been included in 1.0.3.

1 Like

Just checked, still there in 1.0.3