[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