IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2014/07/21)2014/07/22 
rayjj mvrhel: (for the logs) getting closer. I saw that you commited App.config, but somehow it wasn't pulling in my mujs/jsi.h fix, so I scrapped the local sandbox/repo and recloned it, and git submodule --init still didn't get teh jsi.h update.00:37.26 
  mvrhel: so I changed to that directory and checked out "master" for mujs and that has my fix and I am down to 3 errors:00:38.13 
  mvrhel: see: http://pastebin.com/mp3zD8G6 (verbose) but the two actual errors are:00:40.08 
  Error302error C1083: Cannot open include file: 'mupdf/pdf-tools.h': No such file or directoryc:\artifex\gsview\mupdf\platform\winrt\mupdfwinrt\muctx.h111mupdfnet00:40.09 
  Error303Resource file "Strings\en-US\Messages.resx" cannot be found.gsview00:40.11 
  I searched BOTH a "stock" mupdf git and the win_desktop and I don't see pdf-tools.h anywhere, so it may be a missing file in platform\winrt\mupdfwinrt (or some other search path)00:41.34 
  mvrhel: for the other error about the Messages.resx -- I have no idea -- maybe also something that didn't get committed.00:42.29 
  mvrhel: Sorry, and feel free to put this on the back burner, but I figure you would have to face this pain at some point anyway :-/00:43.03 
  mvrhel: and it certainly isn't a rush00:43.25 
sam__ Hi im looking for some help with ghostscript :)07:05.00 
kens Well this is one possible place to get some07:05.15 
sam__ how do i specifiy the printer tray?07:05.38 
kens You don't, Ghostscript doesn't drive printers directly07:05.54 
  (except when built into the pritner)07:06.05 
  Perhaps if you explained what you are trying to achieve I could answer that instead07:06.37 
sam__ im building GS into a C# application to handle PDF printing (instead of opening adobe ...) ive got all the other setting setup like duplex and paper size, but since we are printing onto headed paper then i need to specify a tray which that is stored in07:08.04 
kens Like I said, Ghostscript doesn't drive printers. How are you using Ghostscript to 'handle PDF printing' ?07:08.40 
  Which Ghostscrtip device are you using for starters ?07:09.04 
sam__ gswin32c -dPrinted -dBATCH -dNOPAUSE -dNOSAFER -q -dNumCopies=1 -sDEVICE=ljet4 -sOutputFile="\\spool\\\Server_Name\Printer_name" "C:\test.pdf"07:09.32 
kens So you are sending the PCL directly to the printer. The ljet4 output doesn't include any tray switching, or other device-dependent features (eg Duplex) as far as I'm aware. You would have to add the tray selection to ther output *before* sending it to the printer.07:10.52 
sam__ right ok07:14.08 
kens Huh, I should have squashed those 2 commits, ooops08:34.32 
Guest50354 hello, is there someone who can help me install Mupdf on redhat system? I get errors when intalling... (I'm mediocre unix user)10:04.40 
Robin_Watts Guest50354: Are you installing from a distribution?10:06.04 
  Or from source?10:06.06 
Guest50354 if I understand, then I think I tried both distribution (using git?) and also from source (website: mupdf-1.5-source.tar.gz) 10:07.23 
Robin_Watts OK, neither of those are from a distribution, they are both direct from us, and that is the good answer :)10:08.15 
  So, let's start with the mupdf-1.5.source.tar.gz10:08.38 
  Tell me what you tried, and where it went wrong?10:08.54 
Guest50354 I see a lot of errors like :x11_main.c:957: error: XXXXXX undeclared (first use in this function), but the last row is : make: *** [build/debug/platform/x11/x11_main.o] Error 110:11.49 
  XXXXXX is dynamic name :)10:12.08 
Robin_Watts Asking me to diagnose what's going wrong without showing me all the errors is like phoning a doctor and saying "I don't feel well, what's wrong with me?"10:13.15 
  But don't paste them all in here.10:13.23 
  go to pastebin.com and paste them all in there.10:13.32 
  Guest50354: Do you actually have X11 installed? i.e. does your unix box have a windowing system?10:14.26 
Guest50354 tnx, will do.. this is my first time trying to get help without just browsing the web :)10:14.50 
  we don't have any windows system10:15.04 
Robin_Watts OK, so that's the problem.10:15.18 
Guest50354 this is the command I ran from the README: make prefix=/usr/local install"10:15.30 
Robin_Watts HAVE_X11=no make prefix=/usr/local/install10:16.22 
Guest50354 OK I ran it. I got 3 lines.. CC build/debug/platform/x11/jstest_main.o CC build/debug/platform/x11/pdfapp.o LINK build/debug/mujstest10:18.35 
  I just would like to say Thank you! in advanced :)10:19.21 
Robin_Watts np.10:19.29 
  sorry, I got my line wrong.10:19.53 
  HAVE_X11=no make prefix=/usr/local install10:19.56 
Guest50354 thank you!!!!!!!10:21.12 
  just ran mudraw and it's working :)10:21.19 
Robin_Watts fab.10:21.25 
Guest50354 is there a place for donation or such?10:23.32 
Robin_Watts no donation site, no.10:24.51 
  but thanks.10:24.59 
Guest50354 OK so have a great day\night! :)10:25.36 
tor8 Robin_Watts: there's a commit on tor/master that pulls in ray's mujs fix11:24.26 
Robin_Watts tro8: lgtm11:56.54 
  tor8: oops. segv city.12:58.55 
tor8 Robin_Watts: where?13:02.16 
Robin_Watts The mujstest on the cluster for your last commit.13:02.28 
  http://ghostscript.com/regression/cgi-bin/clustermonitor.cgi?report=4c1075d27fe7295052a8c929ca35f2a6bd7cf55c&project=mujstest13:02.43 
tor8 oh...13:02.58 
  let me take a look13:03.02 
  Robin_Watts: oops.13:10.30 
  Robin_Watts: two fixes on tor/master13:16.30 
henrys meeting in 5 minutes14:27.10 
mvrhel_laptop good morning14:32.50 
marcosw morning14:33.03 
henrys hi mvrhel_laptop 14:33.05 
  great now we have an outside source for fuzzing bugs - see the support link on workflowy14:33.42 
rayjj morning, all14:33.54 
henrys tor8:you have an awating_review bug from norper that propably should be moved along14:34.37 
kens2 henrys, *where* on workflowy ?14:35.08 
  which bullet ?14:35.25 
rayjj kens2: thanks. I was just going to ask that14:35.34 
henrys support bugs under warm up the first link to bugzilla on the agenda14:36.07 
rayjj henrys: thx14:36.18 
kens2 Git it14:36.24 
  THese are all the same fuzzing as before aren't they ? Same group ?14:36.50 
rayjj henrys: I see 7 bugs there14:38.27 
henrys marcosw: how difficult would it be to create an archive of pcl exes as you have for gs? finding norbert’s problem will be difficult14:38.28 
  without something like that.14:38.43 
marcosw henrys: it's not a problem, I already have a bunch of them from previous bisecting14:39.14 
tor8 henrys: oh, right. those patches have been sitting on the ghostpdl tor/master branch for a while. guess I should just push them.14:39.30 
henrys kens2: you’re saying they are repeats of reports marcosw already made.14:39.32 
kens2 Not repeats, not, but the source is the same group isn't it?14:39.48 
chrisl henrys: I can't measure accurately enough to identify 3-4 per cent speed differences......14:39.56 
Robin_Watts tor8: Those changes seem reasonable to me.14:40.16 
henrys kens2: oh I don’t know I thought this was a new contributor14:40.52 
kens2 henrys I *think* its the same people as the original set of fuzzing bugs. I could easily be mistaken14:41.11 
henrys another agenda item is here: http://bugs.ghostscript.com/show_bug.cgi?id=695373#c114:43.24 
  I can clean up the files in xpswrite but I’d really rather have a complete solution for tempfiles in gs.14:44.45 
marcosw at least some of the latest fuzzing bugs involve command lines that are different than the previous fuzzing issues (which iirc were simply gs <device> <inputFile>). I.e. http://bugs.ghostscript.com/show_bug.cgi?id=695318 which uses 'gs -dNOPAUSE <filename>.pdf <text/filename>'.14:45.15 
chrisl henrys, paulgardiner: I thought paulgardiner was a good way through implementing a solution14:45.33 
henrys paulgardiner: did you start?14:45.57 
Robin_Watts I thought paulgardiner had a solution that was working for the clist temp files.14:46.32 
  but that his solution was limited to the clist temp files.14:46.47 
paulgardiner I sort of have a fix. Sort of. It works for what's supposedly the difficult test case (using the flag that Ray suggested) but I had crashes in the cluster14:47.16 
  Haven't had time to look into it14:47.25 
chrisl henrys: but all our thoughts on a general purpose temp file solution have rather faltered14:47.55 
  IIRC, not least because we're not at all sure how many places rely on temp files being persistent14:48.53 
paulgardiner Trouble is I only ever find time to work on it when travelling over to meetings14:49.34 
rayjj henrys: I think cleaning up files in xpswrite is worth doing. GS is supposed to be independent of the gp_ layer14:49.35 
  paulgardiner: can you push the branch for the changes you have in process for me to take over ?14:50.33 
henrys rayjj: I don’t think that is the issue. Temp files should be deleted when the program is interrupted. I’ve looked at python, ruby, perl - all have implementations for that on windows14:51.39 
rayjj henrys: iirc, paulgardiner was specifically looking at it for clist files (at the clist io_procs layer)14:51.40 
paulgardiner rayjj: it's here http://git.ghostscript.com/?p=user/paulg/ghostpdl.git;a=summary14:51.49 
chrisl I'm tempted to say for xpswrite and future uses, we should just add a new "gp_tempfile_transient" call (or something)14:51.50 
  henrys: but none of those rely on closing an reopening temp files14:52.14 
rayjj paulgardiner: is it on a branch ?14:52.20 
chrisl s/an/and14:52.22 
paulgardiner rayjj: on my master branch I believe14:52.59 
henrys chrisl: well then clist isn’t using “tempfiles” as POSIX understands them.14:53.30 
rayjj paulgardiner: OK. that's what it looks like14:53.35 
henrys chrisl: so why should it use the os temp file support14:53.53 
chrisl henrys: I don't understand that question. The clist files were the original source of this problem14:54.37 
rayjj chrisl: yeah, but henrys introduced a new culprit14:54.57 
henrys last item: we are coming up on a meeting - have a look at the agenda especially high priority projects.14:55.29 
chrisl rayjj: right, but AIUI paulgardiner's solution won't work for general use temp files14:55.37 
rayjj chrisl: but pdfwrite/ps2write and xpswrite all use temp files and if gs crashes leave them laying around14:55.40 
  chrisl: if it relies on clist io_procs, right14:56.18 
kens2 pdfwrite uses the existing temp file support, which uses (on WINdows) WIndows temp files, so they shouldn't be left lying around14:56.23 
paulgardiner chrisl: it might be extended for those. I restricted to the clist because that was easier and was supposedly the main culprit14:56.25 
henrys chrisl: I’m just saying I’d like a general tempfile solution for gs. It sounds like that won’t work for clist14:56.25 
kens2 I htought we had a general temp file solution, but it doesn't work for clist because that expects to be able to close a temp file and reopenit.14:57.01 
rayjj kens2: if it uses existing tempfile support then they will be left laying around14:57.07 
kens2 Possibly I'm just confused14:57.12 
henrys kens2: no windows sucks and doesn’t support unlinking an open file14:57.27 
kens2 rayjj : I feel sure I've seen sopmething using Windows temp file the CreteTempFile API or somethign like that14:57.41 
chrisl But Windows does have a "temp file" flag for opening files14:57.47 
Robin_Watts henrys: I think you can do that.14:57.48 
  Using Windows specific calls.14:57.57 
kens2 henrys, you don;t have to unlink the file, you just the use the OS-supported method to create a temporary file14:58.04 
henrys Robin_Watts: I get a sharing violation upon the unlink14:58.16 
Robin_Watts But the problem is that clist needed to be able to do that *and* to still be able to reopen it.14:58.20 
  henrys: Then you're not calling the windows specific calls.14:58.29 
paulgardiner Does the cluster perform tests under MAC OS?14:58.32 
Robin_Watts paulgardiner: Yes. On at least 1 node.14:58.44 
paulgardiner My fix may have been failing only on MAC OS14:59.04 
henrys Robin_Watts: I doubt you can as all the other scripting languages use a wrapper and finalize upon cleanup.14:59.11 
kens2 henrys I don'tr see how that avoids leaving files behind on a crash14:59.35 
henrys when implementing temp files, doesn’t seem like they’d miss that but maybe14:59.37 
chrisl The last time we discussed this, there were three problem raised: 1) clist files, 2) we don't know how many other places now rely on "persistent temp files" and 3) it would mean changing an existing public interface which we don't do (apparently)14:59.56 
henrys kens2: on a posix system the os clean them up14:59.57 
Robin_Watts henrys: Is is true that windows will not let you create a file and then delete it while it's open using the standard posixish file creation/unlink calls14:59.58 
paulgardiner I'd have quite liked to have finished this off, but it's just difficult to fit it in with the higher priority stuff15:00.03 
kens2 henrys, yes and Windows does too, if you use the API to create a temporary file15:00.16 
  WHat you can't do is close a tmporary file, then reopen it.15:00.26 
rayjj in base/gp_mswin.c we have: FILE_ATTRIBUTE_NORMAL /* | FILE_FLAG_DELETE_ON_CLOSE */,15:00.40 
henrys kens2: that is not consistent with the python implementation which says it is only possible to do it on NT. but I haven’t tried.15:01.37 
kens2 Well, modern versions of WIndows started as NT....15:01.58 
paulgardiner rayjj: My patch alters that I believe15:02.04 
henrys kens2: anyone is welcome to the bug ;-)15:02.21 
kens2 At the moment I cna't find the API to do temporary files, but that's nothing new15:02.25 
marcosw what happens if just never close temporary files? Keep them open and make the os deal with them when ghostscript quits?15:02.28 
rayjj chrisl: the gp layer can be extended (added to) -- we do that all the time15:02.30 
chrisl rayjj: but that won't solve it for the existing calls.....15:02.52 
rayjj chrisl: so your idea of having a gp_open_transient_scratch_file is fine15:03.06 
chrisl Right, okay15:03.23 
Robin_Watts marcosw: The problem (for clist) is that it needs to write the file once, then close it and reopen it in a way that can be read multiple times.15:03.41 
  one for each rendering thread.15:03.50 
rayjj chrisl: any devices which use gp_open_scratch_file can be fixed (pdfwrite and xpswrite)15:03.57 
henrys the discussion in /usr/lib/python2.7/tempfile.py might be useful to whoever works on this but of they could have it wrong 15:04.45 
rayjj Robin_Watts: and for 'saved_pages' mode, it needs to be able to read it later.15:04.50 
henrys s/but of/but of course/15:05.11 
paulgardiner Admittedly clist only, but I could probably finish my fix in two days.15:05.25 
marcosw can't you open a file for reading if it's already open for writing? I'm pretty sure that's what makes "tail -f" useful.15:05.27 
Robin_Watts rayjj: Right. So clist is an unusual case, and should be fixed in a clist specific way. And that's what paulgardiner has done/is doing.15:05.39 
henrys tor8: you have a high priority easy project mujs docs. How is that coming?15:05.43 
chrisl paulgardiner: we probably need a combination of your clist solution and a more general one15:05.55 
tor8 henrys: there are docs on mujs.com15:06.18 
Robin_Watts chrisl: I think it's more likely 2 separate solutions.15:06.22 
paulgardiner I think my solution could be applied else where, but the problem is that you can no longer use plain FILE pointers15:06.35 
chrisl Robin_Watts: I figured for the "ephemeral" temp files, Paul's code could call a new temp file API15:07.15 
paulgardiner So we'd have to make everything that wanted to take advantage of the feature use GSFILE pointers15:07.23 
tor8 henrys: some of it could use some fleshing out, and I still need to write a tutorial kind of thing15:07.34 
chrisl paulgardiner: that's unlikely to happen :-(15:07.49 
henrys tor8: yeah seem a bit light15:07.56 
paulgardiner chrisl: yeah, I couldn't see a way that maintaine the use of FILEs15:08.47 
  Although it might be posible to use FILEs for external APIs and wrap them for internal APIs15:09.15 
henrys rayjj: I guess changing the clist not to behave rather oddly to a naive outsider is not in play.15:09.44 
chrisl paulgardiner: no - as I said before, the APIs should all have been using an abstraction, but too late now :-(15:09.45 
rayjj henrys: I don't understand that15:10.21 
Robin_Watts What the clist does with it's files is entirely natural.15:10.41 
henrys rayjj: is there another way to implement the functionality wihout closing and reopening15:10.43 
  ?15:10.46 
Robin_Watts It's just they aren't temp files in the purest sense of the term.15:10.56 
  henrys: yes, the way paulgardiner does it :)15:11.03 
henrys temporary files15:11.05 
  it is not natural to close and reopen temporary files15:11.24 
paulgardiner henrys: as robin says15:11.39 
Robin_Watts Saved pages are not temporary files then.15:11.50 
chrisl henrys: the problem is, we need an abstraction layer to allow platform independent, multi-threaded use of the FILE * objects15:12.19 
Robin_Watts It all depends on your definition of temporary files.15:12.46 
  If you are defining temporary files to be "files that are deleted on close", then yes, closing and reopening them is unnatural.15:13.14 
marcosw I have to run to uni. be back in an hour or so.15:13.29 
paulgardiner chrisl: yes exactly. I thought that that was possible using dup but the internal pointers are shared so it doesn't play well multithreaded15:13.54 
Robin_Watts If, however, you take your definition of temporary files to be "files that hold data whose lifespan is restricted to the lifespan of the calling process" then what clist does is perfectly natural.15:14.16 
henrys I’m using the POSIX understanding of temporary files - I don’t have my own definition15:14.19 
Robin_Watts Right. Then clist files are not posix temporary files.15:14.52 
rayjj henrys: I can go ahead and add a gp_open_transient_scratch_file that does the unlink or adds the FILE_DELETE_ON_CLOSE15:14.54 
chrisl paulgardiner: no, I stumbled on that before. IIRC, there are some *very* platform specific solutions, but they look like a pain15:15.12 
paulgardiner chrisl: oh interesting15:15.31 
henrys rayjj: from my read of the python code that will only work on NT but we’ll give it a go. Maybe NT means everything after NT as kens2 suggests15:16.10 
kens2 No, it looks like MS have withdrawn that API15:16.26 
  Current platform SDK doesn;t mention it15:16.37 
rayjj henrys: FILE_DELETE_ON_CLOSE still is around I think15:16.56 
kens2 Hmm, yes that's still htere15:17.35 
  But I thought that meant delete the file when its closed, not when the application crashes15:17.53 
chrisl kens2: when the application crashes all the handles to the file a closed, so the file gets deleted15:18.19 
henrys I don’t think the windows closes files upon crashes15:18.20 
rayjj kens2: the file is closed by the OS upon crash15:18.23 
kens2 chrisl Bets ? :-)15:18.29 
Robin_Watts When the application crashes, all files are closed.15:18.33 
henrys we’re going to find out soon15:18.46 
chrisl kens2: it's *supposed* to.....15:18.46 
Robin_Watts occasionally windows gets confused and keeps a HANDLE open, but that's rare.15:19.02 
rayjj I'd have to test that again, but I do recall trying that15:19.03 
kens2 There are various threads (including msdn) telling you how temp files can be left laying around15:19.06 
chrisl henrys: there can't be any other solution15:19.22 
Robin_Watts certainly it would be a great improvement.15:19.23 
kens2 But its better than nothing15:19.24 
rayjj Robin_Watts: you are right. It is rare, and I've never had it be a problem for clist tempfiles15:19.41 
chrisl Well, I supposed we could implement signal handlers which close and delete all temp files..... ick15:20.08 
rayjj kens2: do they all mention ghostscript ;-)15:20.18 
Robin_Watts chrisl: Except you can't trust signal handlers to be called.15:20.44 
kens2 Nope.....15:20.45 
kens2 backs out anyway, I don't weant the job....15:21.04 
Robin_Watts This is why other windows apps often run 2 processes. One to do the actual work, and one to tidy up if that one dies.15:21.18 
chrisl Robin_Watts: no, that's true. I just don't see any other way to tackle the problem than having OS clean up15:21.31 
kens2 If someone wants to do a new file API for temp files I'll modify pdfwrite to use it.15:21.39 
paulgardiner rayjj: in case you do look into trying to finish off my patch, the trick I've used is, for some platforms, to provide alternative definitions for gp_open, gp_read, gp_close, gp_remove etc. so that gp_close doesn't actually close the file and gp_open makes a dup'd copy. Then read and write are done with fpread and fpwrite to avoid problems with threaded access to the read/write pointer.15:21.45 
  I replace FILE with a wrapped version IFILE so there is somewhere to keep our own read/write pointers.15:22.16 
  rayjj: one potential source of crashes is that repeated attempts to remove a single file may be problematic, so if clist can ever attempt to do so, we need to protect against it. (remove doesn't really remove any more, it just closes the already unlinked or DELETE_ON_CLOSE file)15:25.07 
Robin_Watts paulgardiner: Can we have a flag in the IFILE that says "closed already" ?15:27.58 
rayjj seems like nulling the pointers when we close would be enough of a "flag" condition15:28.44 
paulgardiner There are more than one IFILE per virtual file. I think we need a flag in clist, or to blank the file name (which is actually an encoded file pointer15:29.09 
chrisl paulgardiner: how about having another layer, so the IFILE contains an rcFILE * which is the FILE * plus a reference count?15:30.19 
paulgardiner chrisl: possibly, although I've already had to mess with the insides of clist so another flag wouldn't hurt15:31.08 
chrisl paulgardiner: I just thought a reference count might scale better15:31.34 
  and be more flexible15:32.05 
paulgardiner chrisl: yeah, probably right15:32.35 
chrisl rayjj: so, do you want to look at adding the new gp_ function?15:32.49 
rayjj chrisl: yes. But I still think that xpswrite should work without that15:34.23 
chrisl rayjj: it would be best - we may come across a system that *really* doesn't support this stuff15:35.30 
rayjj henrys: your comment on bug 695373 says that you unlink after closing, but that doesn't seem to work15:35.54 
henrys rayjj: I unlink after opening the temp file maybe I misspoke, in another meeting I’ll fix it later15:37.08 
rayjj henrys: ahh.. right. On Windows trying to unlink a file that is still open will fail15:37.49 
mvrhel_laptop rayjj: tried to ping you yesterday. the win_desktop branch in my mupdf repos has been updated if you want to try to build with that 15:40.48 
  rayjj: are you there?15:44.43 
rayjj mvrhel_laptop: git says I am up to date: 5ed2435 (HEAD, origin/win_desktop, win_desktop) Fix several issues in the project files. Also add missing App.config file.15:45.39 
mvrhel_laptop rayjj: ok that should be correct15:46.03 
  rayjj: let me know how that goes for you15:46.13 
rayjj mvrhel_laptop: but I still have those two errors I posted yesterday (missing mupdf/pdf-tools.h)15:46.14 
mvrhel_laptop rayjj: hmm. ok I did not see those posted15:46.33 
rayjj mvrhel_laptop: and Error303Resource file "Strings\en-US\Messages.resx" cannot be found.15:46.34 
mvrhel_laptop let me spend a bit more time on it today then. I will do the clean check out and make sure it all works here15:47.09 
rayjj mvrhel_laptop: it's at the top of today's logs15:47.10 
  mvrhel_laptop: there's a pastebin with my build output15:47.44 
mvrhel_laptop rayjj: ok. sorry. did you have a list of things that you found that need to be fixed with gsview?15:48.12 
rayjj mvrhel_laptop: I don't recall. I wasn't ready to open bugs. Mostly just irritating things that it doesn't do. Like let me select a page range for printing, or not paying attention to a page down15:49.30 
mvrhel_laptop ok. those are the sort of things that I needed to know15:50.07 
  other than chrisl, no one had said anything15:50.22 
  and I fixed the things that he mentioned15:50.31 
rayjj mvrhel_laptop: yeah, but those aren't things that are that important to have you spend time on probably15:50.44 
  mvrhel_laptop: but getting it so at least one other person can build ...15:51.02 
mvrhel_laptop yes. that certainly needs to be fixed15:51.17 
  will get there today15:51.21 
rayjj mvrhel_laptop: was pdf-tools.h something you added ?15:52.50 
mvrhel_laptop no it is a header from mupdf15:54.58 
  but it is used as we use calls to mutool iirc15:55.28 
rayjj mvrhel_laptop: I don't see it used in the master, and 'find' doesn't show it in the tree15:55.53 
  mvrhel_laptop: and it isn't used in the master platform/winrt/mupdfwinrt/muctx.h15:56.46 
mvrhel_laptop hmm apparently you are correct15:56.57 
rayjj (it only has fitz.h)15:57.04 
mvrhel_laptop that needs to be added.15:57.10 
  sorry about that15:57.15 
  that needs to go in the main branch really 15:57.28 
  but we can stick it here15:57.36 
  for now15:57.39 
rayjj mvrhel_laptop: OK. Just wanted to make sure that my git was OK15:57.40 
mvrhel_laptop yes. let me add it15:57.46 
  rayjj: ok header added16:01.29 
  rayjj: ok I did a clean check out 16:05.55 
  let me make sure it all builds here16:06.01 
  and nothing more is missing, before you spend any more time16:06.13 
henrys chrisl: back to one of your comment 4% should be discernible.16:06.47 
  If I saw 4% in the street I’d bend over and pick it up ;-)16:07.18 
rayjj mvrhel_laptop: I still have the Strings\en-US\Messages.resx16:07.25 
mvrhel_laptop rayjj: hold on....16:07.34 
rayjj cannot be found16:07.37 
mvrhel_laptop I am building now16:07.37 
  please16:07.42 
rayjj mvrhel_laptop: note that I am trying this with VS2013 Express (the free version) It may be that I need to actually buy the real version, but the less I spend on MS s/w the better :-)16:10.20 
chrisl henrys: I get more noise than that16:10.35 
mvrhel_laptop rayjj: express should work. grabbing third party libs now then I will build and see if I get any issues16:10.50 
  brb16:10.57 
rayjj chrisl: I get a lot of variation on windows, but even there 'time' cpu time is quite consitent16:11.26 
  consistent even16:11.41 
chrisl henrys: I am wondering if we could modify the pcl code to "show" more than one glyph at a time - I bet we could speed things up if we could do that16:12.18 
rayjj chrisl: pcl needs to know where to line wrap16:12.57 
henrys chrisl: I’ve really tried that and it was so painful I just gave up I thijnk there are still hints of it in the code16:13.04 
kens2 Its too hot here to think, I'm heading off for the night. Bye all16:13.28 
chrisl Why was it painful? We'd still measure glyphs individually, buffer up to a certain number, or where the line wrap happens, then show16:13.57 
rayjj chrisl: so getting the advance glyph by glyph isn't expensive ?16:14.55 
chrisl rayjj: not compared to actually showing the glyphs, no16:15.11 
  rayjj: for showing text we're allocating, filling in, and destroying a text enumerator for *every* glyph16:16.39 
rayjj bbiab...16:16.54 
chrisl henrys: I am looking at some things we do in FAPI for every glyph which actually won't change for the life of the text enumerator, *but* eliminating those won't help PCL16:18.25 
  henrys: also, how commonly used is show_char_background()?16:21.24 
henrys chrisl: only for odd rop cases16:24.47 
  rare16:24.51 
chrisl henrys: okay, if it had been fairly common, there might have been a more efficient implementation16:25.30 
marcosw my idea didn't work; opening an already open but unlinked file doesn't work. I think using dup() instead of fopen() would work, but I suspect that would require a substantial change to the code.16:30.56 
mvrhel_laptop bbiab16:31.05 
chrisl marcosw: dup() doesn't guarantee the file descriptors can be safely accessed from difference threads16:31.45 
  s/difference/different16:31.59 
marcosw chrisl: right you are.16:33.35 
henrys chrisl: last I looked the gsave/grestore per character (in pcl’s case) was a bit heavy handed. Can’t we make that more intelligent?16:36.00 
chrisl henrys: no16:36.15 
Robin_Watts chrisl: don't sugar coat it. Say what you mean.16:36.36 
henrys ;-)16:36.55 
chrisl Hmmm, I wonder.......16:37.37 
  henrys: actually, it *might* be viable because each glyph rendering is bounded by a gsave/grestore in the graphics library16:41.12 
henrys I don’t know, gsave on write to the graphics state might give a nice system wide boost. A lot of superfluous gsave and grestores are roaming around the code. 16:41.43 
Robin_Watts henrys: So gsave would set a flag, and only actually do anything when the first write happened?16:42.28 
henrys Robin_Watts: that was my thought but my first thoughts about gs have about a 90% failure rate ...16:43.06 
Robin_Watts gsave gsave gsave draw grestore draw grestore draw grestore16:43.43 
chrisl I doubt that would help in this case16:44.02 
henrys chrisl: I haven’t looked at the font rendering performance in a long time I do recall that was an issue in the past. Certainly pushing more than one character at a time with pcl would help a lot16:46.01 
chrisl We *do* change the graphics state during glyph rendering - what might be viable is that we explicitly store and then replace the things that change, thus avoiding the expense of a full gsave/grestore. That, of course, comes with its own risks......16:46.26 
  henrys: it does look like rendering more than one glyph would be complicated, between the line wrapping and the BS code logic..... One possible "halfway" option would be to allow the enumerator to be reused - so we only create and fully populate one text enumerator for each buffer of characters, and just fiddle with the parts that change16:50.26 
  Hmmm, that might play badly with high level devices, though :-(16:53.38 
henrys chrisl: I’m not going to look at this more until I see numbers from marcosw.17:08.28 
marcosw is working on the numbers…17:08.46 
henrys marcosw: take your time ;-)17:09.01 
chrisl henrys: fair enough. I'm going to finish for the day in a moment, anyway......17:09.14 
marcosw I always do :-)17:09.18 
rayjj marcosw: are you doing anything to see how consistent the timings are ?17:09.22 
marcosw rayjj: yes, I run the code 3 times, so I can put error bars on the plot.17:09.53 
rayjj marcosw: cool17:10.00 
marcosw I'll plot the min/'max/average, that should give us some confidence. Also I'll make sure the machine isn't doing anything else (i.e. I'll take it out the cluster pool).17:10.35 
rayjj time for coffee. bbiab17:10.54 
henrys marcosw: all that stat stuff for you PhD is being put to fine use!17:11.39 
marcosw it is true that I have a much better understand of how to generate pretty graphs and other figures. 17:12.22 
chrisl With PCL shouldn't -dUseFastColor=true prevent *all* calls to LCMS?17:17.03 
henrys chrisl: I’d think so yes17:22.49 
chrisl henrys: well, setting it I still see several LCMS2 calls in my profile17:23.15 
  henrys: I don't see the UseFastColor option getting sent to the device at all in PCL17:27.53 
henrys chrisl: should be written at plmain.c:1116, no?17:33.28 
chrisl henrys: I see the call to gs_putdeviceparams() but I'm not seeing it set in the device - at least, not yet.....17:34.14 
rayjj it should be part of all devices since it is in gsdparam.c17:36.42 
  (get/put default_param)17:36.56 
henrys chrisl: pcl argument processing is a rat’s nest maybe it doesn’t get set. If you hit that line number in the debugger where the bool is set it should work, I’d think17:37.43 
rayjj chrisl: bp gx_default_put_usefastcolor17:38.26 
chrisl Yes, I got there - for some reason my breakpoint didn't work in gx_default_put_params()....17:38.49 
  Hmm, my profile has some really weird things in it - I'm seeing calls listed from libtiff - but the command like specifies the "bit" device17:42.08 
henrys chrisl: gprof?17:44.19 
chrisl henrys: yeh, I think it's confused.....17:44.42 
henrys I used pbmraw and didn’t get anythink like that let me try bit17:45.05 
chrisl henrys: no, it's fine - if I do the two profiles running the exes from the current directory, I see more sensible output.17:46.32 
  henrys: I'm really going to have to stop - I'm getting a headache. I think you're right, we should wait for marcosw to finish, and then use the results to decide which of us runs with it (if either).17:50.48 
Robin_Watts Do we have a copy of the ETS paper?17:59.08 
marcosw Robin_Watts: is it the one from 1999?18:03.40 
Robin_Watts Sorry, no, they are asking for another one that I don't have/can't find.18:04.28 
marcosw actually I found 3 on scholar.google.com, I'll upload them to casper (under ~marcos/screening)18:04.37 
henrys Robin_Watts, marcosw the patent numbers are in the ets.c file and there is a algorithm description of course18:05.31 
  don’t know about the paper18:05.36 
Robin_Watts henrys: there is a copy of the main paper on both raph's site, and on ours (in chrisl's area)18:06.33 
  but this is a paper to which it refers.18:06.41 
marcosw I uploaded the 3 papers authored by "RL Levien" that are relevant to screening; he has other papers but they deal with curves and/or fonts.18:09.38 
Robin_Watts "Output dependent feedback in error diffusion"18:15.59 
malc Robin_Watts: did my message made it through to you in pm?18:18.52 
marcosw that might not be online. Google Scholar says it's been cited 102 times but doesn't provide a link to it.18:18.55 
  here's the complete reference:18:19.04 
  Levien, Raph. "Output dependent feedback in error diffusion halftoning." SPIE MILESTONE SERIES MS 154 (1999): 389-392.18:19.05 
Robin_Watts malc: Yes.18:19.22 
  That makes sense, but tor8 is the guy for that18:19.41 
  Can you open a bug on bugs.ghostscript.com and attach it there please? I'm buried in non-MuPDF stuff at the mo.18:20.05 
malc Robin_Watts: i haven't seen him here in quite a while18:20.12 
  sure18:20.18 
Robin_Watts He's here, just quiet.18:20.20 
malc erm.. and invisible18:20.46 
marcosw Robin_Watts: it doesn't appear to be available online, here is the publisher URL for the book in which it appears: <http://spie.org/Publications/Book/327287?origin_id=x853>18:21.26 
  I can request a copy from the Uni science and engineering library (assuming they don't have it on the shelf, in which case I'll have to walk over there and photocopy it).18:22.12 
Robin_Watts malc: he's not here currently, but he is generally here. just quiet.18:22.20 
  marcosw: That'd be great, if you could, please.18:22.31 
  Otherwise I could get it from the Bod, but that'd mean schleping down to oxford.18:22.53 
  No massive hurry!18:23.20 
malc Robin_Watts: okay thanks18:23.20 
marcosw Ironic that it's easier to get materials that are not available locally, instead of interlibray loans they email you scans but if it's one the shelf you have to walk to the library (obviously the latter is faster).18:23.53 
  I have to run; be back online later today.18:24.18 
Robin_Watts Ta.18:24.22 
mvrhel_laptop rayjj: ok you should be good to go now. both win32 and x64 solutions should build. 18:44.27 
  several files were missing18:44.39 
  and there were a couple more project setting issues18:44.47 
  but all should be good now18:44.51 
  you will need to down load the extension for the installers if you want those to build18:45.23 
  let me add a readme for that18:45.34 
  rayjj: http://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d18:47.44 
  rayjj: please let me know if you have any more issues18:51.22 
rayjj mvrhel_laptop: trying the build now...18:51.22 
  mvrhel_laptop: OK. Hurray! it builds18:52.26 
mvrhel_laptop rayjj: good. I should have done a clean check out to begin with to fix all of this18:52.43 
  sorry it took so long. 18:52.55 
rayjj mvrhel_laptop: well, somebody had to be second :-) 18:53.18 
  mvrhel_laptop: np on the delay -- I was just curious and did it when I got frustrated trying to track down other issues...18:53.50 
  which is what I should be doing :-)18:54.02 
mvrhel_laptop ok. well it all needed to be done. I need to fix a few things I know. I may do a bit of work on it this week as a break from SOT charts if I start pulling out hair.18:54.34 
  so far SOT has not been too bad but I have been limited in what part of the code I am working in18:54.49 
  anyway back to the salt mine18:55.20 
rayjj mvrhel_laptop: well, the installler thingies are free, but they only install if you have Visual Studio Professional (the dialog just says Visual Studio is required, but not installed on this computer :-(19:12.06 
  mvrhel_laptop: Guess I need to buy Pro eventually19:12.23 
  mvrhel_laptop: it runs, but I get the "MuPDF DLL not found 1" message19:14.16 
  do I have to "Install" in order to have it know how to find the DLL ?19:14.50 
Robin_Watts rayjj: Try copying the DLL into the folder with the binary as a workaround?19:18.09 
rayjj Robin_Watts: I have mupdfnet.dll in there19:19.13 
Robin_Watts dunno then :(19:21.17 
rayjj oh, I just noticed "load failed" for some of the sub projects (the Installers I got warnings on, but I also have it on some other projects)19:23.24 
  hmm... it makes a libmupdf.lib but not a libmupdf.dll19:23.56 
  OK, I see it as a dependency for the link of mupdfnet.dll so that should be OK19:26.22 
  I even get the same thing if I run it from msys with the cwd in platform/winrt/gsview/bin/Debug/ -- invoking it as gsview.exe The app starts, it just won't do anything19:32.57 
  Oh, I see. The default configuration is Win32, but I have to select Win64 and rebuild. Then it works19:39.24 
  ISTR, mvrhel mentioning that it is only for 64-bit19:39.53 
 Forward 1 day (to 2014/07/23)>>> 
ghostscript.com
Search: