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

Re: Another Dwarf Error with rawhide



On Sun, Apr 05, 2009 at 09:26:41AM -0400, Tom spot Callaway wrote:
> > Can you post a src.rpm or something like that, then I can try to
> > reproduce the error and see if I can fix the undefined references.
> 
> http://www.auroralinux.org/people/spot/review/new/flock-2.0-1.fc11.src.rpm

>From a quick look, it is most probably flock's or clucene's fault.
If you look why it can't find the symbols in libclucene.so, you should find:

   177: 0000000000000000     0 NOTYPE  GLOBAL HIDDEN  UND _ZN6lucene5index11IndexReader5closeEv

in flockLuceneImpl.o (and similarly for other symbols it couldn't find).
Looking at the preprocessed source (flockLuceneImpl.ii), you can see that
config/gcc_hidden.h header very early on adds
#pragma GCC visibility push(hidden)
and then some of the system headers either temporarily
#pragma GCC visibility push(default)
...
#pragma GCC visibility pop
or add visibility attribute to some namespaces (like std::, __gnu_cxx::
etc.).  But this doesn't seem to be done for the clucene headers, so you
are telling gcc that all symbols declared in those headers bind locally to
the same shared library.  You need to either wrap those headers with
#pragma GCC visibility push(default)
...
#pragma GCC visibility pop,
or add visibility attribute to the clucene namespaces.

	Jakub


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