System Architecture: Intel
RedHat Release: RHL 5.1 (Manhattan)
FAQ Category: Application Notes
Modification Date: Oct 11, 1998
On systems with a non-english locale-setting, ater upgrading rpm to Version > 2.5.2, Netscape won't start anymore, giving an error message like "An error occurred running and (kein)/lib/netscape/netscape-communicator." (Example from a system with german locale-Setting).
When you start netscape by typing "netscape", "netscape-communicator", or
"netscape-navigator" from the shell, a shellscript in /usr/bin/netscape is
called, that - amoung other things - uses a call to rpm to determine,
where netscape was installed. This call relies on the reply "(none)" from rpm
for the case, that no special install-prefix was used (which should be the
default for most installations).
The new and improved rpm however returns a translated string instead of "(none)",
the german locale for example returns "(kein)".
There are actually gazillions of possible solutions, including downgrading
to rpm-2.5.2 (Don't! rpm-2.5.3 contains security-relevant fixes!).
Here is a better solution:
Open the file /usr/bin/netscape in an editor (don't worry,
it's only a shell-script) and go to line 25.
You will find a paragraph like this:
I="`rpm -q $which --qf '%{INSTALLPREFIX}\n'`"
if [ "$I" = "(none)" ]; then
I=/usr
fi
Right before that paragraph, insert the following two lines:
LANG_SAVE=$LANG
LANG="POSIX"
and right after the paragraph, append these two lines:
LANG=$LANG_SAVE
unset LANG_SAVE
This disables your language-setting for the duration of the test
and restores it afterwards, a solution which clearly is superiour to just
translating the "(none)".
I submitted a bug report to Red Hat and expect this problem to be solved
in the next rpm-release of netscape, which should be 4.07.
http://www.redhat.com/support/docs/rhl/rh51-errata-general.html#rpm http://www.redhat.com/support/docs/rhl/intel/rh51-errata-intel.html#Netscape