| <<<Back 1 day (to 2018/10/03) | 20181004 |
Tamir_Evan | While debugging problems I had with merging the 1.14.0 commit into my fork of mupdf, I think I found two errors: | 02:57.08 |
| (1) In platform/gl/gl-ui.c, line 378, it says "#ifndef FREEGLUT", where I think it should say "#ifdef FREEGLUT", as the code in that block sets freeglut specific options. | 02:57.23 |
| (2) In platform/gl/gl-main.c, lines 14-17, realpath() is declared when _WIN32 is not defined, where I think it should be declared when _WIN32 is defined (both VS 2013 Express and MinGW's gcc warn about realpath being undefined/implicitly declared). | 02:57.48 |
tor8 | Tamir_Evan: yes. the ifndef FREEGLUT is definitely wrong, and there should be a #else between the unistd.h and realpath declaration... | 09:11.41 |
Robin_Watts | tor8: Want to fix that before I do the windows build? | 09:16.03 |
tor8 | Robin_Watts: sure. should be easy enough to sneak in. try tor/master now? | 09:20.04 |
Robin_Watts | building | 09:21.54 |
| >..\gl\gl-main.c(211) : warning C4013: 'realpath' undefined; assuming extern returning int | 09:23.12 |
| hmm. what's going on here... | 09:23.54 |
| D'Oh. | 09:24.37 |
sebras | tor8: Robin_Watts: are we going to move the tag? | 10:18.16 |
| or will this be 1.14.1? | 10:18.32 |
| 1.14.0 has not been announced on mupdf.com btw. | 10:19.27 |
tor8 | it will not be 1.14.1 | 10:19.49 |
| either we move the tag (since we haven't done the release announcement) or leave the release as is and live with the warning on win32 | 10:20.51 |
sebras | I'll delete the tag locally in preparation for it moving in that case. :) | 10:21.18 |
Robin_Watts | just move the tag. | 10:21.58 |
tor8 | will do. | 10:24.07 |
moolc | yeah git is fun like that, it's like history isimutable ... only not | 10:39.52 |
sebras | moolc: most data on a computer is mutable. in the case of git the decision is really only about how many people it will affect. | 10:41.42 |
moolc | sebras: it will affect at least one | 10:42.12 |
| commit 273ad1dccd857e2e664530fbb98ca93d68945867 (HEAD -> master, tag: v30, origin/master, origin/HEAD) | 10:42.30 |
| Author: malc <moosotc@gmail.com> | 10:42.30 |
| Date: Wed Oct 3 17:07:03 2018 +0300 | 10:42.30 |
| | 10:42.30 |
| Sync with upstream | 10:42.33 |
| | 10:42.37 |
| tag: 1.14.0 | 10:42.40 |
| | 10:42.43 |
sebras | right. not sure if that sways tor8's decision..? | 10:43.15 |
Robin_Watts | moolc: pretty easy to resync. | 10:44.16 |
moolc | Robin_Watts: that's not my gripe | 10:45.25 |
| Haven't announced anything, anywhere either... just git push --tags that pushed v30 that has this commit message | 10:45.50 |
sebras | moolc: I believe the old commit will still be there, only the tag would move as I understand it. | 10:46.53 |
| moolc: so your llpp commit out to still build at least. | 10:47.09 |
moolc | sebras: let me try once more, i've pushed MY commit and it's comment said that it syncs with upstream (you/mupdf) that is at 1.14.. and my comment _IS_ immutable, unless i start foce pushing stuff around... not a big deal at all, it's just that i might not be the only one who did that | 10:48.29 |
Robin_Watts | moolc: Indeed, but we'll live with that I think. | 10:49.25 |
moolc | sebras: i'd raise hell if my precious commits stopped working because of international group of git haters, spread all over the globe, including parts of China that think it's independent (well... de facto it is, de jure though...) | 10:50.32 |
| Robin_Watts: it's just that it's easier to push 0.14.1 methinks... but you are the masters, so i'd better shut it | 10:51.38 |
sebras | moolc: the decision is tor8's I'm just trying to figure out how it might affect you. | 10:55.02 |
moolc | sebras: tack! | 10:55.15 |
tor8 | moolc: the only thing that will break is your commit message :) | 10:55.38 |
moolc | https://github.com/moosotc/llpp/blob/master/misc/getmupdf.sh so the end-result is(will be) only somewhat inaccurate commit message | 10:55.53 |
| tor8: precisely :) | 10:56.00 |
sebras | tor8: why didn't we notice the win32 glut issues? | 11:15.02 |
| tor8: wouldn't the cluster detect this? | 11:15.14 |
Robin_Watts | sebras: cluster doesn't build mupdf-gl, maybe? | 11:22.36 |
sebras | Robin_Watts: oh, perhaps useful to at least put on the todo. | 11:24.01 |
tor8 | sebras: even if it did, the error would just be a warning | 11:25.09 |
Robin_Watts | sebras: Maybe, yes. | 11:25.38 |
| The cluster builds "all" for unix. | 11:25.57 |
| and it builds "mutool" for windows. | 11:26.37 |
| I could try to make it build mupdf and mupdf-gl too. | 11:26.47 |
sebras | Robin_Watts: I think that would be good unless it is too time consuming to figure out. | 11:28.38 |
Robin_Watts | Let's see if I can make it build all for windows too. | 11:29.03 |
sebras | Robin_Watts: perhaps one day we'll have android in there too! but I'm guessing that will be when I start looking into how that stuff actually works. ;) | 11:29.32 |
Robin_Watts | sebras: Interesting. | 11:30.10 |
| At the moment, each node only ever builds for itself, not for other platforms. | 11:30.25 |
| I could make windows (or linux) nodes build for android if they have the tools installed. | 11:31.23 |
jogux | donât forget iOS too ;) | 11:31.45 |
Robin_Watts | I'm not forgetting iOS, I'm ignoring it. | 11:32.02 |
jogux | hehe. actually there is a mac in the cluster right, so itâs probably also pretty straightforward. | 11:32.29 |
Robin_Watts | jogux: No, I'm not taking on that job, cos it'd break every 30 seconds due to apples ****ing about with keys | 11:32.59 |
jogux | just building the core doesnât need any keys | 11:33.22 |
| if you wanted to build the full app, building for the simulator also doesnât need any keys. | 11:33.34 |
Robin_Watts | jogux: I thought I couldn't build *anything* ARM targetted without keys. | 11:33.59 |
tor8 | Robin_Watts: jogux: IIRC the Xcode project last I looked shelled out to 'make OS=ios' | 11:35.10 |
| to build the library | 11:35.17 |
jogux | it should be fine as far as I know. you canât do anything you can actually install on a device without keys, you can even (I think) convince it to build an app and not sign it. | 11:35.21 |
| tor8: yep. that make step definitely doesnât need any signing keys. | 11:36.02 |
tor8 | but it also sets a bunch of extra environment variables. could be worth building just to make sure the core doesn't break on Darwin. | 11:36.11 |
Robin_Watts | ok, so to do that I'd need: | 11:36.29 |
tor8 | but the environment variables need faffing about on just about every point release of Xcode way back when | 11:36.43 |
Robin_Watts | 1) a test I can run in sendCaps.pl to check whether I can build for iOS on a given node. | 11:36.55 |
| 2) a command line I can call to actually do the build on such a machine. | 11:37.30 |
jogux | I think in xcode 9.4 or 10 apple actually sorted out the key stuff for non-release builds and itâs all magic once youâve logged in, but Iâve not tried that in anger. | 11:37.39 |
Robin_Watts | ok, so the windows builds now build all, and that seems to work. | 11:38.54 |
| https://ghostscript.com/regression/cgi-bin/clustermonitor.cgi?log=make&machine=watts&report=robin | 11:39.05 |
| With appropriate 1 and 2, I can also build the desktop java stuff. | 11:40.41 |
| jogux: "Once you've logged in" ? | 11:41.20 |
jogux | xcode->prefereneces->add account and login with an apple developer account. | 11:41.41 |
| thatâs a one-off setup thing. | 11:42.02 |
Robin_Watts | And how long does that last? Having to redo that after every reboot or every month will be a killer. | 11:42.08 |
| Ok, one off ain't so bad. | 11:42.13 |
tor8 | Robin_Watts: if the machine is properly set up, invoking just "make java" and "make android APP_ABI=armeabi-v7a" to catch compile errors would be good. | 11:44.10 |
| s/the machine/one of the cluster machines/ | 11:44.31 |
Robin_Watts | tor8: OK, so that's 2. What's 1 ? :) | 11:46.22 |
tor8 | if (hostname == 'magic-build-bot') ? | 11:46.48 |
Robin_Watts | tor8: nope. won't do that. | 11:46.59 |
| I'm trying to get such hacks out of the cluster. | 11:47.20 |
tor8 | does the test in sendCaps.pl run on the cluster machine? | 11:47.50 |
Robin_Watts | Checking to see if "javac" works is the sort of test I had in mind. | 11:47.51 |
| yes. | 11:47.55 |
| sendCaps.pl sends the capabilities of the node back to the master. | 11:48.13 |
| so it says "windows" or "linux" etc. | 11:48.22 |
| (and "vs2017" for windows nodes with that installed etc) | 11:48.49 |
jogux | Robin_Watts: urm, testwise, dunno. maybe just look for âuname -aâ containing darwin? | 11:48.52 |
tor8 | which ndk-build | 11:49.09 |
| which javac | 11:49.11 |
Robin_Watts | jogux: no, cos that doesn't test for iOS stuff being installed. | 11:49.12 |
tor8 | which xcrun | 11:49.14 |
jogux | Robin_Watts: iOS stuff is part of Xcode. I think youâd need that to build for macOS too. | 11:49.31 |
Robin_Watts | You can have xcode installed without iOS stuff, I believe. | 11:49.59 |
jogux | I donât believe so. You could have not logged in (and hence not be able to sign arm apps) but I donât think you can detect that easily from the command line | 11:50.33 |
Robin_Watts | ok, I'll have a play with that later. | 11:51.04 |
jogux | Xcode9/10 definitely comes packaged with iOS SDK and simulator included. I donât believe thereâs any way to get xcode without getting those. | 11:51.18 |
Robin_Watts | ok. | 11:51.48 |
moolc | tor8, sebras, Robin_Watts: https://github.com/moosotc/llpp/commit/273ad1dccd857e2e664530fbb98ca93d68945867#commitcomment-30768475 | 12:17.23 |
fiesh | I have a PDF that triggers mupdf: source/fitz/colorspace.c:1486: fast_rgb_to_cmyk: Assertion `"This should never happen" == NULL' failed. I suppose I should file a bug report? | 14:18.18 |
Robin_Watts | fiesh: Yes, please. | 14:51.53 |
| sebras may have a commit that fixes that. | 14:52.04 |
| ndk-build | 14:52.52 |
| balls. | 14:52.56 |
| sebras, fredross-perry: Is there any particular version of the ndk needed? | 14:54.58 |
| Actually... are we using gradle now ? | 14:56.34 |
fiesh | Robin_Watts: ah I think it's a dup of https://bugs.ghostscript.com/show_bug.cgi?id=699262 and google just didn't find it because of the differing line numbers | 15:01.30 |
sebras | Robin_Watts: we are, yes. | 15:35.52 |
Robin_Watts | struggles to install android tools on miles. | 15:36.17 |
sebras | fiesh: please report it anyway and attach the PDF file triggering the issue. that way we can conclusively determine that it is indeed the same issue. | 15:36.46 |
Robin_Watts | sebras: So what's the current command for building mupdf android stuff? | 15:38.57 |
sebras | Robin_Watts: actually tor8 and me have wrapped gradle in a make file. so I think that make would work. | 15:43.34 |
Robin_Watts | make where? | 15:43.45 |
sebras | Robin_Watts: it will then start gradle which will then use the java compiler and or NDK. | 15:43.48 |
Robin_Watts | in platform/java ? | 15:43.49 |
sebras | for desktop java you can run make in platform java, yes. | 15:44.14 |
Robin_Watts | and for android? | 15:44.25 |
sebras | Robin_Watts: for android we usually use another git that has libmupdf as a submodule. | 15:45.04 |
Robin_Watts | OK, so I can't test that. | 15:45.12 |
| I can maybe do overnight tests for that, but I can't test it normally. | 15:45.30 |
sebras | Robin_Watts: but tor8 did actually write "make android APP_ABI=armeabi-v7a" before. | 15:45.39 |
fiesh | sebras: ok! | 15:45.52 |
sebras | I haven't run that myself so I don't know how that works (or if it actually uses gradle and that) | 15:45.56 |
| fiesh: thanks. | 15:46.09 |
fiesh | sebras: given that we also run gentoo, it seems quite likely, so should I not better attach the PDF to the existing issue and, if it really happens to be the case, it's split up to a separate one when the issue is addressed? | 15:46.25 |
| sebras: (quite likely it's a dup that is) | 15:46.44 |
sebras | fiesh: better to report your issue separately and we'll duplicate it if it is indeed the same issue. | 15:47.00 |
fiesh | ok! | 15:47.05 |
sebras | fiesh: thank you! | 15:47.12 |
| Robin_Watts: I just tried make andrdoi APP_ABI=armeabi-v7a and that works too. that builds the core library using the NDK without using gradle. | 17:16.41 |
| it doesn't build the java stuff for android though, but building the java stuff for desktop java is a good start. at least it compiles in _one_ environment. | 17:17.16 |
Robin_Watts | sebras: In the main mupdf.git repo? | 17:17.17 |
sebras | Robin_Watts: yes. | 17:17.24 |
Robin_Watts | In what directory? | 17:17.30 |
sebras | Robin_Watts: at the top level. | 17:17.36 |
| Robin_Watts: the build results is in build/android it seems | 17:17.57 |
Robin_Watts | Right, that relies on ndk-build | 17:17.58 |
sebras | build/android/libs/armeabi-v7a/libmupdf_java.so | 17:18.05 |
| it does. | 17:18.08 |
Robin_Watts | which I thought we were deprecating now? | 17:18.19 |
| Or does gradle call ndk-build ? | 17:18.25 |
| (or this makefile) | 17:18.31 |
sebras | Iit does | 17:18.39 |
Robin_Watts | I see. | 17:18.49 |
| So I can test that. | 17:18.52 |
sebras | the makefile in mupdf-android-fitz calls gradle which calls ndk to build the mupdf submodule in a normal situation. | 17:19.07 |
| but this is a way to at least test build the android stuff under NDK. | 17:19.29 |
Robin_Watts | right. I am testing the java build on the cluster now. | 17:19.49 |
sebras | I believe that this make-based build system is on the verge of being deprecated but not yet. | 17:19.53 |
| Robin_Watts: cool. thanks for spending the time to do this. | 17:20.06 |
| Robin_Watts: your work means we'll all get slapped on the hands when we attempt to commit things that doesn't build on one platform or the other, and I believe that happens rather frequently. | 17:20.43 |
moolc | sebras: https://www.youtube.com/watch?v=L0YQE0NvW0I&t=679 | 17:28.58 |
sebras | moolc: good answer! | 17:40.10 |
moolc | sebras: hah | 17:40.33 |
sebras | Robin_Watts: where are you testing the java build? | 17:40.42 |
moolc | sebras: you have to sell an arm and a leg to get those though | 17:41.02 |
sebras | moolc: luckily I had two of both, so now I have two keyboards! | 17:42.24 |
moolc | sebras: ex-ambidextrous bastard! | 17:43.05 |
Robin_Watts | sebras: On miles. | 17:43.36 |
sebras | Robin_Watts: oh, perhaps any results are not visible yet? | 17:44.53 |
Robin_Watts | sebras: Not yet... | 17:45.03 |
sebras | Robin_Watts: ok, I was ju curious what it looked like. :) | 17:45.36 |
moolc | hmm... judging by that 'ju curious' not even 2-key rollover it seems | 17:50.29 |
| Forward 1 day (to 2018/10/05)>>> | |