[Xapian-tickets] [Xapian] #409: Problem compiling python bindings in 1.0.16

Xapian nobody at xapian.org
Wed Nov 11 20:52:38 GMT 2009


#409: Problem compiling python bindings in 1.0.16
-----------------------------+----------------------------------------------
 Reporter:  manolopm         |        Owner:  olly   
     Type:  defect           |       Status:  closed 
 Priority:  normal           |    Milestone:         
Component:  Xapian-bindings  |      Version:  1.0.16 
 Severity:  normal           |   Resolution:  invalid
 Keywords:                   |    Blockedby:         
 Platform:  Linux            |     Blocking:         
-----------------------------+----------------------------------------------
Changes (by olly):

  * status:  new => closed
  * resolution:  => invalid


Old description:

> Hi:
>
> Trying to compile python bindings I get this error:
>
> /bin/sh ../libtool  --tag=CXX   --mode=link g++ -fno-strict-aliasing
> -Wall -Wno-unused -Wno-uninitialized -fvisibility=hidden
> -I/usr/local/include -g -O2 -avoid-version -module -shrext ".so"   -o
> _xapian.la -rpath /usr/lib/python2.5/site-packages xapian_wrap.lo
> -L/usr/local/lib -lxapian -lstdc++
> g++ -shared -nostdlib /usr/lib/gcc/x86_64-linux-
> gnu/4.3.2/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-
> gnu/4.3.2/crtbeginS.o  .libs/xapian_wrap.o  -L/usr/local/lib
> /usr/local/lib/libxapian.so -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2
> -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib -L/lib/../lib
> -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../.. -lstdc++
> -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.3.2/crtendS.o
> /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crtn.o  -Wl,-soname
> -Wl,_xapian.so -o .libs/_xapian.so
> creating _xapian.la
> (cd .libs && rm -f _xapian.la && ln -s ../_xapian.la _xapian.la)
> cp `test -f modern/xapian.py || echo './'`modern/xapian.py .
> /bin/sh ../libtool  --config > libtoolconfig.tmp
> . libtoolconfig.tmp; cp $objdir/_xapian.so .
> rm -f libtoolconfig.tmp
> PYTHONPATH=. /usr/bin/python -c "import _xapian;import xapian"
> Traceback (most recent call last):
>   File "<string>", line 1, in <module>
> ImportError: ./_xapian.so: undefined symbol:
> _ZNK6Xapian8Database19metadata_keys_beginERKSs
> make[2]: *** [xapian.pyc] Error 1
> make[2]: Leaving directory `/root/fisica-couch/sources/lucene-
> alternatives/xapian/xapian-bindings-1.0.16/python'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/root/fisica-couch/sources/lucene-
> alternatives/xapian/xapian-bindings-1.0.16/python'
> make: *** [all] Error 2

New description:

 Hi:

 Trying to compile python bindings I get this error:

 {{{
 /bin/sh ../libtool  --tag=CXX   --mode=link g++ -fno-strict-aliasing -Wall
 -Wno-unused -Wno-uninitialized -fvisibility=hidden -I/usr/local/include -g
 -O2 -avoid-version -module -shrext ".so"   -o _xapian.la -rpath
 /usr/lib/python2.5/site-packages xapian_wrap.lo -L/usr/local/lib -lxapian
 -lstdc++
 g++ -shared -nostdlib /usr/lib/gcc/x86_64-linux-
 gnu/4.3.2/../../../../lib/crti.o /usr/lib/gcc/x86_64-linux-
 gnu/4.3.2/crtbeginS.o  .libs/xapian_wrap.o  -L/usr/local/lib
 /usr/local/lib/libxapian.so -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2
 -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib -L/lib/../lib
 -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../.. -lstdc++
 -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.3.2/crtendS.o
 /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crtn.o  -Wl,-soname
 -Wl,_xapian.so -o .libs/_xapian.so
 creating _xapian.la
 (cd .libs && rm -f _xapian.la && ln -s ../_xapian.la _xapian.la)
 cp `test -f modern/xapian.py || echo './'`modern/xapian.py .
 /bin/sh ../libtool  --config > libtoolconfig.tmp
 . libtoolconfig.tmp; cp $objdir/_xapian.so .
 rm -f libtoolconfig.tmp
 PYTHONPATH=. /usr/bin/python -c "import _xapian;import xapian"
 Traceback (most recent call last):
   File "<string>", line 1, in <module>
 ImportError: ./_xapian.so: undefined symbol:
 _ZNK6Xapian8Database19metadata_keys_beginERKSs
 make[2]: *** [xapian.pyc] Error 1
 make[2]: Leaving directory `/root/fisica-couch/sources/lucene-
 alternatives/xapian/xapian-bindings-1.0.16/python'
 make[1]: *** [all-recursive] Error 1
 make[1]: Leaving directory `/root/fisica-couch/sources/lucene-
 alternatives/xapian/xapian-bindings-1.0.16/python'
 make: *** [all] Error 2
 }}}

--

Comment:

 The missing symbol is the method Xapian::Database::metadata_keys_begin:

 {{{
 #!sh
 $ echo _ZNK6Xapian8Database19metadata_keys_beginERKSs | c++filt
 Xapian::Database::metadata_keys_begin(std::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const&) const
 }}}

 This method was added in Xapian 1.0.9, so what this means is that you are
 trying to use xapian-bindings 1.0.16 (or 1.0.11) with xapian-core 1.0.8 or
 earlier - that's not a supported combination, and when you ran configure
 from xapian-bindings, you would have got a warning to this effect (it's
 not a hard error, as it will actually work unless a new symbol has been
 added, but we don't recommend it).

 If you actually have a newer xapian-core installed (as well as the old
 one) you need to tell xapian-bindings where it is when you run its
 configure script, e.g.:

 {{{
 #!sh
 ./configure XAPIAN_CONFIG=/usr/local/bin/xapian-config
 }}}

 So this isn't a bug in Xapian, hence closing as "invalid", which seems the
 most appropriate status we have for that.

-- 
Ticket URL: <http://trac.xapian.org/ticket/409#comment:3>
Xapian <http://xapian.org/>
Xapian



More information about the Xapian-tickets mailing list