Opened 6 months ago

Closed 4 months ago

#828 closed defect (invalid)

Failure to compile xapian on python 3.13beta1 with 1.4.25 on github ubuntu runner

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

Description

Hello:

I am trying to install the xapian bindings against library version 1.4.14 using the newest bindings - version 1.4.25 (as mentioned in #818). This is with 3.13beta1 Python on a github ubuntu 22.04 runner.

It is failing with the following errors:

xapian_wrap.cc: In function ‘PyObject* PyInitxapian()’: xapian_wrap.cc:66318:114: error: ‘FLAG_NGRAMS’ is not a member of ‘Xapian::TermGenerator’ 66318 | SWIG_Python_SetConstant(d, "TermGenerator_FLAG_NGRAMS",SWIG_From_int(static_cast< int >(Xapian::TermGenerator::FLAG_NGRAMS)));

|

xapian_wrap.cc:66331:99: error: ‘SNIPPET_NGRAMS’ is not a member of ‘Xapian::MSet’ 66331 | SWIG_Python_SetConstant(d, "MSet_SNIPPET_NGRAMS",SWIG_From_int(static_cast< int >(Xapian::MSet::SNIPPET_NGRAMS)));

| ~

xapian_wrap.cc:66352:110: error: ‘FLAG_NGRAMS’ is not a member of ‘Xapian::QueryParser’ 66352 | SWIG_Python_SetConstant(d, "QueryParser_FLAG_NGRAMS",SWIG_From_int(static_cast< int >(Xapian::QueryParser::FLAG_NGRAMS)));

|

xapian_wrap.cc:66355:116: error: ‘FLAG_NO_POSITIONS’ is not a member of ‘Xapian::QueryParser’ 66355 | SWIG_Python_SetConstant(d, "QueryParser_FLAG_NO_POSITIONS",SWIG_From_int(static_cast< int

(Xapian::QueryParser::FLAG_NO_POSITIONS)));

|

Both libxapian-dev libxapian30 are installed via apt.

I built a workflow specifically for building xapian. You can see the failing 1.4.25 build attempt in context at:

https://github.com/roundup-tracker/roundup/actions/runs/9079358835/job/24948392660

and all the attempts (including 1.4.18 and others) at https://github.com/roundup-tracker/roundup/actions/workflows/build-xapian.yml

I am building from source because I need the bindings to be installed in my 3.13 test environment and not in the default python environment for the platform.

I am releasing a new version of the Roundup Issue Tracker in a bit under two months and would like to be able to test xapian against 3.13 before release.

Thanks.

Change History (2)

comment:1 by Olly Betts, 6 months ago

We don't guarantee arbitrary combinations of xapian-core version and xapian-bindings version will work together and recommend using matching versions; non-matching versions often will work together but there's no guarantee. You should have got a configure-time warning from xapian-bindings like:

Xapian library is version $XAPIAN_VERSION but the bindings are version $PACKAGE_VERSION - we strongly recommend using matching versions.

I gather from #818 you can't using the matching xapian-bindings version for the xapian-core packaged in Ubuntu 20.04 because you need support for Python 3.13. I'd suggest either using newer xapian-core backported packages from the PPA (https://launchpad.net/~xapian/+archive/ubuntu/backports), or build and locally install the matching xapian-core version yourself first and then point xapian-bindings at that when you configure it).

Last edited 6 months ago by Olly Betts (previous) (diff)

comment:2 by Olly Betts, 4 months ago

Resolution: invalid
Status: newclosed

Closing as "invalid", which seems the closest of the available resolutions (since we don't guarantee arbitrary combinations of xapian-core version and xapian-bindings version will work together).

Note: See TracTickets for help on using tickets.