I’m trying to build julia from source (up to date master branch commit cb7a569…) on a small cluster. This works fine with default options. However, the cluster nodes have different CPU types and I need a system image that works across the whole cluster. In the past (last tried with julia 0.6.4) I’ve handled this by just putting
MARCH=x86-64 in Make.user. However, building the current master from a fresh clone with
MARCH=x86-64 and nothing else in Make.user crashes with the following error (with a bit of extra output from make for context):
CC src/llvm-alloc-opt.o CC src/cgmemmgr.o CC src/llvm-api.o LINK usr/lib/libjulia.so.1.2 CC ui/repl.o LINK usr/bin/julia JULIA usr/lib/julia/corecompiler.ji ERROR: Invalid CPU name x86-64 . sysimage.mk:60: recipe for target '/disk1/common/juliaLang/julia-master/usr/lib/julia/corecompiler.ji' failed
I’m building on a machine running Ubuntu 16.04.5. Running
gcc -march=native -Q --help=target | grep -- '-march=' | cut -f3
returns ivybridge as the CPU type if that’s helpful. It’s the oldest CPU on the cluster I’m building for.
I’m wondering if this is a bug in julia or the julia build system or if I’m doing something wrong. Do I need to add anything else to Make.user or Make.inc to have this work? I wanted to check that I’m not missing something before filing an issue about this.