sharplispers / ironclad

A cryptographic toolkit written in Common Lisp
BSD 3-Clause "New" or "Revised" License
166 stars 28 forks source link

Release 0.45 won't build on SBCL 1.5.0 on x86-64 #15

Closed fare closed 5 years ago

fare commented 5 years ago

While building file ironclad/src/common.lisp with SBCL 1.5.0 on a Linux x86-64 box, I got the following error:

; compiling (DEFUN XOR-BLOCK ...)
debugger invoked on a SIMPLE-ERROR in thread
#<THREAD "main thread" RUNNING {10005285B3}>:
  Undefined instruction: SB-VM::MOVZXD in
 (SB-ASSEM:INST SB-VM::MOVZXD SB-VM::RESULT SB-VM::MEMREF)

There have probably been changes in SBCL internals that must be accommodated.

glv2 commented 5 years ago

That's strange. I'm using SBCL 1.5.0 on a Linux x86-64 machine too and I don't see this error.

In fact, the source code of ironclad doesn't contain any direct call to movzxd. However, calls to the deprecated sb-vm::movzxd function could appear if ironclad get compiled using an old version of the nibbles library. Could you check if your machine uses the most recent version of nibbles (August 2018)?

fare commented 5 years ago

Indeed, that was the problem. Thanks for the quick diagnosis!