[PLUG] Firefox Version Matters After OS Upgradep

chris (fool) mccraw gently at gmail.com
Wed Oct 20 18:53:30 UTC 2010


On Wed, Oct 20, 2010 at 11:40, Rich Shepard <rshepard at appl-ecosys.com> wrote:
> On Wed, 20 Oct 2010, Rogan Creswick wrote:
>
>> It will look in lots of places, depending on your system
>> configuration.  Everything in /etc/ld.so.conf, for starters.
>
> Hi Rogan,
>
>   It's the latter where it got the idea to look in wx and grass6.4, I
> believe.
>
>> If you know where the libraries are, you can add that path to
>> /etc/ld.so.conf (it's just a list of paths -- you may need to run
>> ldconfig after doing that
>
>   Done. Strace showed a symbol error in what I assume is a javascript
> script, so I downloaded another copy of 3.6.10, removed the existing 3.5.2
> and 3.6.10 and re-installed the latter. Still get this error:
>
> writev(2, [{"/usr/lib/firefox-3.6.10/firefox-b"..., 35}, {": "..., 2},
> {"symbol lookup error"..., 19}, {": "..., 2}, {"/usr/lib/tls/libxul.so"...,
> 22}, {": "..., 2}, {"undefined symbol: js_GetterOnlyPr"..., 43}, {""..., 0},
> {""..., 0}, {"\n"..., 1}], 10/usr/lib/firefox-3.6.10/firefox-bin: symbol
> lookup error: /usr/lib/tls/libxul.so: undefined symbol:
> js_GetterOnlyPropertyStub) = 126

there used to be another fairly easy step you can take yourself--not a
speedy one though.

bash -c 'for i in `locate \*.so` do
nm $i | grep js_GetterOnlyPropertyStub && echo $i
done'

this is effectively grepping all the shared libs on your system for
the missing symbol.  if you find one that is defined, you could just
add it to $LD_PRELOAD to test to see if everything works ok.

however i just tried this (for the first time in 6-7 years, on any
system) on my ubuntu 10.4 system and found that they'd stripped all
the shared libs, so it doesn't work anymore.  space savings, but at
the cost of being able to examine your own plumbing.  sigh.  i'm
certain it saved a lot of space in the install image but there are
cases where one does not want every damn binary/library on the system
to be stripped.  sigh.  might work for you, Rich--slackware might do
it differently (if you run 'nm /usr/lib/tls/libxul.so' and it has a
lot of output, instead of saying 'no symbols', you might be in luck.
you're looking for a line starting with 't' or 'T' that has the
missing symbol from strace in it.  it won't me in libxul, that one
should start with a 'U' for undefined--the symbol is clearly not in
the library that cannot find the symbol, since it knows about its own
symbols at the bare minimum...



More information about the PLUG mailing list