JuliaLang / julia

The Julia Programming Language
https://julialang.org/
MIT License
45.73k stars 5.48k forks source link

make failed on Ubuntu 20.04 and cannot run dtrace tool without a master branch #43071

Closed NazerkeT closed 2 years ago

NazerkeT commented 2 years ago

Good day all, I was trying to build Julia's master branch onto my Ubuntu 20.04 machine on a complete new Parallels VM installed on my M1 MacBook Pro. However, despite I have installed all the tools with this command sudo apt-get install build-essential libatomic1 python gfortran perl wget m4 cmake pkg-config curl following this readme , I was hitting this error:

/usr/bin/ld: cannot find -lssp collect2: error: ld returned 1 exit status make[2]: *** [Makefile:102: /home/nazerke/julia/src/flisp/flisp] Error 1 make[2]: Leaving directory '/home/nazerke/julia/src/flisp' make[1]: *** [Makefile:324: flisp/libflisp.a] Error 2 make[1]: Leaving directory '/home/nazerke/julia/src' make: *** [Makefile:43: julia_flisp.boot.inc.phony] Error 2

Some versioning info is as follows and the full verbose log is attached below too:

Also, actually after setting override HAVE_SSP := 0 on my locally created Make.user a new error with llvm has arrived which is below:

DTRACE src/uprobes.h.gen CC src/aotcompile.o /home/parallels/julia/src/aotcompile.cpp:29:10: fatal error: llvm/Transforms/Utils/SimplifyCFGOptions.h: No such file or directory 29 | #include <llvm/Transforms/Utils/SimplifyCFGOptions.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:216: aotcompile.o] Error 1 make: *** [Makefile:76: julia-src-release] Error 2

Could you please help me with resolving this issue? Ideally, I wanted to use uprobes with dtrace and bpftrace tools to inspect Julia's garbage collection. However, without a master branch, looks like I cannot go far away with my experiments :(

sims.log

giordano commented 2 years ago

Can you please show the output of the build when passing VERBOSE=1 to make (e.g., make VERBOSE=1)?

NazerkeT commented 2 years ago

Can you please show the output of the build when passing VERBOSE=1 to make (e.g., make VERBOSE=1)?

Sure, @giordano sims.log in my message above includes the output of the inital make with make VERBOSE=1 on a master branch. Also, this sims2.log includes the build error related to llvm, after inserting override HAVE_SSP := 0 in a Make.user on my way to solve the issue with the initial build.

sims2.log

Keno commented 2 years ago

I can reproduce the ssp issue, but not the missing include. I'd recommend starting over with a clean checkout of julia (with the HAVE_SSP thing set in Make.user) and seeing if that fixes it. Not sure why that include file would have gone missing, but it's there in the download.

NazerkeT commented 2 years ago

Hi, @Keno, thanks for the notes! Indeed, after deleting a whole repo and reinstalling it with override HAVE_SSP := 0 and WITH_DTRACE=1 with a new Make.user, a build was successful.

Thanks, Best wishes,