cryptoadvance / specter-diy

DIY airgapped hardware wallet that uses QR codes for communication with the host
MIT License
440 stars 73 forks source link

[mac] make disco fails: mpy-cross #144

Closed jonathancross closed 3 years ago

jonathancross commented 3 years ago

I am trying to follow the build.md instructions on macOS 10.14.6.

Any suggestions on what might be wrong here?

make disco
Building cross-compiler
make -C f469-disco/micropython/mpy-cross \
    DEBUG=0 && \
    cp f469-disco/micropython/mpy-cross/mpy-cross bin
python3 ../py/makeversionhdr.py build/genhdr/mpversion.h
LINK mpy-cross
clang -o mpy-cross build/py/mpstate.o build/py/nlr.o build/py/nlrx86.o build/py/nlrx64.o build/py/nlrthumb.o build/py/nlrpowerpc.o build/py/nlrxtensa.o build/py/nlrsetjmp.o build/py/malloc.o build/py/gc.o build/py/pystack.o build/py/qstr.o build/py/vstr.o build/py/mpprint.o build/py/unicode.o build/py/mpz.o build/py/reader.o build/py/lexer.o build/py/parse.o build/py/scope.o build/py/compile.o build/py/emitcommon.o build/py/emitbc.o build/py/asmbase.o build/py/asmx64.o build/py/emitnx64.o build/py/asmx86.o build/py/emitnx86.o build/py/asmthumb.o build/py/emitnthumb.o build/py/emitinlinethumb.o build/py/asmarm.o build/py/emitnarm.o build/py/asmxtensa.o build/py/emitnxtensa.o build/py/emitinlinextensa.o build/py/emitnxtensawin.o build/py/formatfloat.o build/py/parsenumbase.o build/py/parsenum.o build/py/emitglue.o build/py/persistentcode.o build/py/runtime.o build/py/runtime_utils.o build/py/scheduler.o build/py/nativeglue.o build/py/ringbuf.o build/py/stackctrl.o build/py/argcheck.o build/py/warning.o build/py/profile.o build/py/map.o build/py/obj.o build/py/objarray.o build/py/objattrtuple.o build/py/objbool.o build/py/objboundmeth.o build/py/objcell.o build/py/objclosure.o build/py/objcomplex.o build/py/objdeque.o build/py/objdict.o build/py/objenumerate.o build/py/objexcept.o build/py/objfilter.o build/py/objfloat.o build/py/objfun.o build/py/objgenerator.o build/py/objgetitemiter.o build/py/objint.o build/py/objint_longlong.o build/py/objint_mpz.o build/py/objlist.o build/py/objmap.o build/py/objmodule.o build/py/objobject.o build/py/objpolyiter.o build/py/objproperty.o build/py/objnone.o build/py/objnamedtuple.o build/py/objrange.o build/py/objreversed.o build/py/objset.o build/py/objsingleton.o build/py/objslice.o build/py/objstr.o build/py/objstrunicode.o build/py/objstringio.o build/py/objtuple.o build/py/objtype.o build/py/objzip.o build/py/opmethods.o build/py/sequence.o build/py/stream.o build/py/binary.o build/py/builtinimport.o build/py/builtinevex.o build/py/builtinhelp.o build/py/modarray.o build/py/modbuiltins.o build/py/modcollections.o build/py/modgc.o build/py/modio.o build/py/modmath.o build/py/modcmath.o build/py/modmicropython.o build/py/modstruct.o build/py/modsys.o build/py/moduerrno.o build/py/modthread.o build/py/vm.o build/py/bc.o build/py/showbc.o build/py/repl.o build/py/smallint.o build/py/frozenmod.o build/main.o build/gccollect.o   -Wl,-map,mpy-cross.map -Wl,-dead_strip -lm 
size $(find build -path "build/build/frozen*.o") mpy-cross
__TEXT  __DATA  __OBJC  others  dec hex
size: object: mpy-cross malformed object (unknown load command 9)
make[1]: *** [mpy-cross] Error 1
make[1]: *** Deleting file `mpy-cross'
make: *** [mpy-cross] Error 2

I tried looking for the path build/build/frozen*.o - but found nothing. Closest was this:

find ./f469-disco/micropython/mpy-cross/build -name '*frozen*.o'
./f469-disco/micropython/mpy-cross/build/py/frozenmod.o
jonathancross commented 3 years ago

Seems it was using an outdated /opt/local/bin/otool that was in my path. /usr/bin/otool was the right one. Found the fix here.