Time Nick Message 00:48 ShadowNinja Is JsonCPP, JThread, util, and the scriptAPI ALWAYS rebuilt? 04:48 Vanessa_E compile failure with latest git: 04:48 Vanessa_E http://pastebin.ubuntu.com/7088312/ 04:48 Vanessa_E ShadowNinja suggested some changes, but they did not help: 04:48 Vanessa_E http://pastebin.ubuntu.com/7088322/ 04:49 Vanessa_E (the added parenthesis around the "%" PRIxxx ", " parts) 04:49 Vanessa_E works for him with GCC 4.8.2, but does not work for me (4.6.3) or cheapie (4.8.1) 06:38 sfan5 ~tell sapier how did you compile openal for android? It always says snprintf missing for me 06:38 ShadowBot sfan5: O.K. 10:14 PilzAdam ShadowNinja, https://launchpadlibrarian.net/169452978/buildlog_ubuntu-saucy-i386.minetestc55_201403140411-0~2658~ubuntu13.10.1_FAILEDTOBUILD.txt.gz 10:14 PilzAdam ShadowNinja, https://github.com/minetest/minetest/commit/875f1327a47f78d783c3abc7f7acc3977dc286ec#commitcomment-5674238 10:15 xyz lol 10:15 xyz inttypes.h is c99 10:16 xyz and you code in c++ so you're supposed to use cinttypes right? 10:23 xyz either way there's no inttypes.h in c++03 10:24 xyz so plzfix 10:26 xyz and since this particular c++11 feature probably won't work on hmmmm's machine you're not allowed to use it 12:29 xyz ~tell sapier nice, I didn't expect this from that lib at all; have you fixed the issue already btw? 12:29 ShadowBot xyz: O.K. 15:25 ShadowNinja I'll revert that commin and add the extra long long cast. (which doesn't officially exist in C++03 either, but is widely supported) 16:17 proller ShadowNinja, https://github.com/freeminer/freeminer/issues/59 16:52 ShadowNinja proller: Well? How is that helpfull? 16:53 ShadowNinja I've made serializeStructToString use an std::ostringstream. Now to test... 17:10 ShadowNinja Works, thoughts? http://ix.io/b5d 17:10 PilzAdam ShadowNinja, + /diff 17:16 ShadowNinja PilzAdam: Right. 19:08 sapier ~ tell sfan5 yes openal as well as vorbis and ogg work 19:08 ShadowBot sapier: O.K. 19:09 sfan5 sapier: my question was how not whether 19:09 ShadowNinja sapier: You don't need tell when they're online and use a BNC. 19:09 sapier I didn't encounter that issue 19:09 sfan5 could you give me your compiled version then? 19:10 sapier openal did build quite soon ... would've been a matter of minutes if I did realize sound_openal.cpp isn't part of library but part of minetest ;-) 19:10 sapier I'm gonna push my branch in about 1 or two hours (needs a little bit of cleanup) 19:13 sapier but may I ask why you continue to work in parallel as my branch is already feature complete? I'm gonna start merge reviews to master quite soon. I'd prefere to have a merged variant by then instead of having multiple half grown parallel versions fighting against each other :-( 19:15 sapier I guess you've got some interesting things in your branch too so if you'd tell me where to look or even better if you did prepare them on your own we could have a android port ready for 0.4.10 19:17 sapier controls for example ... mine aren't perfect, yours aren't too so why not take best of both to get a really good control 19:17 sfan5 you can't mix those two controls 19:17 sfan5 well you can 19:17 sapier but if I do it on my own I could accidently merge worst of both ;-= 19:17 sfan5 but they are entirely different for selecting the node to point at 19:17 sfan5 also I am not working in paralell 19:17 sfan5 you use ndk-build as build system, right? 19:18 sapier partial 19:18 sfan5 what does 'partial' mean? 19:18 sapier I use plain make to get library depencencys 19:18 sapier as well as source code 19:19 sfan5 so yes 19:19 sfan5 I think it would be better if we use my solution 19:19 sapier cmake isn't capable or at least way to limited to do things like that 19:19 sapier well if you can explain to me how to use cmake to do those things I'm with oyu 19:19 sapier you 19:19 sfan5 that will make sure future build system changes (includes simple addition of .cpp files) works with android without extra things 19:20 sfan5 cmake is not supposed to dl/build libraries 19:20 sapier but we don't have just cpp files that's our problem 19:20 sfan5 that is what an additional .sh in util/ could do for android 19:20 sapier that's crap 19:20 sapier .sh files don't handle dependencys 19:20 sapier and are always broken if you need them 19:20 sfan5 wat 19:21 sfan5 your makefile is essentially a script too 19:21 sapier I don't wanna write a shell script handling "build irrlicht; build openal; build ogg; build leveldb; build ..." ... and detect changed files in there and and and 19:21 sapier that's what make is supposed to do 19:22 sapier and I want to be able to build and clean them separate 19:22 sfan5 >detect changes in there and and and 19:22 sapier every makefile system is some sort of script 19:22 sapier some provide more features others less 19:23 sfan5 well 19:23 sfan5 then use a makefile instead of a script 19:23 sapier cmake is a great buildsystem but tageted at a closed source package 19:23 sfan5 build systems are not supposed to download/build dependency libraries or have you ever seen autoconf downloading and building things for you? 19:23 sapier which we don't have we basicaly have some libs completely separate which do have their own build systems ... integration to cmake is quite waste of time 19:24 sapier yes :-) 19:24 sfan5 ok 19:24 sapier pciutils do so ;-) 19:24 sfan5 show me the project that uses autoconf(!) to dl & build libs 19:24 sapier the pci database 19:25 sapier I don't deny this is a little bit of abuse of makefile system but scripts are just too limited to do so 19:25 sfan5 ! 19:25 sfan5 pciutils does not even use a build system (not one like cmake or autoconf) 19:25 sapier If you wanna implement all the dependency handling in your build script I'm fine with it too ;-) 19:26 celeron55 i know the issues with cmake, and the issues with scripts; but is there an actual issue with make? 19:26 sapier it's oldfashined 19:26 sapier and to be honest makefile dependencys are horrible to debug :) 19:27 sfan5 celeron55: would you prefer using cmake for the android port too? (or alternatively a makefile you need to manually update for each thing) 19:28 celeron55 of course cmake, but i'm assuming there is something that it can't handle 19:28 celeron55 what is that something? 19:28 sapier I'd prefere to cmake too but I don't wanna replace build of irrlicht leveldb curl openal-soft and ogg-vorbis ... and without doing so it's not gonna be consistent anyway 19:28 sfan5 sapier wants cmake to be like buildbot.sh 19:29 sapier no I'd be perfektly ok if it did only check dependencys correct 19:29 sapier but It can't even do that 19:29 sfan5 'check dependencys correct' please explain 19:29 sapier if we'd just have to do the download by script I'd instantly use cmake 19:30 sapier e.g. if I change a file in irrlicht code I want "make" to detect that irrlicht has to be rebuilt 19:30 sfan5 that is not what a build system is supposed to do 19:30 sapier that's exactly what a buildsystem is supposed to do 19:30 sfan5 no it isn't 19:30 celeron55 is it too much overhead if the script just attempts to build everything and then the sub-buildsystems will just say "nothing to do here, go on" 19:31 sfan5 a build system is supposed to configure the CURRENT project so that it will compile & work, it is not supposed to handle building every dependencie 19:31 sfan5 dependency* 19:31 sapier as of android port all of those libs are part of the CURRENT project none of them is really shared 19:32 celeron55 at work i have a project that is completely built by make, which also builds a dependency that uses cmake... 19:32 sapier I have already expressed my dislike of buildbot months ago because it doesn't build from source 19:32 celeron55 it's not that hard to do but debugging it is a pain like sapier said 19:32 sfan5 nonono 19:32 sfan5 current project is minetest(server) 19:32 sfan5 not a single other thing 19:33 sapier well sfan you may have noticed you can't build android port without s bunch of specially modified libraries 19:33 sapier so those special version get part of minetest 19:33 sfan5 what is specifically modified? (except irrlicht) 19:33 sfan5 which ones are* 19:33 sapier you may try to persuade google to merge them to android but I don't expect you to succeed 19:34 sfan5 ??????? 19:34 sapier irrlicht, leveldb openal-soft ogg vorbis 19:34 sfan5 you needed to modify leveldb to make it build 19:34 sapier none of them are either part of android nor are they the official versions 19:34 sfan5 ogg and vorbis built fine for me too 19:34 sfan5 all of them from official sources 19:34 sapier at best you need only special versions prepared to use ndk build 19:35 sfan5 well 19:35 sfan5 I am not using ndk-build (aside from copying libminetest.so from ../bin to libs/armeabi) 19:35 sapier I don't think you did rewrite ndk build in cmake for all of them ... and if you did you're choped from update branch 19:36 sfan5 wat 19:36 sapier and not using the supplied build usualy results in usage of old versions ... see sqlite, lua jthread 19:36 sfan5 lemme explain: 19:36 sfan5 1) cmake is configured like usual with -DANDROID=1 , activates creation of libminetest.so in bin/ 19:37 sfan5 2) ndk-build copies libminetest.so to the place where it would end up if we were using ndk-build to build the src 19:37 sfan5 3) ant debug can then make an .apk 19:37 sapier and how do you add irrlicht? 19:37 sfan5 by setting IRRLICHT_LIBRARY and IRRLICHT_INCLUDE_DIR? 19:38 sapier ok so you basicaly only cmakified minetest build 19:38 sfan5 yes.. well I stayed with cmake instead of using ndk-build 19:39 sapier ok then it's gonna be really easy to merge 19:39 sapier I'll just replace the minetest target in my makefile by your cmake build variant 19:40 sfan5 the makefile will go to util/ then 19:40 sapier so the outer makefile will take care about the dependencys and your cmake will build minetest package itself 19:40 sapier and we get rid of that crazy build/android subfolder too 19:40 sapier how do you build for different architectures in cmake? 19:41 sfan5 just set the compile 19:41 sapier can you do it at once? 19:41 sfan5 cmake-gui also lets you input an architecture but I don't think that is of any use 19:41 sfan5 yes 19:41 sapier all architectures in a single pass? 19:41 sfan5 see cmake command http://dev.minetest.net/Android#Minetest 19:41 sfan5 .. 19:41 sfan5 what? 19:41 sfan5 oh right, you may want armv6 and armv7-a 19:41 sfan5 no 19:42 sapier "which arm-linux-androideabi-gcc" are you serious? 19:42 sfan5 yes 19:42 sapier imho that's way to dangerous 19:42 sfan5 why? 19:42 sapier because you'll run in a lot of trouble about different compilers 19:43 sfan5 example please 19:44 sapier you use the non versioned symlink name only if you have multiple versions installed you never can't be sure about the current environemnt 19:44 sapier so sometimes this can be 4.6 4.4 4.8 ... 19:44 sfan5 why would I care about the compiler version one uses? 19:44 sapier imho you should exactly specify what ndk to use ... I've got 4 versions installed right now 19:45 celeron55 because in certain cases there isn't gcc 19:45 celeron55 there is only eg. gcc-4.8 19:45 sfan5 oh you mean that 19:45 sapier that's another issue too we may build using clang too 19:45 sfan5 sapier: I use the standalone toolchain 19:45 celeron55 but anyway, that's not an issue; it's just a matter of adding lines at the top of the makefile or script for easy changing 19:45 sapier well that's another point we shouldn't use a non official toolchain 19:45 celeron55 if someone is going to build for android, it's not like they expect it to work without any tweaking 19:46 sfan5 if you want clang set CC=clang CXX=clang++ and C_FLAGS=-arch armv6 -isysroot or something 19:46 sfan5 sapier: did you read? http://dev.minetest.net/Android#Moving_away_from_Crystax_NDK 19:46 sapier yes I know you already want to get away from it 19:47 sapier well I really don't care what buildsystem is used for minetest engine as for android port minetest engine is just a subcomponent and not really usefull on it's own 19:48 sapier as long as it works ;-) 19:48 sapier I'm just gonna call make in minetest folder from a top makefile 19:54 sapier but what I don't wanna do is write cmake for irrlicht & co ... their make system has to be done by those products, I don't wanna merge it on each of their updates 19:56 sfan5 I'm not expecting you to do that 19:57 sapier well I don't wanna do this anyone else too as it'd be wasted time 19:57 sapier for minetest itself using cmake is perfectly fine 19:57 sfan5 that wording was unfortane 19:57 sfan5 I meant that it does not need to be done 19:57 sapier well at least if you do it right, meaning it needs to be done with official google ndk 19:58 sapier guess it's not gonna be to much of work to do so is it? 19:59 sfan5 what do you mean? 20:00 sapier right now you're still using crystax right? 20:00 sfan5 I am 20:01 sapier do you already have mixed java/c++ code for your branch? 20:02 sfan5 no 20:02 sapier hmm we should find how to do this with cmake first can you try it? 20:03 sfan5 how to do what? 20:03 sapier build a mixed apk ... I guess ant does this but I'm not sure about it 20:04 sfan5 that'll work fine 20:04 sfan5 I just need ndk-build to either cp to libminetest.so or libminetest-eabiv7.so 20:05 sapier hmm so we need ndk-build to cp openal and libogg too? 20:05 sfan5 no 20:05 sfan5 .so's do not work out of the box 20:05 sapier they do 20:05 sfan5 you would need to load everthing step-for-step in java 20:06 sfan5 I mean if libmintest.so depends on other .so's 20:06 sfan5 that does not work 20:06 sapier yes you need to load them but they do work 20:06 sfan5 I tested it 20:06 sfan5 well 20:06 sfan5 I think that is inconvenient 20:06 sapier that's the only way to go for openal-soft 20:06 sfan5 and then we need another entry point to be called from hava 20:06 sfan5 you can always use static libraries 20:07 sapier they don't provide a static build ... and just to avoid a single System.LoadLib("openal") I'm not gonna rewrite their buldsys 20:08 sfan5 that rewrite you're talking about is about as much work as sed -e 's/shared/static/' 20:08 sapier nope 20:08 sapier already tried doesn't work 20:08 sfan5 doesn't 20:08 sfan5 error please 20:09 sfan5 s/doesn't/doesnt?/ 20:09 sapier well the buildsys still tries to link something and fails due to unresolved symbols 20:09 sfan5 I'll take a look at that 20:10 sapier if it's not a one line change it's not worth the work as they most likely never will provide a static build ... they seem to believe their library is only meant to be used as shared lib 20:11 sapier And I don't se a reason why we shouldn't provide shared libs too, if there's a static build it's prefered of course 20:13 sfan5 using shared libs adds trouble we won't have w/o them 20:14 sapier we provide the shared libs in our apk I don't see a way how this may cause trouble 20:14 sfan5 we need to load every lib using java 20:14 sapier we need to use java anyway 20:15 sfan5 no 20:15 sapier of course we do 20:15 sfan5 for what? 20:15 sfan5 the software keyboard can be shown completly using C(++) 20:15 sapier e.g. text input, asset copying, screen acces 20:15 sfan5 no, no, ???? 20:16 sapier yes of course you can write 100 codes of unreadable buggy c++ code to avoid 3 lines of readable java code 20:16 sfan5 yeah .. mh 20:17 sfan5 but just because we use java already doesn't mean we should use even more 20:17 sapier jni is ugly as hell if you just pass parameters to java and code it in java it's at least readable ... if you read all those functions to c++ call them by textual names and anonymous parameters that's amost undebuggable 20:19 sapier sfan5 it's a single line ... if you really have that much spare time to spend to avoid it do it ;-) I'm not really motivated to change it ;-) 20:19 sfan5 I'll see whether it makes sense to do that or not 20:20 sapier I'm more interested in having a clean updateable build which doesn't require a lots of manual tuning on each update of a base library 20:22 ShadowNinja If we have Java, I'd rather keep most of the Android-specific stuff like opening the keyboard in Java. 20:22 sapier already done 20:22 sapier I moved asset copying to java too 20:23 ShadowNinja Yes, I know. Just stating my opinion of how it should be done. 20:23 sapier and added delta detection (yet buggy by now need to fix it) 20:26 celeron55 i also think android-specific things should be in java (note that android is not the only thing that has a touchscreen interface though) 20:26 sapier It'd be perfect that way but I don't se a way to get this done in a consistent way while using irrlicht 20:34 sapier celeron55 a full rebuild nothing to be done requires about 10 seconds with my top level buildfile where 8 seconds are spent for signing the apk ... no idea why this is always done 20:53 sapier sfan5 I just pushed my sound supporting version ... still android_1 branch 20:53 sfan5 ok 20:57 sapier as I said if we can avoid the build/android folder I'd fully support it ... but I'll wait till you switched to official ndk as I don't wanna switch to crystax just to switch to official right after it