Description
When trying to build a nightly RPM on Fedora 22 armv7hl, I get failures during the bootstrap step. Depending on the value of JULIA_TARGET_CPU
I use, the error is different:
- With
native
(JULIA_TARGET_CPU
not passed):
osutils.jl
error during bootstrap:
LoadError(at "sysimg.jl" line 82: LoadError(at "osutils.jl" line 38: BoundsError(a=Array{Any, 1}[(), ()], i=(0,))))
Makefile:168: recipe for target '/builddir/build/BUILD/julia/build/usr/lib/julia/sys0.o' failed
https://kojipkgs.fedoraproject.org//work/tasks/26/9290026/build.log
- With
cortex-a8
:
osutils.jl
error during bootstrap:
LoadError(at "sysimg.jl" line 82: LoadError(at "osutils.jl" line 38: Base.TypeError(func=:getfield, context="", expected=DataType, got=<?::false>)))
signal (11): Segmentation fault
/bin/sh: line 1: 7563 Segmentation fault (core dumped) /builddir/build/BUILD/julia/build/usr/bin/julia -C cortex-a8 --build /builddir/build/BUILD/julia/build/usr/lib/julia/sys0 sysimg.jl
Makefile:168: recipe for target '/builddir/build/BUILD/julia/build/usr/lib/julia/sys0.o' failed
https://kojipkgs.fedoraproject.org//work/tasks/1460/9291460/build.log
I'm not familiar with ARM at all, so I'm not sure which one is the more reasonable (maybe none). Note that I'm using USE_SYSTEM_LLVM=1
, which is LLVM 3.5. A difficulty is that gcc, which is used in the build, uses -march=armv7-a
on Fedora armv7hl, but LLVM does not accept this as a target. This is why I tried JULIA_CPU_TARGET=cortex-a8
. Fedora's LLVM is built using these settings:
--with-cpu=cortex-a8 \
--with-tune=cortex-a8 \
--with-arch=armv7-a \
--with-float=hard \
--with-fpu=vfpv3-d16 \
--with-abi=aapcs-vfp
I see that ARM.inc advises --with-cpu=cortex-a9 --with-fpu=neon
instead. Do you think that can be an issue?
BTW, note JCFLAGS
includes -fsigned-char
.