'compiled' binary still depending on libs?

38 views
Skip to first unread message

Dexter Lagan

unread,
Aug 30, 2021, 10:47:34 AM8/30/21
to Racket Users
Hi folks,

  I'm getting a strange dependency problem when attempting to run my Invoicer binary on systems with corrupted or missing Racket libs. For example, if I attempt to run the compiled binary (with embedded DLLs, Windows 10 x64) on a system which has Racket installed, but missing Gregor, I get an error claiming the gregor package is missing. Yet I was under the impression that compiling to binary for distribution, especially with embedded DLLs, would not require ANY libs installed. Is there a reason for this?

Here's the program in question:

Thanks in advance!

Dexter

Matthew Flatt

unread,
Aug 30, 2021, 11:14:06 AM8/30/21
to Dexter Lagan, Racket Users
Some libraries have extra run-time files that they refer to with
`define-runtime-path` and similar. I think "gregor" is in that
category, where it needs files like "timezone.xml". Embedding DLLs
can't embed those extra files.

The intent is that you use `raco distribute` to package an executable
along with any needed run-time files into a directory. That whole
directory can then be moved to another machine to run it.
> application. (github.com) <https://github.com/DexterLagan/invoicer>
>
> Thanks in advance!
>
> Dexter
Reply all
Reply to author
Forward
0 new messages