From: Ken H. <ke...@ha...> - 2006-01-22 18:29:44
|
Ken Hayber wrote: > Stephen Watson wrote: > >> Ken Hayber <ke...@ha...> wrote: >> >> >>> khayber@two ~/Download $ sh -x SystemTrayN/AppRun >>> + PROG=SystemTray >>> ++ dirname SystemTrayN/AppRun >>> + APP_DIR=SystemTrayN >>> ++ cd SystemTrayN >>> ++ pwd >>> + APP_DIR=/home/khayber/Download/SystemTrayN >>> + export APP_DIR >>> + '[' -z '' ']' >>> ++ /home/khayber/Download/SystemTrayN/rox_run ROX-CLib --runtime >>> + LD_LIBRARY_PATH=/home/khayber/.local/lib/ROX-CLib/Linux-ppc/lib >>> + export LD_LIBRARY_PATH >>> ++ uname -m >>> + ARCH=ppc >>> + case $ARCH in >>> ++ uname -s >>> + PLATFORM=Linux-ppc >>> + DEBUGGER= >>> + case $1 in >>> + BIN=/home/khayber/Download/SystemTrayN/Linux-ppc/SystemTray >>> + '[' -x /home/khayber/Download/SystemTrayN/Linux-ppc/SystemTray ']' >>> + exec /home/khayber/Download/SystemTrayN/Linux-ppc/SystemTray >>> Try `SystemTrayN/AppRun --help' for more information. >> >> >> >> So it can find ROX-CLib correctly when run from the command line, but not >> when run by the filer? >> > > Hmmm, more strangeness. Now I do not get the lib not found error. I > just get the dialog saying that the applet didn't create a window. > > When running other AppletRun scripts from the commandline, I usually can > fake the Panel by adding an integer on the commandline. (e.g. > ./AppletRun 5). That doesn't work here. I get the Usage message. > > This says to me that getopt_long is not returning -1, right? Let me run > some debugging here and see what I can find out. > > ... OK, that didn't take too long. The problem is here: main.c, line 200 if (c == -1) break; My gcc reports that this expression always returns false due to the limited range of c. Changing char c; to int c; at line 177 fixes it. This also matches the definition of the return value of getopt() and getopt_long(). Why x86 is OK is anyone's guess. HTH, Ken |