Code Monkey home page Code Monkey logo

Comments (3)

mgautierfr avatar mgautierfr commented on August 25, 2024

Rereading your compilation logs, I've seen that the -lrt flags come at the end of the command line and so does not come from xapian pkg-config itself.
If fact it comes from kiwix-tools compilation system itself : https://github.com/kiwix/kiwix-tools/blob/a3a0127edb40df243f08f3de48975fa45f46b964/meson.build#L15-L23

I think those series of lines are no more necessary with the last patches I've made on xapian part.
So we should simply remove them. Can you try on your side to remove them and recompile ?
(Just remove the lines in the kiwix-tools repository in the SOURCE directory) and relaunch kiwix-build.py)


I was writing a long post to explain you what I've done on the xapian part when I found what I've explained above. It is no more really relevant (especially the last part) because it is probably a bug in kiwix-tools build-system but it is still true so I keep it here :

Xapian checks if librt is available and compile with it if it is present. The check is made here (https://github.com/xapian/xapian/blob/master/xapian-core/configure.ac#L421-L437)

However, even if xapian link with librt, the released version of xapian do not add the -lrt flag in the pkg-config file, and then, other compilations (as kiwix-tools) fail because of undefined symbols.

So, I've made a patch to add the -lrt flag when necessary. This patch is patches/xapian_pkgconfig.patch in kiwix-build repository. The present version on master is bugged, I'd discovered it while cross-compiling for android and so, there is another (better) version on android branch. The commit for the fix is df62eea.

This is why I told you to try to recompile xapian with the android branch. To see if the last version of my patch is good enough.

If the -lrt flag is present in you compilation option but the compiler can't find it, this is either a bug in my patch (librt is not present and I the flag anyway) or a bug somewhere else (librt is present, xapian detect it but other compilation steps cannot).
What you can do is have a look on the log files (either in the LOGS directory of kiwix-build or in the xapian's config.log in BUILD_native_dyn/xapian-1.4.2 to see if xapian inded link with the librt.

from kiwix-build.

mgautierfr avatar mgautierfr commented on August 25, 2024

@automactic Just to mention that I've merged the android branch into master. So the last version of xapian patch is in master now. You can rebase your apple_platforms onto master now.

from kiwix-build.

automactic avatar automactic commented on August 25, 2024

This now seems to build correctly without errors

from kiwix-build.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.