Just want to share my experience (problems, to be exact
) when compiling ML.
After setting right path and binary names (changing arm-elf to arm-none-eabi) for yagarto in Makefile.inc, typed
make 500D, I got these errors.
1) libc.a: No such file or directory
~/yagarto/4.6.0/bin/arm-none-eabi-ar xv /home/Seula/yagarto/4.6.0/arm-none-eabi/lib/libc.a lib_a-set
jmp.o lib_a-strcmp.o lib_a-strlen.o lib_a-strncmp.o
C:\cygwin\home\Seula\yagarto\4.6.0\bin\arm-none-eabi-ar.exe: /home/Seula/yagarto/4.6.0/arm-none-eabi
/lib/libc.a: No such file or directory
make[1]: *** [lib_a-setjmp.o] Error 9
make[1]: Leaving directory `/home/Seula/magic-lantern/platform/500D.111'
make: *** [500D] Error 2Solution:
Modified Makefile.inc around line 251
replace
ARM_LIBC_A = $(ARM_PATH)/arm-none-eabi/lib/libc.awith
ARM_LIBC_A = libc.aand manually copied libc.a from yagarto arm lib directory to ML source tree in
platform/500D.111After
make clean and
make 500D again, i got error below
2) /bin/sh: line 2: readelf: command not found
[ LD ] autoexec
stat: cannot stat `autoexec.bin': No such file or directory
/bin/sh: line 2: readelf: command not found
make[1]: *** [autoexec] Error 1
make[1]: Leaving directory `/home/Seula/magic-lantern/platform/500D.111'
make: *** [500D] Error 2Solution:
Modified Makefile.inc around line 337,
replace
readelf -l magiclantern | grep -C 2 MemSizwith
$(ARM_BINPATH)/arm-none-eabi-readelf -l magiclantern | grep -C 2 MemSizDid a
make 500D once more, autoexec.bin produced.
Error no. 2 should be easy to fix.
I think error no. 1 occured because i used cygwin, not a native unix environment?