Opened 14 years ago

Closed 14 years ago

#453 closed defect (incomplete)

can not use xapian-compact to merge dbs

Reported by: elmo1349 Owned by: Olly Betts
Priority: normal Milestone:
Component: Other Version: 1.0.18
Severity: normal Keywords:
Cc: Blocked By:
Blocking: Operating System: Linux

Description (last modified by Olly Betts)

xapian-compact db1 db2 output
postlist: Reduced by 51.8981% 16952K (32664K -> 15712K)
record: Reduced by 15.4246% 1424K (9232K -> 7808K)
termlist: Reduced by 16.3145% 2656K (16280K -> 13624K)
position: Reduced by 15.3489% 7936K (51704K -> 43768K)
value: Reduced by 15.4618% 1232K (7968K -> 6736K)
spelling ...xapian-compact: symbol lookup error: xapian-compact: undefined symbol: _ZNK10FlintTable12really_emptyEv

And both db1 and db2 have not spelling/synonym table:

xapian-check db1
spelling:
Lazily created, and not yet used.

synonym:
Lazily created, and not yet used.

Change History (8)

comment:1 by Olly Betts, 14 years ago

Description: modified (diff)

This means you are picking up the shared library (libxapian.so on Linux) from an older 1.0.x release. That symbol is an "internal to Xapian" method which was added in 1.0.18, and is used by xapian-compact. So you're running xapian-compact from 1.0.18 with libxapian.so from 1.0.17 or earlier.

Try:

which xapian-compact
ldd $(which xapian-compact)

If that doesn't make things clearer feel free to paste or attach the output from those two commands here (if pasting, put 3 { on a line before and 3 } on a line after so trac shows it nicely).

comment:2 by Olly Betts, 14 years ago

Description: modified (diff)

Add quoting to description.

comment:3 by Olly Betts, 14 years ago

Resolution: invalid
Status: newclosed

This doesn't seem to be a bug in Xapian, but rather in the reporter's system configuarion, so closing as "invalid".

comment:4 by elmo1349, 14 years ago

Resolution: invalid
Status: closedreopened

Dear olly,

Here is the output, /usr/local/bin/xapian-compact

linux-vdso.so.1 => (0x00007fff08bff000) libxapian.so.15 => /usr/local/lib/libxapian.so.15 (0x00007f9e448c0000) libz.so.1 => /lib/libz.so.1 (0x00007f9e446a9000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f9e44399000) libm.so.6 => /lib/libm.so.6 (0x00007f9e44115000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f9e43efe000) libc.so.6 => /lib/libc.so.6 (0x00007f9e43b8f000) /lib64/ld-linux-x86-64.so.2 (0x00007f9e44c12000)

how to make sure that my libxapian.so from 1.0.18 ? I compile xapian from tar.

comment:5 by Olly Betts, 14 years ago

Try:

strings /usr/local/lib/libxapian.so.15 | fgrep '1.0.'

comment:6 by elmo1349, 14 years ago

strings /usr/local/lib/libxapian.so.15 | fgrep '1.0.' 1.0.18

comment:7 by Olly Betts, 14 years ago

What does this report?

nm /usr/local/lib/libxapian.so.15 | grep really_empty

What I get (and what I'd expect) is this (the first number will probably be different for you as that's the address of the code):

0000000000079220 T _ZNK10FlintTable12really_emptyEv

comment:8 by Olly Betts, 14 years ago

Resolution: incomplete
Status: reopenedclosed

No response to explicit request for more information for 5 weeks - closing as "incomplete".

Note: See TracTickets for help on using tickets.