Gator96100 / ProxSpace

Proxmark III develoment environment for Windows
269 stars 70 forks source link

Error compiling official firmware 2.1.0 #12

Closed baiduing closed 5 years ago

baiduing commented 5 years ago

Hi, thanks for this excellent tool. When I compiled official firmware 2.1.0 and 2.0.0 from this page https://github.com/Proxmark/proxmark3/releases, the script stoped with error.

Could please tell me how to solve it? Below is the error message of compiling version 2.1.0.

Thank you very much!

m3 ~$ make clean && make all
make -C bootrom clean
make[1]: Entering directory '/pm3/bootrom'
rm -rf obj/*.o
rm -rf obj/*.elf
rm -rf obj/*.s19
rm -rf obj/*.map
rm -rf obj/*.d
rm -rf version.c
make[1]: Leaving directory '/pm3/bootrom'
make -C armsrc clean
make[1]: Entering directory '/pm3/armsrc'
rm -rf obj/*.o
rm -rf obj/*.elf
rm -rf obj/*.s19
rm -rf obj/*.map
rm -rf obj/*.d
rm -rf version.c
make[1]: Leaving directory '/pm3/armsrc'
make -C client clean
make[1]: Entering directory '/pm3/client'
rm -f cli cli.exe flasher flasher.exe proxmark3 proxmark3.exe snooper snooper.ex
e obj/nonce2key/crapto1.o obj/nonce2key/crypto1.o obj/nonce2key/nonce2key.o obj/
loclass/cipher.o obj/loclass/cipherutils.o obj/loclass/des.o obj/loclass/ikeys.o
 obj/loclass/elite_crack.o obj/loclass/fileutils.o obj/mifarehost.o obj/crc.o ob
j/crc16.o obj/crc64.o obj/iso14443crc.o obj/iso15693tools.o obj/data.o obj/graph
.o obj/ui.o obj/cmddata.o obj/lfdemod.o obj/cmdhf.o obj/cmdhf14a.o obj/cmdhf14b.
o obj/cmdhf15.o obj/cmdhfepa.o obj/cmdhflegic.o obj/cmdhficlass.o obj/cmdhfmf.o
obj/cmdhfmfu.o obj/cmdhw.o obj/cmdlf.o obj/cmdlfio.o obj/cmdlfhid.o obj/cmdlfem4
x.o obj/cmdlfhitag.o obj/cmdlfti.o obj/cmdparser.o obj/cmdmain.o obj/cmdlft55xx.
o obj/cmdlfpcf7931.o obj/pm3_binlib.o obj/scripting.o obj/cmdscript.o obj/pm3_bi
tlib.o obj/aes.o obj/protocols.o obj/sha1.o obj/*.o *.o *.moc.cpp
cd ../liblua && make clean
make[2]: Entering directory '/pm3/liblua'
rm -f liblua.a lua luac lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o l
gc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o lt
m.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o li
olib.o lmathlib.o loslib.o lstrlib.o ltablib.o loadlib.o linit.o  lua.o luac.o
make[2]: Leaving directory '/pm3/liblua'
make[1]: Leaving directory '/pm3/client'
make -C recovery clean
make[1]: Entering directory '/pm3/recovery'
rm -f bootrom.bin fullimage.bin proxmark3_recovery.bin
make[1]: Leaving directory '/pm3/recovery'
make -C bootrom all
make[1]: Entering directory '/pm3/bootrom'
perl ../tools/mkversion.pl .. > version.c || cp ../common/default_version.c vers
ion.c
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
arm-none-eabi-gcc -c -I../include -I../common -Wall -Werror -pedantic -std=c99 -
I. -Os -mthumb -mthumb-interwork -o obj/version.o version.c
arm-none-eabi-gcc -c -I../include -I../common -Wall -Werror -pedantic -std=c99 -
I. -Os -mthumb-interwork -o obj/ram-reset.o ram-reset.s
arm-none-eabi-gcc -c -I../include -I../common -Wall -Werror -pedantic -std=c99 -
I. -Os -mthumb-interwork -o obj/flash-reset.o flash-reset.s
arm-none-eabi-gcc -c -I../include -I../common -Wall -Werror -pedantic -std=c99 -
I. -Os -mthumb -mthumb-interwork -o obj/cmd.o ../common/cmd.c
arm-none-eabi-gcc -c -I../include -I../common -Wall -Werror -pedantic -std=c99 -
I. -Os -mthumb -mthumb-interwork -o obj/usb_cdc.o ../common/usb_cdc.c
arm-none-eabi-gcc -c -I../include -I../common -Wall -Werror -pedantic -std=c99 -
I. -Os -mthumb -mthumb-interwork -o obj/bootrom.o bootrom.c
bootrom.c: In function 'flash_mode':
bootrom.c:206:3: error: this 'for' clause does not guard... [-Werror=misleading-
indentation]
   for (volatile size_t i=0; i<0x100000; i++);
   ^~~
bootrom.c:208:2: note: ...this statement, but the latter is misleadingly indente
d as if it were guarded by the 'for'
  for(;;) {
  ^~~
cc1.exe: all warnings being treated as errors
make[1]: *** [../common/Makefile.common:80: obj/bootrom.o] Error 1
make[1]: Leaving directory '/pm3/bootrom'
make: *** [Makefile:9: bootrom/all] Error 2
pm3 ~$
Gator96100 commented 5 years ago

ProxSpace is not designed for ancient releases. It is not recommended to use 2.1.0 or 2.0.0. If you need to compile 2.1.0 or 2.0.0 for some reason, I recommend using the ProxSpace version that was available at that time. For 2.1.0 or 2.0.0 this would be the original ProxSpace version from 13.06.2013 (the first commit in this repository), ProxSpace v2.0.2 might work as well.