21.06.2010, 10:52
(21.06.2010, 09:38)hvdwolf Wrote: The linux version should be 100% statically compiled. A dynamically linked version will most certainly fail as soon as it is run on another version as the distribution version it was compiled on.
I've just tried with an Ubuntu 8.10 but it fails
Quote:gtrnctr.c:467: error: gtc_rd_deinit undeclared here (not in a function)
make: *** [gtrnctr.o] Error 1
user@ubuntu810desktop:~/gpsbabel-1.3.6$
This didn't help me.
(21.06.2010, 09:38)hvdwolf Wrote: It will definitely fail on another distribution no matter the version.
As mentioned: A completely statically built version might run on all linux versions as long as the kernel (file and memory) calls haven't changed too much, but I wouldn't worry about that. I will see if I can compile such a statically linked version.
That would be great. How would you modify the Makefile to accomplish this?
(20.06.2010, 17:14)hvdwolf Wrote: Nice, but for OSX it is not correct (Sorry, OSX differs on this point).
When using "linux ported" binaries you do that either from MacPorts or from Fink or you download the source and compile it yourself in which case it is installed in /usr/local/bin (default prefix). In case you use MacPorts, binaries are installed in /opt/local/bin. In case you use Fink, binaries are installed in /sw/bin.
Note that both MacPorts and Fink will set the binary paths in the PATH environment upon installation.
Linux might differ as well. Some distributions install "foreign" programs in /usr/local/bin. If you compile yourself it will definitely be installed in /usr/local/bin.
(That's why I mentioned some posts ago: "If you need info please let me know..")
I was right as I described the current behaviour of RouteConverter. It doesn't seem to be adequate for Mac OS X, as Fink and MacPorts do not install gpsbabel to /usr/bin but it's the current behaviour.
(20.06.2010, 17:14)hvdwolf Wrote: To my humble opinion, the most "fail safe" way for linux would be (I think):
- the binary defined within the options dialog
- try to find the binary via the PATH, so without a path specified (/usr/bin, /usr/sbin, /usr/local/bin are always in the PATH statement)
I had problems when not specifying the path to gpsbabel as the JVM seems to call binaries without access to the shell's PATH.
--
Christian
Christian