[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Some Gnustep problems, plus some workarounds
From: |
Richard Frith-Macdonald |
Subject: |
Re: Some Gnustep problems, plus some workarounds |
Date: |
Fri, 4 Oct 2002 11:18:11 +0100 |
On Thursday, October 3, 2002, at 12:26 pm,
lukekendall@optushome.com.au wrote:
This sort of crippled things for me. I compiled up GNUMail and
tried it, but didn't get very far - it started up with no fonts.
The errors reported were a bit misleading, too:
2002-10-02 08:54:27.908 make_services[5660] File NSDictionary.m: 458.
In [GSMutableDictionary -initWithContentsOfFile:] Contents of file
'/home/luke/GNUstep/Defaults/.GNUstepDefaults' does not contain a
dictionary
Both Adam and I independently fixed that one.
I guess we missed it because the more informative errors were being
logged
when GNUstep is built with 'debug=yes' .. which I routinely do.
2. I had trouble with my dhcp-assigned IP address yesterday, and found
I couldn't successfully run the /etc/rc.d/init.d/network script to
restart the network. I tracked it down to the fact that something
had altered the PATH. This was of course the
/etc/profile.d/GNUstep.sh
file. The trouble was that its search paths are inserted in front
of
all others, and this must have been overriding some needed commands.
I never heard of this happening ... I can't see what commands GNUstep
would put in the path that would confuse other things ... it would be
interesting to know so we can change them ... or tell RedHat if the
problem is more their fault.
3. When running GNUMail, the pasteboard service wouldn't start:
2002-10-02 10:49:31.947 GNUMail[2259]
I couldn't contact the pasteboard server for local host -
so I'm attempting to to start one - which will take a few seconds.
Trying to launch gpbs from /usr/GNUstep/System/Tools or a
machine/operating-system subdirectory.
It is recommended that you start the pasteboard server (gpbs) when
your windowing system is started up.
When I tried to run gpbs I got this error:
: /home/luke; gpbs
gpbs: error while loading shared libraries: libgnustep-gui.so.0:
cannot open shared object file: No such file or directory
This error message is produced by the operating system ... I don't know
if/how we can get
anything more informative out of it :-(
I *think* the system produces that error message when it is unable to
find a library that
the one it is loading uses, as well as if it is unable to find the
library being loaded ...
so it can be very misleading.
However ... in this case the problem might be that you haven't sourced
GNUstep.sh,
so your LD_LIBRARY_PATH is not set up, and the loader doesn't know
where to look
for the library.
That file does exist, however:
: /home/luke; locate libgnustep-gui
/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu/libgnustep-
gui.so
/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu/libgnustep-
gui.so.0
/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu/libgnustep-
gui.so.0.8.0
: /home/luke; ls -l
/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu/libgnustep-
gui.so*
lrwxrwxrwx 1 root root 19 Sep 29 23:39
/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu/libgnustep-
gui.so -> libgnustep-gui.so.0
lrwxrwxrwx 1 root root 23 Sep 29 23:39
/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu/libgnustep-
gui.so.0 -> libgnustep-gui.so.0.8.0
-rwxr-xr-x 1 root root 3686742 Sep 29 23:38
/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu/libgnustep-
gui.so.0.8.0
I also tried adding
/usr/GNUstep/System/Libraries/ix86/linux-gnu/gnu-gnu-gnu/ to my
LD_LIBRARY_PATH, but that didn't work either:
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/GNUstep/System/Libraries/ix86/
linux-gnu/gnu-gnu-gnu"
: /home/luke; gpbs
gpbs: Uncaught exception NSGenericException, reason: unable to
register GNUstepGSPasteboardServer
Looks like adding to the LD_LIBRARY_PATH *DID* work ... since you got
an exception. The fact that
you have an exception message proves that the libraries were loaded and
the program started running.
If gdomap is running, and gpbs failed to register with it, you have
three possibilities I know of ...
1. gpbs is already running (I don't think that's the case here)
2. gpbs ran, registered, and then crashed/was killed without
unregistering, and another process has
started up using the same port that gpbs used - so gdomap thinks that
gpbs is still running.
You can do 'gdomap -N' to list all the names gdomap knows about.
You can do 'gdomap -L name' to list the IP address and port number for
the name
The -L option gets gdomap to check to see if the port is in use
(exactly as it does when a
program tries to register itsself) ... and if it is no longer in use
will report that it can't find it.
If gdomap gives you the address and port of the gpbs process, you can
look around your system to
see which process is using the poprt ... and if it's one you don't
want to kill, you can simply
unregister it using the -U option.
3. The network config on your machine is screwed up.
If this is the case, you really need to look at specialist network
admin documentation ... but the
gdomap diagnostics should help you with that.