Comment 37 for bug 475891

Revision history for this message
Scott Howard (showard314) wrote : Re: eagle crashes on: zoom into schematic

The debian maintainer returned from vacation and had this to say about the bug:

"
Eagle looks for its data files in the same directory as the executable
like so (more or less):
prefix=$(dirname $(dirname $(realpath $(which $argv0))))

We can set argv[0] using the -a option of exec. See `help exec`.

You can test this out at the command line:
$ ls -l .eagle/bin/eagle
-rwxr-xr-x 1 sjackman sjackman 11473300 2009-12-14 19:52 .eagle/bin/eagle
$ argv0=~/.eagle/bin/eagle; dirname $(dirname $(realpath $(which $argv0)))
/home/sjackman/.eagle

If we remove the executable from ~/.eagle/bin/eagle, eagle can still
find its data files. However, if argv[0] doesn't actually point to the
real executable, eagle will crash as soon as you use try to move a
wire. I don't know why that is.

At this point, we need to co-operate with upstream to ask them to add
a couple command line options. At the very least, it needs a --datadir
option to point to the data files. An additional --license option
would be very useful. If we had both these options, we could then
launch eagle like so:
eagle --datadir /usr/share/eagle --license ~/.eagle/license.key"

So he doesn't know why this fix works, but it does. I don't know if this would be good enough for the SRU, but unfortunately, with the closed code, I don't know if we can figure out what is going on. I'm working with upstream to see if we could get the above command line options included in future versions.

I'm setting back to "new," however, please reject if you are uncomfortable uploading without understanding the exact reason why the fix works. The fix is in comment #8.