Re: undefined symbol



Xun Cheng <xun@cs.ucsb.edu> writes:
> I'm trying gnome v0.20. Downloaded and installed those RPMS.
> But I can run panel and background-properties (not sure about other
> progs). The error message is
>  
> panel: error in loading shared libraries
>: undefined symbol: __eh_pc

Looks like some C++ compiler run-time stuff.
 
> I don't know which library has problem (any way I can find out?).

Use `nm --dynamic' on the binary and .so files.  Look at the `nm' info
file for more info.  (All this assumes that you've a Linux system, or
GNU binutils installed).

> The following is the result of ldd panel
> 
>         libmico2.0.5.so => /usr/lib/libmico2.0.5.so (0x40006000)
	[snip]
>         libstdc++.so.2.8 => /usr/local/lib/libstdc++.so.2.8 (0x404bd000)
>         libm.so.6 => /lib/libm.so.6 (0x40507000)
>         libc.so.6 => /lib/libc.so.6 (0x40520000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
> 
> I'm guessing my libstdc++.so.2.8 has problem because I can run
> keyboard-properties and it doesn't load libstdc++.

Looks like it.  `libstdc++' comes from `/usr/local/lib' while the rest
come from /usr/lib.  Try removing the one from /usr/local/lib.  

This problem can occur if you have an egcs snapshot installed in
/usr/local, but `panel' and `mico' were compiled with gcc 2.8.x (or the
other way round: you have gcc 2.8.x in /usr/local, but the RPMs use egcs
snapshots).  gcc and egcs use the same soname for libstdc++, but egcs
snapshots have a newer exception implementation.  For one, `__eh_pc' was
removed in the thread-safe exceptions rewrite.

- Hari
-- 
Raja R Harinath ------------------------------ harinath@cs.umn.edu
"When all else fails, read the instructions."      -- Cahn's Axiom
"Our policy is, when in doubt, do the right thing."   -- Roy L Ash



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]