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

Reply via email to