I have been trying to install Julia
from the source on WSL
by following the steps mentioned here - https://github.com/JuliaLang/julia/blob/master/doc/src/devdocs/build/windows.md - but the installation stops in between and halts there for an infinite time.
The steps that I followed -
- Run -
apt-get install wine-stable gcc wget p7zip-full winbind mingw-w64 gfortran-mingw-w64
dpkg --add-architecture i386 && apt-get update && apt-get install wine32 # add sudo to each if needed
# switch all of the following to their "-posix" variants (interactively):
for pkg in i686-w64-mingw32-g++ i686-w64-mingw32-gcc i686-w64-mingw32-gfortran x86_64-w64-mingw32-g++ x86_64-w64-mingw32-gcc x86_64-w64-mingw32-gfortran; do sudo update-alternatives --config $pkg; done
- Run -
echo 'XC_HOST = x86_64-w64-mingw32' > Make.user
- Make -
make -j 4
Here are the logs, nothing happens after Execution --- 44.306832 seconds 19.8905%
-
Creating usr/etc/julia/startup.jl
Copying in usr/share/man/man1/julia.1
/mnt/d/OpenSource/julia/julia/contrib/install.sh 755 /mnt/d/OpenSource/julia/julia/contrib/julia-config.jl /mnt/d/OpenSource/julia/julia/usr/share/julia/mkdir -p bin include lib lib/pkgconfig logs share/doc/mpfr share/doc/mpfr/examples share/info share/licenses/MPFR
mkdir -p bin include logs/SuiteSparse share/licenses/SuiteSparse
mkdir -p bin include lib logs share/licenses/Zlib share/man/man3 share/pkgconfig
mkdir -p bin logs
mkdir -p . bin include include/uv lib lib/pkgconfig logs logs/LibUV share share/licenses share/licenses/LibUV
mkdir -p . bin bin/pkgconfig include include/openlibm logs logs/OpenLibm share share/licenses share/licenses/OpenLibm
mkdir -p bin logs share/licenses/dSFMT
mkdir -p . bin include include/libblastrampoline include/libblastrampoline/ILP64 include/libblastrampoline/ILP64/aarch64-linux-gnu include/libblastrampoline/ILP64/aarch64-linux-musl include/libblastrampoline/ILP64/armv7l-linux-gnueabihf include/libblastrampoline/ILP64/armv7l-linux-musleabihf include/libblastrampoline/ILP64/common include/libblastrampoline/ILP64/i686-linux-gnu include/libblastrampoline/ILP64/i686-linux-musl include/libblastrampoline/ILP64/i686-w64-mingw32 include/libblastrampoline/ILP64/powerpc64le-linux-gnu include/libblastrampoline/ILP64/x86_64-apple-darwin include/libblastrampoline/ILP64/x86_64-linux-gnu include/libblastrampoline/ILP64/x86_64-linux-musl include/libblastrampoline/ILP64/x86_64-unknown-freebsd include/libblastrampoline/ILP64/x86_64-w64-mingw32 include/libblastrampoline/LP64 include/libblastrampoline/LP64/aarch64-linux-gnu include/libblastrampoline/LP64/aarch64-linux-musl include/libblastrampoline/LP64/armv7l-linux-gnueabihf include/libblastrampoline/LP64/armv7l-linux-musleabihf include/libblastrampoline/LP64/common include/libblastrampoline/LP64/i686-linux-gnu include/libblastrampoline/LP64/i686-linux-musl include/libblastrampoline/LP64/i686-w64-mingw32 include/libblastrampoline/LP64/powerpc64le-linux-gnu include/libblastrampoline/LP64/x86_64-apple-darwin include/libblastrampoline/LP64/x86_64-linux-gnu include/libblastrampoline/LP64/x86_64-linux-musl include/libblastrampoline/LP64/x86_64-unknown-freebsd include/libblastrampoline/LP64/x86_64-w64-mingw32 include/libblastrampoline/common lib logs logs/libblastrampoline share share/licenses share/licenses/libblastrampoline
mkdir -p bin include lib lib/pkgconfig logs share/doc/pcre2 share/doc/pcre2/html share/licenses/PCRE2 share/man/man1 share/man/man3
mkdir -p . bin logs logs/CompilerSupportLibraries share share/licenses share/licenses/CompilerSupportLibraries
mkdir -p . bin include lib lib/cmake lib/cmake/openblas lib/pkgconfig logs logs/OpenBLAS share share/licenses share/licenses/OpenBLAS
mkdir -p bin include lib lib/pkgconfig logs/GMP share/info share/licenses/GMP
mkdir -p . bin include lib lib/cmake lib/cmake/libssh2 lib/pkgconfig logs logs/LibSSH2 share share/doc share/doc/libssh2 share/licenses share/licenses/LibSSH2 share/man share/man/man3
mkdir -p bin include/nghttp2 lib lib/pkgconfig logs share/doc/nghttp2 share/licenses/nghttp2 share/man/man1 share/nghttp2
mkdir -p bin include/mbedtls include/psa lib logs/MbedTLS share/licenses/MbedTLS
mkdir -p . bin include include/curl lib lib/pkgconfig logs logs/LibCURL share share/aclocal share/licenses share/licenses/LibCURL share/man share/man/man1 share/man/man3
mkdir -p . bin include include/git2 include/git2/sys lib lib/pkgconfig logs logs/LibGit2 share share/licenses share/licenses/LibGit2
mkdir -p . bin include include/llvm include/llvm-c include/llvm-c/Transforms include/llvm/ADT include/llvm/Analysis include/llvm/Analysis/Utils include/llvm/AsmParser include/llvm/BinaryFormat include/llvm/BinaryFormat/ELFRelocs include/llvm/Bitcode include/llvm/Bitstream include/llvm/CodeGen include/llvm/CodeGen/GlobalISel include/llvm/CodeGen/MIRParser include/llvm/CodeGen/PBQP include/llvm/Config include/llvm/DWARFLinker include/llvm/DWP include/llvm/DebugInfo include/llvm/DebugInfo/CodeView include/llvm/DebugInfo/DWARF include/llvm/DebugInfo/GSYM include/llvm/DebugInfo/MSF include/llvm/DebugInfo/PDB include/llvm/DebugInfo/PDB/DIA include/llvm/DebugInfo/PDB/Native include/llvm/DebugInfo/Symbolize include/llvm/Demangle include/llvm/ExecutionEngine include/llvm/ExecutionEngine/JITLink include/llvm/ExecutionEngine/Orc include/llvm/ExecutionEngine/Orc/Shared include/llvm/ExecutionEngine/Orc/TargetProcess include/llvm/FileCheck include/llvm/Frontend include/llvm/Frontend/Directive include/llvm/Frontend/OpenACC include/llvm/Frontend/OpenMP include/llvm/FuzzMutate include/llvm/IR include/llvm/IRReader include/llvm/InterfaceStub include/llvm/LTO include/llvm/LTO/legacy include/llvm/LineEditor include/llvm/Linker include/llvm/MC include/llvm/MC/MCDisassembler include/llvm/MC/MCParser include/llvm/MCA include/llvm/MCA/HardwareUnits include/llvm/MCA/Stages include/llvm/Object include/llvm/ObjectYAML include/llvm/Option include/llvm/Passes include/llvm/ProfileData include/llvm/ProfileData/Coverage include/llvm/Remarks include/llvm/Support include/llvm/Support/FileSystem include/llvm/Support/Solaris include/llvm/Support/Solaris/sys include/llvm/Support/Windows include/llvm/TableGen include/llvm/Target include/llvm/Target/GlobalISel include/llvm/Testing include/llvm/Testing/Support include/llvm/TextAPI include/llvm/ToolDrivers include/llvm/ToolDrivers/llvm-dlltool include/llvm/ToolDrivers/llvm-lib include/llvm/Transforms include/llvm/Transforms/AggressiveInstCombine include/llvm/Transforms/Coroutines include/llvm/Transforms/IPO include/llvm/Transforms/InstCombine include/llvm/Transforms/Instrumentation include/llvm/Transforms/Scalar include/llvm/Transforms/Utils include/llvm/Transforms/Vectorize include/llvm/WindowsManifest include/llvm/WindowsResource include/llvm/XRay lib share share/licenses share/licenses/libLLVM tools
CC cli/loader_exe.o
CC cli/loader_lib.o
PERL base/pcre_h.jl
PERL base/uv_constants.jl
CC cli/loader_trampolines.o
LINK usr/bin/libjulia.dll
ANALYZE usr/bin/libjulia.dll
CC src/support/hashing.o
CC src/support/timefuncs.o
CC usr/bin/libccalltest.dll
CC src/support/ptrhash.o
CC src/support/operators.o
CC src/support/utf8.o
/mnt/d/OpenSource/julia/julia/src/support/utf8.c: In function 'u8_escape_wchar':
/mnt/d/OpenSource/julia/julia/src/support/utf8.c:401:42: warning: unknown conversion type character 'h' in format [-Wformat=]
401 | return snprintf(buf, sz, "\\x%.2hhx", (unsigned char)ch);
| ^
/mnt/d/OpenSource/julia/julia/src/support/utf8.c:401:34: warning: too many arguments for format [-Wformat-extra-args]
401 | return snprintf(buf, sz, "\\x%.2hhx", (unsigned char)ch);
| ^~~~~~~~~~~
CC src/support/ios.o
CC src/support/htable.o
CC src/support/bitvector.o
CC src/support/int2str.o
CC src/support/libsupportinit.o
CC src/support/arraylist.o
CC src/support/strtod.o
CC src/support/rle.o
CC src/support/asprintf.o
CC src/support/strptime.o
CC usr/bin/libllvmcalltest.dll
LINK src/support/libsupport.a
CC src/flisp/flisp.o
PERL base/version_git.jl.phony
CC src/flisp/builtins.o
CC src/flisp/string.o
CC src/flisp/equalhash.o
LINK usr/bin/julia.exe
CC src/flisp/table.o
CC src/flisp/iostream.o
CC src/flisp/julia_extensions.o
CC src/flisp/flmain.o
LINK src/flisp/libflisp.a
echo '@"%~dp0/'"$(echo 'usr/bin/julia.exe')"'" %*' | tr / '\\' > /mnt/d/OpenSource/julia/julia/julia.bat
chmod a+x /mnt/d/OpenSource/julia/julia/julia.bat
LINK src/flisp/flisp.exe
FLISP src/julia_flisp.boot
FLISP src/julia_flisp.boot.inc
CC src/jloptions.o
CC src/runtime_ccall.o
CC src/rtutils.o
CC src/win32_ucontext.o
CC src/jltypes.o
CC src/gf.o
CC src/typemap.o
CC src/smallintset.o
CC src/ast.o
CC src/builtins.o
CC src/module.o
CC src/interpreter.o
CC src/symbol.o
CC src/dlload.o
CC src/sys.o
CC src/init.o
CC src/task.o
CC src/array.o
CC src/dump.o
CC src/staticdata.o
CC src/toplevel.o
CC src/jl_uv.o
CC src/datatype.o
CC src/simplevector.o
CC src/runtime_intrinsics.o
CC src/precompile.o
CC src/threading.o
CC src/partr.o
CC src/stackwalk.o
CC src/gc.o
CC src/gc-debug.o
CC src/gc-pages.o
CC src/gc-stacks.o
/mnt/d/OpenSource/julia/julia/src/gc-debug.c:986:24: warning: missing terminating " character
986 | jl_safe_printf("%ld Major collection: estimate freed = %ld
| ^
/mnt/d/OpenSource/julia/julia/src/gc-debug.c:987:70: warning: missing terminating " character
987 | live = %ldm new interval = %ldm time = %ldms\n",
| ^
/mnt/d/OpenSource/julia/julia/src/gc-debug.c:991:24: warning: missing terminating " character
991 | jl_safe_printf("%ld Minor collection: estimate freed = %ld live = %ldm
| ^
/mnt/d/OpenSource/julia/julia/src/gc-debug.c:992:58: warning: missing terminating " character
992 | new interval = %ldm time = %ldms\n",
| ^
CC src/gc-alloc-profiler.o
CC src/method.o
CC src/jlapi.o
CC src/signal-handling.o
CC src/safepoint.o
CC src/timing.o
CC src/subtype.o
CC src/crc32c.o
CC src/APInt-C.o
CC src/processor.o
CC src/ircode.o
CC src/opaque_closure.o
CC src/codegen-stubs.o
CC src/coverage.o
CC src/codegen.o
CC src/llvm-ptls.o
CC src/jitlayers.o
CC src/aotcompile.o
CC src/debuginfo.o
/mnt/d/OpenSource/julia/julia/src/jitlayers.cpp: In function 'jl_value_t* (* _jl_compile_codeinst(jl_code_instance_t*, jl_code_info_t*, size_t, llvm::LLVMContext&))(jl_value_t*, jl_value_t**, uint32_t, _jl_code_instance_t*)':
/mnt/d/OpenSource/julia/julia/src/jitlayers.cpp:203:45: warning: unknown conversion type character 'l' in format [-Wformat=]
203 | jl_printf(dump_compiles_stream, "%" PRIu64 "\t\"", end_time - start_time);
| ^~~~~~~~~~~~~~~~~
/mnt/d/OpenSource/julia/julia/src/jitlayers.cpp:203:45: warning: too many arguments for format [-Wformat-extra-args]
/mnt/d/OpenSource/julia/julia/src/jitlayers.cpp: In lambda function:
/mnt/d/OpenSource/julia/julia/src/jitlayers.cpp:495:73: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'long long int' [-Wformat=]
495 | jl_printf(dump_llvm_opt_stream, " basicblocks: %lu\n", countBasicBlocks(F));
| ~~^ ~~~~~~~~~~~~~~~~~~~
| | |
| long unsigned int long long int
| %I64u
/mnt/d/OpenSource/julia/julia/src/jitlayers.cpp:508:45: warning: unknown conversion type character 'l' in format [-Wformat=]
508 | jl_printf(dump_llvm_opt_stream, " time_ns: %" PRIu64 "\n", end_time - start_time);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/d/OpenSource/julia/julia/src/jitlayers.cpp:508:45: warning: too many arguments for format [-Wformat-extra-args]
/mnt/d/OpenSource/julia/julia/src/jitlayers.cpp:519:73: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'long long int' [-Wformat=]
519 | jl_printf(dump_llvm_opt_stream, " basicblocks: %lu\n", countBasicBlocks(F));
| ~~^ ~~~~~~~~~~~~~~~~~~~
| | |
| long unsigned int long long int
| %I64u
CC src/disasm.o
CC src/llvm-simdloop.o
CC src/llvm-muladd.o
CC src/llvm-final-gc-lowering.o
CC src/llvm-pass-helpers.o
CC src/llvm-late-gc-lowering.o
CC src/llvm-lower-handlers.o
CC src/llvm-gc-invariant-verifier.o
CC src/llvm-propagate-addrspaces.o
CC src/llvm-multiversioning.o
CC src/llvm-alloc-opt.o
CC src/llvm-alloc-helpers.o
CC src/cgmemmgr.o
CC src/llvm-remove-addrspaces.o
CC src/llvm-remove-ni.o
CC src/llvm-julia-licm.o
CC src/llvm-demote-float16.o
CC src/llvm-cpufeatures.o
LINK usr/bin/libjulia-internal.dll
LINK usr/bin/libjulia-codegen.dll
JULIA usr/lib/julia/corecompiler.ji
Core.Compiler ---- 67.417 seconds
JULIA usr/lib/julia/sys.ji
coreio.jl
exports.jl
essentials.jl
ctypes.jl
gcutils.jl
generator.jl
reflection.jl
options.jl
promotion.jl
tuple.jl
expr.jl
pair.jl
traits.jl
range.jl
error.jl
bool.jl
number.jl
int.jl
operators.jl
pointer.jl
refvalue.jl
refpointer.jl
checked.jl
strings/lazy.jl
indices.jl
array.jl
abstractarray.jl
subarray.jl
views.jl
baseext.jl
ntuple.jl
abstractdict.jl
iddict.jl
idset.jl
iterators.jl
namedtuple.jl
./build_h.jl
./version_git.jl
hashing.jl
rounding.jl
div.jl
float.jl
twiceprecision.jl
complex.jl
rational.jl
multinverses.jl
abstractarraymath.jl
arraymath.jl
simdloop.jl
reduce.jl
reshapedarray.jl
reinterpretarray.jl
bitarray.jl
bitset.jl
multimedia.jl
some.jl
dict.jl
abstractset.jl
set.jl
char.jl
strings/basic.jl
strings/string.jl
strings/substring.jl
osutils.jl
c.jl
io.jl
iobuffer.jl
intfuncs.jl
strings/strings.jl
strings/search.jl
strings/unicode.jl
strings/util.jl
strings/io.jl
regex.jl
pcre.jl
./pcre_h.jl
parse.jl
shell.jl
show.jl
compiler/ssair/show.jl
arrayshow.jl
methodshow.jl
cartesian.jl
multidimensional.jl
broadcast.jl
missing.jl
version.jl
sysinfo.jl
libc.jl
./errno_h.jl
libdl.jl
logging.jl
linked_list.jl
condition.jl
threads.jl
threadingconstructs.jl
atomics.jl
locks-mt.jl
lock.jl
channels.jl
task.jl
threads_overloads.jl
weakkeydict.jl
env.jl
libuv.jl
./uv_constants.jl
asyncevent.jl
iostream.jl
stream.jl
filesystem.jl
path.jl
stat.jl
file.jl
./file_constants.jl
cmd.jl
process.jl
ttyhascolor.jl
secretbuffer.jl
randomdevice.jl
floatfuncs.jl
math.jl
special/cbrt.jl
special/exp.jl
special/hyperbolic.jl
special/trig.jl
special/rem_pio2.jl
special/log.jl
reducedim.jl
accumulate.jl
permuteddimsarray.jl
ordering.jl
sort.jl
binaryplatforms.jl
cpuid.jl
features_h.jl
fastmath.jl
Enums.jl
gmp.jl
ryu\Ryu.jl
ryu\utils.jl
ryu\shortest.jl
ryu\fixed.jl
ryu\exp.jl
mpfr.jl
combinatorics.jl
irrationals.jl
mathconstants.jl
meta.jl
stacktraces.jl
experimental.jl
opaque_closure.jl
deepcopy.jl
download.jl
summarysize.jl
errorshow.jl
initdefs.jl
threadcall.jl
uuid.jl
pkgid.jl
toml_parser.jl
loading.jl
timing.jl
util.jl
asyncmap.jl
deprecated.jl
docs\basedocs.jl
client.jl
docs\Docs.jl
docs\bindings.jl
docs\utils.jl
Base ------------- 38.501652 seconds
ArgTools --------- 6.331496 seconds
Artifacts -------- 0.879557 seconds
Base64 ----------- 0.919169 seconds
CRC32c ----------- 0.675787 seconds
FileWatching ----- 0.843009 seconds
Libdl ------------ 0.665431 seconds
Logging ---------- 0.727384 seconds
Mmap ------------- 0.767952 seconds
NetworkOptions --- 1.502299 seconds
SHA -------------- 1.842136 seconds
Serialization ---- 1.020526 seconds
Sockets ---------- 1.165493 seconds
Unicode ---------- 0.791621 seconds
DelimitedFiles --- 1.034390 seconds
LinearAlgebra ---- 13.790685 seconds
Markdown --------- 2.689126 seconds
Printf ----------- 0.840024 seconds
Random ----------- 2.574957 seconds
Tar -------------- 2.119108 seconds
Dates ------------ 3.738196 seconds
Distributed ------ 4.064137 seconds
Future ----------- 0.925941 seconds
InteractiveUtils - 1.581468 seconds
LibGit2 ---------- 4.663635 seconds
Profile ---------- 1.146984 seconds
SparseArrays ----- 6.978367 seconds
UUIDs ------------ 1.193410 seconds
REPL ------------- 7.127813 seconds
SharedArrays ----- 3.350660 seconds
Statistics ------- 1.679727 seconds
SuiteSparse ------ 8.800483 seconds
TOML ------------- 1.046927 seconds
Test ------------- 2.277310 seconds
LibCURL ---------- 4.271939 seconds
Downloads -------- 3.448778 seconds
Pkg -------------- 24.758097 seconds
LazyArtifacts ---- 1.184882 seconds
Stdlibs total ----123.466503 seconds
Sysimage built. Summary:
Total ------- 161.978920 seconds
Base: ------- 38.501652 seconds 23.7695%
Stdlibs: ---- 123.466503 seconds 76.2238%
JULIA usr/lib/julia/sys-o.a
Generating REPL precompile statements... 40/40
Executing precompile statements... 1922/1962
Precompilation complete. Summary:
Total ------- 222.753298 seconds
Generation -- 178.446466 seconds 80.1095%
Execution --- 44.306832 seconds 19.8905%
Could someone please help me with this? Thanks!