| <<<Back 1 day (to 2017/06/25) | 20170626 |
Guest86017 | Hello guys, Mupdf is crashing in Android Nougat version, logcat shows error "couldn't find "libmupdf_java32.so" and "com.artifex.mupdfdemo.MuPDFCore.<clinit> (MuPDFCore.java:22)" is there any solution or workaround for this? | 09:03.24 |
| Any mupdf developer here? | 09:08.51 |
tor8 | Guest86017: did you install it from the google play store, the release apk or build it yourself? | 09:09.27 |
Guest86017 | i am using mupdf library in my android project | 09:10.03 |
| It is working on other devices but the app crashes on Nougat and crash report indicates the crash from mupdf library | 09:11.16 |
| I got a copy from here https://www.mupdf.com/docs/android-build-viewer.html | 09:11.31 |
tor8 | Guest86017: does the apk from https://mupdf.com/downloads/ also crash? | 09:14.03 |
Guest86017 | No i did not check these apk but i downloaded one from Playstore for testing and that one also crash on Android Nougat | 09:16.14 |
tor8 | Guest86017: odd. I use Android N on my device with no crashes. | 09:17.29 |
| which device is it? | 09:18.03 |
Guest86017 | Its Galaxy s6 | 09:18.45 |
| ameabi-v7a | 09:19.06 |
| also on Nexus 5x | 09:19.37 |
tor8 | my phone is a nexus 5x... | 09:20.02 |
Guest86017 | The one from Playstore is working on your device? | 09:20.40 |
tor8 | and it does not crash on the samsung s6 that I have available to test on | 09:20.50 |
| yes, the one from play store | 09:20.54 |
Guest86017 | strange! In crash it says it could not find .so file | 09:21.22 |
tor8 | that's often a problem when people build from the source and either miss a step in the build instructions or use the wrong NDK for their target | 09:22.03 |
Guest86017 | On documentation of Android Nougat they are saying that private NDK libraries wont be supported in Nougat so we have to use library which uses public NDK. | 09:22.27 |
tor8 | but since the play store version doesn't work either, I'm at a loss what to say | 09:22.48 |
Guest86017 | Even MUPDF from playstore crashes. | 09:23.10 |
| yes | 09:23.12 |
tor8 | Guest86017: could you try out the "MuPDF mini" app on the play store, see if that one also crashes? | 09:23.16 |
Guest86017 | ok let me check. | 09:23.28 |
tor8 | https://play.google.com/store/apps/details?id=com.artifex.mupdf.mini | 09:23.32 |
Guest86017 | Is there any difference in mini version? | 09:29.11 |
| This one dose not crash but it shows 0 page when i open a pdf. | 09:30.05 |
tor8 | it uses a different JNI library. | 09:30.27 |
| does adb logcat show any messages? | 09:30.42 |
Guest86017 | com.artifex.mupdf.mini I/art: Rejecting re-init on previously-failed class java.lang.Class<com.artifex.mupdf.fitz.Document>: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.artifex.mupdf.mini-1/base.apk"],nativeLibraryDirectories=[/data/app/com.artifex.mupdf.mini-1/lib/arm, /system/fake-libs, /data/app/com.artifex.mupdf.mini-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]] | 09:35.19 |
| Seems like same error but it didn't crash app | 09:36.25 |
tor8 | yes, mupdf mini is a bit more robust against crashing | 09:36.44 |
Guest86017 | Do you think it is related to these ? https://android-developers.googleblog.com/2016/06/android-changes-for-ndk-developers.html | 09:38.50 |
tor8 | no, I checked those and (a) we use API 16 and 21 only, so backwards compatibility mode should be in effect | 09:39.26 |
| and (b) I use android 7 myself, and have seen no problems in that regard | 09:39.41 |
| I really have no idea where to start | 09:39.52 |
Guest86017 | oh ok | 09:40.17 |
tor8 | and we only link against the jnigraphics, log, and math libraries (all of which are in the public API) | 09:44.01 |
Guest86017 | ok thank you for your efforts. | 09:49.54 |
tor8 | Guest86017: if you find out what's wrong, please let us know | 09:52.57 |
Guest86017 | sure. | 09:53.38 |
avih | tor8: do you still plan to use some implementation for Number.toString? i think this could be used as a base for some C code https://0x0.st/Uv8.txt unless you have some more "proper" algorithm? | 11:33.04 |
tor8 | avih: yes. | 11:47.29 |
avih | what algorithm you plan to use? | 11:47.46 |
mvrhel_laptop | Robin_Watts: Morning. So my repos has a commit to pass in the color space with the group pushes, adjust the color space of the group pixmap, and do a transform during the pop if needed. This obviously will only work in conjunction with your subtractive cmyk fixes. How is that going? | 17:03.03 |
| I wonder if we need to work on a branch for this | 17:03.12 |
Robin_Watts | mvrhel_laptop: I'm still bashing at the subtractive cmyk stuff. | 17:42.25 |
| It's being tricksy. | 17:42.30 |
mvrhel_laptop | Robin_Watts: ok. I am not sure what I should work on with respect to any of this without getting in the way | 17:42.57 |
| I will wait I guess until you have this in place | 17:43.17 |
Robin_Watts | I'll yell as soon as I get something close to usable. | 17:43.47 |
dcaro | hello | 18:48.53 |
mubot | Welcome to #mupdf, the channel for MuPDF. If you have a question, please ask it, don't ask to ask it. Do be prepared to wait for a reply as devs will check the logs and reply when they come on line. | 18:48.53 |
dcaro | i have used a mupdf function to search text | 18:50.01 |
| but is it possible to get the words just before and after th searched text ? | 18:50.33 |
| i want to implement something similar to what the evince viewer does when searching text | 18:51.06 |
Robin_Watts | dcaro: MuPDF is a C lib, from which various tools are built. | 18:56.14 |
| The C lib provides a mechanism for getting the text from a page as a structure that can be used at will. | 18:56.44 |
| The tools just dump that structure as text. | 18:56.58 |
dcaro | which function/structure should I use ? | 18:57.09 |
Robin_Watts | So it all depends at what level you are calling MuPDF. | 18:57.14 |
dcaro | ha | 18:57.15 |
| i use what is in include/mupdf/ | 18:57.38 |
| more precidely I use fz_search_page_number | 18:58.21 |
Robin_Watts | OK, so that wraps up various things into a nice form. | 18:59.10 |
| if you look at fz_search_page you'll see what it actually does. | 18:59.28 |
dcaro | Robin_Watts: the source code ? | 18:59.38 |
Robin_Watts | Yes. | 18:59.42 |
| source/fitz/util.c | 19:00.04 |
| It loads the page, it creates an fz_stext_sheet, and fz_stext_page and it runs the page to fill in those structures. | 19:00.48 |
| Then it calls fz_search_stext_page to search them. | 19:01.00 |
dcaro | fz_new_stext_page_from_page() ? | 19:01.19 |
Robin_Watts | That's the thing that does the complicated running of the page, and fills in the data structures, yes. | 19:01.45 |
| fz_search_stext_page then searches within that data structure. | 19:02.03 |
dcaro | is fz_stext_page a tree, a lits ? | 19:02.46 |
Robin_Watts | It's basically a list, yes. | 19:03.00 |
| It's a list of fz_page_blocks | 19:03.29 |
| each fz_page_block is either text or an image. | 19:03.39 |
| The data structure is defined in include/mupdf/fitz/structured-text.h | 19:04.18 |
dcaro | yes, the page_block def is just below | 19:04.35 |
Robin_Watts | dcaro: You are aware of the license terms for MuPDF, right? | 19:06.30 |
| That it's GNU AGPL licensed, and so any code you distribute will have to be GNU APGL licensed too ? | 19:06.51 |
dcaro | agpl v3 ? | 19:12.31 |
| yes | 19:12.39 |
Robin_Watts | yes. | 19:12.39 |
dcaro | i know that | 19:12.49 |
| agpl v3 or later | 19:12.57 |
| it seems also that mupdf runs on bsd* | 19:14.21 |
| though openbsd provides shared lib while all other os/distro provide static lib | 19:14.53 |
| it's a friend who told me that | 19:15.16 |
| Robin_Watts: thank you | 19:16.59 |
Robin_Watts | dcaro: No worries. good luck. | 19:18.28 |
mvrhel_laptop | Robin_Watts: ok sounds good | 19:20.36 |
Robin_Watts | mvrhel_laptop: there are still some issues with shadings and cmyk+alpha images, but most of the files seem ok. | 19:21.22 |
mvrhel_laptop | oh great | 19:21.32 |
ray_laptop | I wonder about dcaro's comment: it seems also that mupdf runs on bsd* hough openbsd provides shared lib while all other os/distro provide static lib -- I hope there is no confusion that NO version of mupdf is licensed under the BSD license, even if it "works" on some BSD unix port. | 23:12.14 |
| kate has enough people to track down | 23:13.11 |
| Forward 1 day (to 2017/06/27)>>> | |