On Fri, 26 Nov 2010, David Coppa wrote: > On Fri, 26 Nov 2010, Antoine Jacoutot wrote: > > > On Thu, 25 Nov 2010, Jiri B. wrote: > > > > > Hi, > > > > > > I wanted to give a try to x11/pinot but... > > > > > > Previous instance 32393 died prematurely > > > pinot-dbus-daemon:/usr/local/lib/pinot/backends/libxapianbackend.so: > > > undefined symbol '__dso_handle' > > > > > > ...unusable, as it cannot create index :( > > > > > > Ports from Nov 25th, snapshot from Nov 20th. I tried to build pinot from > > > ports manually, same issue. > > > > It looks like a bug in gcc. > > From http://gcc.gnu.org/java/faq.html#4_7 : > > > > 4.7 I'm getting 'undefined symbol: __dso_handle' > > > > Some versions of the GNU linker have broken support for the '.hidden' > > directive, which results in problems with shared libraries built with > > recent versions of gcc. > > > > There are three solutions: > > > > * downgrade to binutils that don't support .hidden at all, > > * upgrade to a recent binutils, or > > * undef the HAVE_GAS_HIDDEN definition in gcc's auto-host.h (and > > rebuild gcc). > > The following workaround should work, but I'd prefer the HAVE_GAS_HIDDEN > solution.
This works I already tried it this morning, but it's yuck. > > ciao, > david > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/x11/pinot/Makefile,v > retrieving revision 1.18 > diff -u -p -r1.18 Makefile > --- Makefile 22 Nov 2010 08:37:04 -0000 1.18 > +++ Makefile 26 Nov 2010 10:17:11 -0000 > @@ -5,7 +5,7 @@ SHARED_ONLY= Yes > COMMENT= personal search and metasearch > > DISTNAME= pinot-0.96 > -REVISION= 3 > +REVISION= 4 > > CATEGORIES= x11 misc > > Index: patches/patch-IndexSearch_Xapian_ModuleExports_cpp > =================================================================== > RCS file: patches/patch-IndexSearch_Xapian_ModuleExports_cpp > diff -N patches/patch-IndexSearch_Xapian_ModuleExports_cpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-IndexSearch_Xapian_ModuleExports_cpp 26 Nov 2010 > 10:17:11 -0000 > @@ -0,0 +1,15 @@ > +$OpenBSD$ > +--- IndexSearch/Xapian/ModuleExports.cpp.orig Fri Nov 26 10:38:48 2010 > ++++ IndexSearch/Xapian/ModuleExports.cpp Fri Nov 26 10:39:35 2010 > +@@ -30,6 +30,11 @@ using std::string; > + > + extern "C" > + { > ++ void *__dso_handle = NULL; > ++} > ++ > ++extern "C" > ++{ > + PINOT_EXPORT ModuleProperties *getModuleProperties(void); > + PINOT_EXPORT bool openOrCreateIndex(const string &databaseName, bool > &obsoleteFormat, > + bool readOnly, bool overwrite); > -- Antoine