Opened 13 years ago

Closed 13 years ago

#591 closed defect (invalid)

Xapian-bindings/python; libs/_xapian.so - file not found

Reported by: framedbutton Owned by: Richard Boulton
Priority: normal Milestone:
Component: Xapian-bindings (Python) Version: 1.3.0
Severity: major Keywords:
Cc: Blocked By:
Blocking: Operating System: Linux

Description

Hello, I tried to compile xapian from svn and got:

make[4]: Entering directory `/home/michal/build/xapian/xapian-bindings/python'
test -d xapian || mkdir xapian
/bin/sh ../libtool  --config > libtoolconfig.tmp
. ./libtoolconfig.tmp; cp $objdir/_xapian.so xapian
cp: cannot stat `.libs/_xapian.so': No such file or directory
make[4]: *** [xapian/_xapian.so] Error 1 

Explicitly configuring with --enable-shared=yes doesn't seem to change the result. I am using the latest python2 in arch (2.7.2).

Change History (1)

comment:1 by Olly Betts, 13 years ago

Resolution: invalid
Status: newclosed

Debugged this on IRC - for the benefit of people from the future finding this ticket via searches for the error message, here's what was going on:

The problem turned out to be that the tree had been configured for python 3.2, then xapian.la built, and then reconfigured for python 2.7.

Python 3.2 names the shared object _xapian.cpython-32mu.so, which we do handle correctly. But in this case, _xapian.la exists so we don't rebuild for python 2.7, and python 2.7 names the shared object _xapian.so, which doesn't exist. Even if the name were the same, the object built for 3.2 wouldn't work - a "make distclean" is needed before reconfiguring to return the tree to the freshly unpacked state, and that solved the problem in this case.

Note: See TracTickets for help on using tickets.