[racket] raco distribute problem

From: D. LoBraico (d at lobraico.com)
Date: Mon Apr 8 18:00:29 EDT 2013

I have a command-line application that I have been compiling with Racket
5.3.3 as follows:

raco exe client.rkt
raco distribute client-dist client

This creates a client-dist directory that I can then use to distribute
my work to other machines running the same operating system. Up until
this point I have been doing this on Mac OS X with no trouble. Now I am
trying to replicate this process on a Linux machine. I run the same
steps on a Linux box and have what appears to be the same client-dist

The difference, is that for some reason the version compiled on Linux
does not work! That is to say, the binary in client-dist/bin does not
function (even on the original machine that it was compiled on) in the
same way as the binary that resulted from `raco exe
client.rkt`. Specifically, it seems as if the executable thinks that it
is getting more command-line arguments than it is. I modified my code to
print all of the command-line arguments in hopes of getting some insight
into this and get this:

$ /tmp/client-dist/bin/client "test"
client: expects no arguments on the command line, given 3 arguments:   "test"

I suspect that whatever those 2 invisible arguments are is causing me
trouble, but I can't for the life of me figure out where they are coming
from. In case it is relevant, I am using the functional-command package
from PLaneT for command-line parsing.

Any ideas?


Posted on the users mailing list.