|
From: Carsten H. (T. R. <ra...@ra...> - 2006-01-10 08:41:43
|
On Tue, 10 Jan 2006 09:02:08 +0100 DoubleHP <dh...@do...> babbled: > I use Engage to start gaim on Gentoo. It came today that my gaim 2 beta was > broken for some Gentoo reasons. > > E (build around 21st dec 05) presents me a dialog where it says: > > Enlightenment was unable run the program: > /usr/bin/gaim > The command was not found. > > - my build is old, but I dont think any one could possibly have my bug (see > below) > - I d rather say "Enlightenment was unable TO run the program" but I am not > native English. > - the actual error was not that the command was not found, and thus the > meaning itself is also wrong: > > $ which gaim > /usr/bin/gaim > > $ file /usr/bin/gaim > /usr/bin/gaim: ELF 32-bit LSB executable [...] > > $ /usr/bin/gaim > /usr/bin/gaim: error while loading shared libraries: libdbus-glib-1.so.1: > cannot open shared object file: No such file or directory > > here we are: command IS found, but program is not linkable. > > Not urgent, but should be patched before stable E released. > > Challenge: how to make the difference between command not found and linker > error ? no clue :) aah. this is because /bin/sh returns 127 If the command is not found. it looks like ld.so also exist with 127 if shared lib linking doesn't work - so we have no way to really knwo exactly what the error was - other than there was an error runinbg the application. the message was based on the sh return of the command not being found. i don't think we are likely to catch and log/parse the stdout/stderror of all programs launched to try figure out the errors (not to mention parsing them is nigh impossible as the errors will get translated based on locale - so we need different parsers based on each translation locale for the system... not going to happen. even if we just capture and log (up to the first N lines of output - whihc we can actually do how with fork & pipe (we need to be able top handle stderror though... that could be a useful addition) we could just display whatever the process spweds out in a dialog - but even then it may not make a lot of sense...). -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ra...@ra... 裸好多 Tokyo, Japan (東京 日本) |