Source build Julia 0.6.0-pre-alpha branch fails with error in inference.ji


#1

I am trying to source build Julia 0.6.0-pre-alpha branch on Ubuntu. Last time I tried was two month ago, and the build was successful without any trouble. But this time, using the same branch, I get build errors at almost the end of compilation.

Here is the error message:

Copying in usr/share/doc/julia/examples
    JULIA usr/lib/julia/inference.ji
A method error occurred before the base MethodError type was defined. Aborting...
#@_noinline_meta() world 5
()
while loading boot.jl, in expression starting on line 198
rec_backtrace at /home/xiaoqi/julia/src/stackwalk.c:84
jl_method_error_bare at /home/xiaoqi/julia/src/gf.c:1423
jl_method_error at /home/xiaoqi/julia/src/gf.c:1434
fl_invoke_julia_macro at /home/xiaoqi/julia/src/ast.c:196
apply_cl at /home/xiaoqi/julia/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/julia/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/julia/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/julia/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/julia/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/julia/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/julia/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/julia/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/julia/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/julia/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/julia/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/julia/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/julia/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/julia/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/julia/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/julia/src/flisp/flisp.c:1226
do_trycatch at /home/xiaoqi/julia/src/flisp/flisp.c:898
apply_cl at /home/xiaoqi/julia/src/flisp/flisp.c:1806
_applyn at /home/xiaoqi/julia/src/flisp/flisp.c:682
fl_applyn at /home/xiaoqi/julia/src/flisp/flisp.c:722
jl_parse_eval_all at /home/xiaoqi/julia/src/ast.c:857
jl_load at /home/xiaoqi/julia/src/toplevel.c:616
_julia_init at /home/xiaoqi/julia/src/init.c:642
julia_init at /home/xiaoqi/julia/src/task.c:292
main at /home/xiaoqi/julia/ui/repl.c:259
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x401668)
Allocations: 5809 (Pool: 5809; Big: 0); GC: 0
Aborted (core dumped)
Makefile:210: recipe for target '/home/xiaoqi/julia/usr/lib/julia/inference.ji' failed
make[1]: *** [/home/xiaoqi/julia/usr/lib/julia/inference.ji] Error 134
Makefile:96: recipe for target 'julia-inference' failed
make: *** [julia-inference] Error 2

I did change one thing in the branch. It’s the web address of pcre: It is ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-$(PCRE_VER).tar.bz2. This is because the https address is not accepting connection.

Any idea how to fix this error? Or possible things to try?

Thank you in advance!


#2

Why not use the latest stable release, v0.6.2?


#3

Thanks for suggesting that. I tried to build 0.6.2. it has the same error, but different method. Here is the error message:

Copying in usr/share/doc/julia/examples
    JULIA usr/lib/julia/inference.ji
A method error occurred before the base MethodError type was defined. Aborting...
getfield(Core, Symbol("#@_noinline_meta"))() world 5
()
while loading boot.jl, in expression starting on line 198
rec_backtrace at /home/xiaoqi/git/julia0.6.2/src/stackwalk.c:84
jl_method_error_bare at /home/xiaoqi/git/julia0.6.2/src/gf.c:1478
jl_method_error at /home/xiaoqi/git/julia0.6.2/src/gf.c:1489
fl_invoke_julia_macro at /home/xiaoqi/git/julia0.6.2/src/ast.c:195
apply_cl at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:1226
_applyn at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:682
fl_map1 at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:2219
apply_cl at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:1226
do_trycatch at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:898
apply_cl at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:1806
_applyn at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:682
fl_applyn at /home/xiaoqi/git/julia0.6.2/src/flisp/flisp.c:722
jl_parse_eval_all at /home/xiaoqi/git/julia0.6.2/src/ast.c:856
jl_load at /home/xiaoqi/git/julia0.6.2/src/toplevel.c:616
_julia_init at /home/xiaoqi/git/julia0.6.2/src/init.c:671
julia_init at /home/xiaoqi/git/julia0.6.2/src/task.c:301
main at /home/xiaoqi/git/julia0.6.2/ui/repl.c:259
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x401668)
Allocations: 5786 (Pool: 5786; Big: 0); GC: 0
Aborted (core dumped)
Makefile:215: recipe for target '/home/xiaoqi/git/julia0.6.2/usr/lib/julia/inference.ji' failed
make[1]: *** [/home/xiaoqi/git/julia0.6.2/usr/lib/julia/inference.ji] Error 134
Makefile:100: recipe for target 'julia-inference' failed
make: *** [julia-inference] Error 2

#4

It would be great if you could describe what you are doing step by step. Especially

  1. the environment (which Ubuntu release),
  2. how you get the source, and
  3. how you start the build

#5

Thank you for the suggestions! I don’t have much experience posting questions on the forum, still a learning progress.

  1. The environment is Ubuntu 16.04
  2. I got the source from Github by git clone https://github.com/JuliaLang/julia.git
  3. After the clone, I did git checkout v0.6.2,
  4. I changed the address of ‘pcre’ in deps/pcre.mk from https address to ftp address, that is: https://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-$(PCRE_VER).tar.bz2 to ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-$(PCRE_VER).tar.bz2 because this is a known issue that the first address does not accept connection anymore. But the ftp does.

and then I ran make and at the end of the compilation. I got the error.


#6

Set MARCH=haswell in Make.user solved the issue.
There is another post that states the same issue, I am pasting the answer here:
“So this happens to be an issue with LLVM on Skylake CPUs. It should be fixed on master but meanwhile you can work around the issue by setting MARCH=haswell when building Julia.”