Comments (3)
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.
@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.
This now seems to build correctly without errors
from kiwix-build.
Related Issues (20)
- Fix win32 cross-compilation when wine is installed on the system.
- Libzim releases include the full libicu data HOT 4
- Release native_static on macos fails to trigger workflow. HOT 5
- Last publication of kiwix-tools seems to not work on raspberryPi HOT 6
- Instruction to use kiwix-build seems wrong in the `README.md` HOT 1
- Build libzim & libkiwix for Android with debug symbol HOT 2
- Failed to build zim-tools on ubuntu22.04 (wsl) HOT 3
- Use libxapian 1.4.23 HOT 7
- Fix double publications of release archives
- Incorrect docker trigger on macOS HOT 2
- aarch64 bionic should not require GLIBCXX 3.4.26 and 3.4.29 HOT 8
- Update ICU to a more recent version. HOT 2
- Why compiling libkiwix for iOS/macOS does embeds the libzim? HOT 7
- Use latest/future version of aria2c HOT 2
- Fix cross_compilation environment setting.
- Last version of aria2 1.37.0 doesn't compile on bionic. HOT 2
- CoreKiwix.xcframework not usable with iOS Simulator HOT 5
- Wrap XCFramework into a swift package, for Apple (iOS, macOS) distribution HOT 3
- Explicit dependence names for macOS HOT 3
- post checksums for AppImage HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kiwix-build.