racket / raco-cross

Other
7 stars 6 forks source link

Setup fails with 8.7 target on macOS running HEAD #10

Closed Bogdanp closed 1 year ago

Bogdanp commented 1 year ago

My local Racket is running the latest commit. I am able to cross compile to 8.6 just fine, but 8.7 fails during initial setup as below:

raco cross --version 8.7 --target x86_64-linux pkg install threading-lib
>> Cross configuration
 Target:    x86_64-linux
 Host:      x86_64-macosx
 Version:   8.7
 VM:        cs
 Workspace: /Users/bogdan/Library/Racket/raco-cross/8.7
>> Setting up for x86_64-linux-cs
Exception: failed assertion (fx= (fx+ (length used) (length unused)) (length (app-opnds ctxt))) at line 693, char 22 of cp0.ss
integer-bytes->integer: contract violation
  expected: bytes?
  given: #<eof>
^Cuser break
  context...:
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:686:0: compile-zo*
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:627:0: compile-zo*/cross-compile
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:452:15
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:441:12: build
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:412:0: maybe-compile-zo
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:210:0: compile-root
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:1020:0: check-recompile-module-dependencies
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:686:0: compile-zo*
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:627:0: cuser breakompile-zo*/cross-compile

  context...:
   /Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt/Users/bogdan/sandbox/racket/racket/collects/racket/system.rkt:452::17415:
   0/Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt: :441do-system*/exit-code:
   12: /Users/bogdan/sandbox/racket/racket/collects/racket/system.rkt:211build:
   0: system*/Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt
   :412:0/Users/bogdan/sandbox/racket/racket/share/pkgs/raco-cross-lib/private/cross/setup.rkt: maybe-compile-zo:
   13:0/Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt: :setup-distribution210:
   0: compile-root/Users/bogdan/sandbox/racket/racket/share/pkgs/raco-cross-lib/private/cross/command.rkt
   :/Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt:2541020:4: download-and-setup:
   0.../racket/cmdline.rkt: check-recompile-module-dependencies:191
   :51/Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt: :...s/racket/cmdline.rkt:191:51
   686body of "/Users/bogdan/sandbox/racket/racket/share/pkgs/raco-cross-lib/private/cross/command.rkt"
   :0/Users/bogdan/sandbox/racket/racket/collects/raco/raco.rkt: :compile-zo*41
   :0/Users/bogdan/Library/Racket/raco-cross/8.7/x86_64-linux-cs/collects/compiler/private/cm-minimal.rkt
   :body of "/Users/bogdan/sandbox/racket/racket/collects/raco/raco.rkt"627
   :body of "/Users/bogdan/sandbox/racket/racket/collects/raco/main.rkt"
0: compile-zo*/cross-compile
   ...
make: *** [cross_setup] Error 1
mflatt commented 1 year ago

The problem is a real bug in v8.7, but one that turns out not to matter in the way things are normally compiled. I'll push a workaround at the raco cross level.

Bogdanp commented 1 year ago

Thanks! I can confirm that it works.

mflatt commented 1 year ago

Just for the record here, racket/racket@9ee497b40989cbe6d8aaa7d591ba0e670057986c has a repair for relevant bug in v8.7.