| <<<Back 1 day (to 2012/03/28) | 2012/03/29 |
ray_laptop | commited the fix for 692688 | 04:25.58 |
kammerer | Hi all, what versions of third party libraries should i use to build mupdf 1.0rc1? same as for 0.9? | 06:12.37 |
ray_laptop | kammerer: darn -- you mean they didn't add a rc1 of the third party packages :-( | 06:31.29 |
| kammerer: I recall discussion about that here on IRC -- you may want to check logs | 06:32.03 |
| kammerer: and there may be a git repos for the third party packages. (hoping against hope) | 06:32.38 |
| I think I fixed another couple of long standing bugs (bug 692542 and bug 692706). Doing cluster testing on it, then I'll commit. | 06:34.03 |
| feels good to clean up some of this old junk. | 06:34.42 |
ray_laptop | knows why ken likes a clean slate | 06:35.05 |
robin_watts_mac | kammerer: Use the latest thirdparty.zip from mupdf.com/download | 10:13.02 |
kens | Ah, evening in Bhutan again | 10:13.21 |
| ? | 10:13.26 |
kammerer | robin_watts_mac: thanks, but i've already found actual versions in core.mk and download them | 10:16.49 |
robin_watts_mac | kens: yup. | 10:17.05 |
kammerer | scanned pdf rendering work much faster) | 10:17.25 |
robin_watts_mac | kammerer: Testing with the thirdparty.zip on mupdf.com would be good, as that way the rc gets a workout. | 10:17.26 |
kammerer | there was a function pdf_age_store in mupdf 0.9, is there any analogue in 1.0rc? | 10:26.31 |
robin_watts_mac | kammerer: No. It's not needed any more. | 10:35.39 |
| vtorri: I didn't see an answer to your question in the logs. | 10:35.49 |
| MuPDF can use any thread lib you want. | 10:36.03 |
| It's not tied to anything at all - the client provides functions to take/drop locks. | 10:36.26 |
kammerer | robin_watts_mac: is it only one way to restrict memory usage via fz_context size? | 10:39.59 |
robin_watts_mac | That's the basic way, yes. | 10:46.44 |
kammerer | robin_watts_mac: what about complex way? | 10:47.20 |
robin_watts_mac | But we have a scavenging memory manager in there too now, so stuff will be evicted from the store automatically if allocations fail. | 10:47.26 |
| The client can supply malloc/free/realloc functions, and we'll use them. | 10:48.11 |
| Using that, you can enforce any limit you want. | 10:48.21 |
kammerer | robin_watts_mac: big thanks | 10:49.08 |
tor8 | robin_watts_mac: hi. did you see the qnx patch in the bugzilla that dropped in two days ago? | 10:50.14 |
robin_watts_mac | I noted its existence, but that's all. | 10:50.31 |
tor8 | wonder if we should take it on, but it's big enough that we may need a copyright assignment (or just exclude it from the commercial version)... then there's also the issue about maintaining it | 10:51.42 |
robin_watts_mac | I don't think we should get into the business of taking stuff just for one version. | 10:53.56 |
tor8 | maybe we could set up a "contributions" download directory, where these things could live | 10:54.51 |
| we could also host links to other mupdf based projects there too | 10:55.08 |
robin_watts_mac | tor8: I think a contrib dir is a good idea, in theory, but it leads us to a graveyard for code. | 11:03.14 |
tor8 | robin_watts_mac, paulgardiner: how to make a release build apk that can be installed? or is the debug apk good enough? | 11:19.06 |
robin_watts_mac | tor8: I think that, in order to make a release build apk you need to be registered as an android developer. | 11:19.56 |
| I tried that before I flew out here, but ran into problems. | 11:20.11 |
tor8 | okay, then we'll make RC1 as a debug apk just to get it out the door | 11:20.31 |
robin_watts_mac | I set up a new google account, registered as a developer, and they wanted to be paid $25. So I paid that off my credit card, and because that card was associated with my personal google account they have linked the accounts. | 11:21.22 |
tor8 | does the ndk-build make an optimized build? | 11:21.31 |
| well, that's bullshit of them | 11:21.45 |
robin_watts_mac | Pass. | 11:21.46 |
| Yes. | 11:21.50 |
| Clearly I'm not the only person to have had this problem, as there are instructions on how to remedy it (make a new account, pay again, and they will refund etc). | 11:22.41 |
| BUT... it's telling me that android@artifex.com is linked to an account already. | 11:23.09 |
| and it's most definitely not. | 11:23.15 |
| I gave up fighting it. I'll have another go when I get home unless you want to try. But you'll need to pick a new @artifex.com address. | 11:23.55 |
tor8 | argh, is the word for this crap, especially given googles (and other big faceless companies) customer support | 11:24.03 |
robin_watts_mac | I'm prepared to just write the $25 off - it'll cost more that that in my time chasing it. | 11:24.25 |
tor8 | APP_OPTIM := release in Application.mk should do the trick for building an optimised version, but it's hard to tell when I can't get ndk-build to print the actual commands it runs | 11:29.53 |
| *sigh* -msoft-float | 11:31.02 |
paulgardiner | tor8: AFAIK that does it. | 11:31.10 |
tor8 | ndk-build V=1 shows the commands | 11:31.26 |
| -fpic -ffunction-sections -funwind-tables -fstack-protector -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 | 11:31.51 |
| does that -msoft-float really make us use floating point emulation? | 11:32.15 |
robin_watts_mac | tor8: Not all android phones have fp hardware. | 11:33.18 |
| In particular armv5te don't. | 11:33.27 |
| soft-float means to use a software floating point lib. | 11:33.43 |
| The alternatives are to use armv7 (and NEON) or to use a floating point emulator, | 11:34.19 |
| The FPE is much slower than soft-float. | 11:34.19 |
tor8 | right. so it's not a problem then? *ignoramus* | 11:36.59 |
robin_watts_mac | tor8: I wouldn't worry about it. | 11:37.43 |
tor8 | okay. | 11:38.02 |
robin_watts_mac | We could theoretically do an ARM v7 build or something, but that seems like work. | 11:38.15 |
tor8 | robin_watts_mac: btw, something we did with the latest rearranging in the code added some bad inter-module dependencies. the pdfclean and pdfshow tools now link in the cmap and font data :( | 11:39.23 |
robin_watts_mac | tor8: Oh, hm... | 11:42.54 |
| I'm heading down to the room and out of wifi zone. Changing hotel tomorrow (fun and exciting 8-9 hour drive), so hopefully will have better connection. | 11:44.24 |
| Night all | 11:44.36 |
Salil | henrys:chrisl: I couldn't resolve the error which show up on -Z# option http://pastebin.com/Hhvy1Frx | 13:10.24 |
tkamppeter | kens, thank you very much for the fix/workaround. I will packjage it for Ubuntu and also comment in the Ubuntu bug. | 13:24.16 |
kens | Is it working OK for you tkamppeter ? | 13:24.28 |
tkamppeter | kesns, I have tested it and it really works. | 13:27.52 |
chrisl | Salil: I don't know what else to suggest - did you ever establish if you were getting past the initialisation? | 13:28.37 |
Salil | chrisl:No I have not. How can I establish that? Also setparams in zusparams.c, what does it do? Does it check the parameters passed to GS? | 13:31.32 |
kens | tkamppeter that's really great news, thanks for letting me know. | 13:33.22 |
chrisl | Salil: setparams sets the Postscript user parameters, I would have thought - it will check the settings are valid Postscript objects, but not much else | 13:35.30 |
| Salil: if you look here: http://ghostscript.com/doc/8.63/Use.htm#Debugging it lists all the interpreter and other -Z options which might be helpful | 13:37.20 |
Salil | chrisl: it seems to be throwing e_rangecheck error in that. How can I establish that I am getting past initialization? | 13:38.19 |
| chrisl: Yeah I see that. Its just that I have started with GS like a week ago I don't have much clue of the whole architecture especially without much expereince in PostScript. | 13:38.58 |
| chrisl: gs_init.ps initializes the GS and then it helps interpret the pdf that I am passing? | 13:39.32 |
| chrisl: Also I am compiling without cups. will that effect? | 13:39.52 |
chrisl | Salil: to even start interpreting your PDF, Ghostscript will need to have opened and interpreted (almost) all the files in the Resource/Init directory. | 13:42.07 |
| Compiling without CUPS is fine, Ghostscript doesn't use cups internally, at all | 13:42.52 |
Salil | chrisl: Is there a way to see which file its not able to interpret? and specifically which line/object? | 13:45.40 |
chrisl | Salil: not that I'm aware of - other than adding print statements to the Postscript, and seeing which ones come up | 13:46.58 |
| Salil: -dINITDEBUG might give you some clues...... | 13:49.42 |
Salil | chrisl: Let me try that. With -Zi# I can see how its interpreting PS file. I didn't have any idea about that before. One more question: it throws an error on first line which is version string in gs_init.ps ./psi/iname.c(195): Returning error -21? Why it would do that? And once it throws an error it keeps going...why? | 13:54.28 |
chrisl | Salil: I'm not sure without actually digging through the code, but my guess is that the -21 error (undefined) comes from looking up the name object and not finding it, and then, having not found, it goes ahead and creates the name object - hence carries on. | 13:56.47 |
Salil | chrisl: http://pastebin.com/0ahc7XWL Its crashing setuserparams d4,e2<1>0x5caee26(0): <exec_name>(0x5ae3424#250).setuserparams // (278)dict(3/3)0x5caee2c ./psi/idict.c(366): Returning error -2. | 13:59.09 |
chrisl | Salil: how can it return an error if it's crashing? | 14:00.11 |
Salil | chrisl: I guess I am not using proper terminology. It always returns an error and finally it returns code -15 which is e_rangecheck | 14:01.26 |
chrisl | Salil: so, I guess you need to debug why set_user_params() is throwing that error, then | 14:04.04 |
Salil | chrisl: though I get error in idict.c and never in set_user_params() but I think set_user_params doesn't return a error but code so I am not seeing that in debug log | 14:14.19 |
chrisl | Salil: it should only log from where the error stems, not very function through which it propagates (the output is noisy enough already!) | 14:16.56 |
| Salil: are you actually running this in a debugger? | 14:17.28 |
Salil | I am running it through XCode and debug log shows up in debug console. I can't set breakpoints yet as haven't figuered it out yet. | 14:20.44 |
henrys | anyone have a legal opinion about jpegxr/COPYRIGHT.txt? We have a customer that says we have to make a formal statement that any product that uses the library "conforms" to the spec. I've done a bit of research and this is completely different than microsoft's intent with the library i.e. http://blogs.technet.com/b/port25/archive/2008/07/25/the-osp-and-you.aspx | 14:22.01 |
chrisl | henrys: I understood it to mean it had to be used to be used to implement the JPEGXR spec, and nothing else - I'm aware of of any requirement for the formal statement of that. | 14:24.26 |
| s/I'm,/I'm not | 14:24.47 |
henrys | the spec reads that a conforming application must abide by the "normative" language in the spec "shall clauses", but the entire matter is ridiculous how can we say our product conforms if 95% of the conformity depends on a library we know nothing about. | 14:27.57 |
paulgardiner | Can someone remind me which function name prefixes should be used for functions that pass ownership of their result. I can remember new and load from tor8's comment the other day, but I think there were others | 14:28.31 |
chrisl | Salil: until you can set break points and interrogate variable values, I can't see much progress being made.... FWIW, I'd go back and double check things like endian settings, word length settings, variable size settings, signed/unsigned settings. | 14:28.42 |
| henrys: I think the important bit there is where it says "claiming conformance to the JPEG XR standard" - I think the word "claiming" is important there | 14:30.13 |
henrys | chrisl:the problem paragraph for the customer is "Copyright is not released..." | 14:30.24 |
chrisl | henrys: so? The same is true for our other third part libs | 14:30.59 |
henrys | I haven't seen language in the other licenses like that. | 14:33.21 |
chrisl | But we don't hold the copyright for those other libraries, somebody else does - in the case of jpegxr "somebody else" is Microsoft | 14:34.19 |
Salil | chrisl: I think the problems could be in the specific parameters for arm7. Here is the thing: arch.h is created by genarch.c while genarch is not created on arm7 as it won't run on Mac. I guess I will ned to modify manually arch.h for arm7...what do you think? | 14:35.01 |
| chrisl: to compile properly I create genarch echogs and other executables for x86 and use them during the compilation for arm7 | 14:36.07 |
chrisl | Salil: you *definitely* need to tailor arch.h for your architecture - frankly I'm surprised you're getting as far as you are without doing that! | 14:36.12 |
| henrys: I suspect that is in there to clarify that it *is* Microsoft that retains the copyright, and not ITU-T or ISO...... | 14:36.52 |
| Salil: Ghostscript 9.05 build has a feature where you can create a "static" arch.h (rather than one generated by genarch) and tell it to use that. | 14:37.49 |
Salil | chrisl: is it in the Makefile? Will it create for arm7 or still need to do manually? | 14:39.39 |
henrys | chrisl:I guess we are getting into interpretation but my read of "copyright is not release" was you can't use the library unless you conform. My counter might be: jpegxr does conform (it's the reference) the api is trivial so we conform... | 14:39.49 |
| I doubt that is true though like luratech or any other third party library we probably have setup bugs in our code. | 14:41.51 |
chrisl | henrys: if the sticking point is just a stuiable statement, I'm happy add something to the docs along the lines of "we use the jpegxr reference implementation solely for the purpose of implementing the jpegxr spec". | 14:43.09 |
| Salil: you still need to manually create a suitable arch.h for arm7, but then you can tell the build to use that, rather than one generated by genarch. It also lets you specify different compilers for the build utilities (genconf, echogs etc) and the Ghostscript object files. | 14:44.06 |
henrys | chrisl:we will need a suitable statement eventually I'll let you know how it goes thanks for your thoughts on this. | 14:46.20 |
henrys | hates this crap | 14:46.45 |
Salil | chrisl: yeah I am able to compile echogs and other utilities for arm7 but as I can't run those executable I have them in x86 and copy them to aux to let the compilation run for arm7 | 14:46.59 |
chrisl | Salil: ]with 9.05 you don't need to do that copying of exes around. | 14:48.42 |
Salil | chrisl: so what echogs do can be done by something else? same for other utlities? | 14:49.21 |
| chrisl: Oh I see what you mean | 14:49.43 |
tor8 | paulgardiner: find (and keep) | 14:49.48 |
Salil | chrisl: to compile them in x86 while other compiles for arm7 | 14:49.57 |
paulgardiner | tor8: ta | 14:50.08 |
chrisl | Salil: yes, exactly. | 14:50.09 |
| henrys: also, I'm not convinced that the OSP link you posted relates directly to the jpegxr license - I don't think OSP will have anything related to ITU/ISO/IEC in it, for one thing | 14:51.39 |
kens | Well the OSP is supposed to cover MS contributions I think. | 14:54.00 |
henrys | it looks like microsoft originally wrote the library with OSP and intended the code to be used in the spirit of that license then the code was donated to ITU who apparently changed the license. | 14:54.02 |
kens | ITI/ISO just requires FRAND licencing | 14:54.12 |
Salil | chrisl: Also I have removed -DHAVE_SSE2 as it doesn't seem to be supported on arm7. I will use genarch.c to create another project in XCode to find exact setting by running it on device. Does Makefile contain the setting to enforce architecture for utilities? or its in some .mak somewhere. | 14:55.03 |
kens | I'm sure SSE2 won't be supprted on an ARM chip! | 14:55.25 |
Salil | kens: yeah when I looked back at what I wrote I realized that! | 14:56.25 |
kens | The copyright thing is a bit murk, but since MS retain rights to assign and donate the code, I woudl think their OSP message is also binding. | 14:57.47 |
chrisl | Salil: you need to look for the CCAUX and co settings in Makefile | 14:59.08 |
kens | Somewhere in the last week while doign Till' problem and the numerous silly custoemr queries I've maanged to lose the memory cleanup code I wrote for pdfwrite :-( | 14:59.49 |
chrisl | I need to head of to play squash - I'll check back later......... | 15:01.01 |
henrys | kens:yes I wonder if that contradiction (microsoft vs. ITU) wouldn't render the entire thing bogus if there were actually legal proceedings. | 15:01.56 |
kens | henrys I think that you could overturn any legal proceeding from the ITU by referencing the MS OSP. | 15:02.23 |
| Not that such a move is likely from the ITU I suspect :-) | 15:02.39 |
m2j | hi, I asked some days ago about Python bindings for mupdf. Meanwhile I figured out, how to write such bindings. Now my main issue is, that the only way to do so is to produce dynamic linked libraries. So I've read through some discussions in the IRC log. My question is now: is it a big task to create such libraries, or is it more your doubts about arising incompatiblities? In case of bindings I've no interest to combine a specific build with | 15:02.40 |
| other than one corresponding python library. I never wrote libraries, but only C++ and Python applications. So I don't know much about building the libraries. | 15:02.42 |
sebras | m2j: there have been a few questions about us providing a shared library version of mupdf before. so far this has not been a priority, but if we get a patch for creating those we'll consider adding it. | 15:33.11 |
m2j | sebras: OK. so I will have a look into it a bit deeper. But as I never worked with building libraries yet, it might be a too big challange to start with. | 15:38.02 |
tor8 | m2j: incompatibility worries, and build portability issues are what have prevented us from pursuing shared libraries so far. | 15:54.51 |
kens | G'night everyone | 16:18.45 |
Salil | henrys: http://pastebin.com/f1S9VNPy with proper arch I go very long way. Lots of debug output and takes like couple minutes and then result in this error. It can't output file is that the error? | 16:29.31 |
| henrys: or the input file? | 16:31.43 |
henrys | sorry Salil I'm really swamped today and can't help much - I guess you need to find out the source of that undefinedfilename. | 16:41.32 |
ray_laptop | Salil: Holy cow ! Did you use -ZI ??? | 16:44.05 |
| Salil: you are getting an 'undefinedfilename' which means it couldn't find a file. The file name being opened _should_ show up earlier in the log you have. | 16:45.30 |
| Salil: when I run -ZI with gs with only the input file missing, it manages to print out: Error: /undefinedfilename in (xxxxx) after all of the -ZI junk. | 16:49.20 |
| Salil: so you probably aren't making it all the way through the iniialization, since the -101 happens when the "normal" errorhandler has not yet been installed | 16:50.14 |
| Salil: just curious -- how many lines of -ZI output do you have ? and if you grep for lines that start with 'END ' what do you get | 16:53.31 |
kammerer|2 | hi all, it's seem that there is a bug in cbz module, i have fz_context with 128Mb cache, scanned pdf works fine, but cbr file after several page turns eat all device memory - 256Mb | 16:53.48 |
ray_laptop | Salil: you can also grep for '^[^d]' to ignore the -ZI output | 16:54.22 |
Salil | ray_laptop: I had -Z#i but i was running with -dSAFER so that was the problem. But still testing :) | 16:54.44 |
ray_laptop | Salil: do you still have -dDEBUG ?? | 16:55.04 |
| Salil: I'll check the logs later when I'm back online, so feel free to post messages even if I'm not here -- just mention 'ray' and I'll see them... | 16:56.04 |
Salil | ray_laptop: yes | 16:56.06 |
| ray_laptop: thanks! | 16:56.19 |
| ray_laptop:chrisl_away:henrys: I was able to convert from pdf to pcl using debug build with proper arch.h on iOS. Now creating release build to test the same behavior. | 17:25.56 |
| release build works as expected. | 17:49.45 |
mvrhel | now on to patterns with the tiffsep/planar device | 18:58.32 |
scott-san | robin would you be on? | 19:03.18 |
| Chris? | 19:03.27 |
| Ken? | 19:03.31 |
vtorri | is it possible to edit a pdf with mupdf ? | 19:28.44 |
mvrhel | hmm weirdness in the planar to planar pattern fill. lunch time now | 19:34.10 |
| macro hell | 19:59.14 |
tor8 | vtorri: there are a few edits you can do with pdfclean, like rearranging pages etc | 20:28.33 |
vtorri | tor8: but no text modifications, right ? | 20:31.39 |
tor8 | no. | 20:32.08 |
vtorri | ok | 20:32.21 |
| is it planned ? | 20:32.27 |
mvrhel | ok. I am completely confused why the pattern filling is trying to do all this rop strip filling | 20:43.33 |
| I guess that is Robins comment in gxp1fill.c lin 378 | 20:44.19 |
| off to run a few errands and then to make a simpler version of this | 20:44.59 |
| ick so right now it does planar to chunky and then chunky to planar as it does the pattern fill | 20:46.42 |
| even when there are no rops | 20:46.57 |
sebras | vtorri: no, no text modifications are planned as far as I know. | 21:12.52 |
| vtorri: however what has been discussed is handling forms and allowing forms to be filled in, so if that is what you are thinking about when you say text modification then there is a bit more hope. | 21:14.06 |
vtorri | well that's something we would like to have, indeed | 21:19.27 |
sebras | vtorri: don't hold your breath though, this was recently on the "hey let's read the spec"-stage. | 21:20.01 |
vtorri | also, has 1.0 a build process similar to 0.8 ? | 21:21.08 |
| np | 21:21.15 |
| 1.0 has already features that we like | 21:21.28 |
| (compared to poppler) | 21:21.40 |
sebras | vtorri: build process? | 21:21.43 |
vtorri | Makefile | 21:21.52 |
| i remember that building 0.7 and 0.8 were completely different | 21:22.19 |
sebras | vtorri: I don't remeber it changing recently, so yes 0.8 and 1.0 are probably going to be similar. | 21:22.23 |
vtorri | ok | 21:22.33 |
| nice | 21:22.35 |
mvrhel | henrys: question for you | 23:35.48 |
| oh never mind | 23:38.05 |
| I see what is going on | 23:38.08 |
| Forward 1 day (to 2012/03/30)>>> | |