#gemrb@irc.freenode.net logs for 19 Feb 2013 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[00:14:07] --> edheldil_ has joined #gemrb
[00:15:21] --- ermo^ is now known as ermo
[00:20:04] <-- brada has left IRC (Quit: brada)
[00:40:19] <-- Maighstir has left IRC (Quit: .)
[00:46:05] --> brada has joined #gemrb
[00:48:17] <brada> psch: those link errors make it sound like you are trying to link the plugins together
[00:53:01] <psch> brada: what lynxlynxlynx said wrt static linking was the right call
[00:53:11] <brada> yes
[00:53:15] <brada> you need STATIC_LINK set
[00:53:17] <psch> i had another look at the pelya project and found the right flags
[00:53:21] <brada> if you are static linking
[00:53:37] <brada> basically same thing as what i said
[00:53:50] <brada> compiling all the plugins together has the same effect :p
[00:53:54] <psch> i see
[00:54:12] <psch> linking works now, in any case
[00:54:17] <brada> good
[00:54:30] <psch> im having a few trouble with packaging though, the ant script doesn't package the shared libs
[00:54:47] <psch> it even blatanly states that there are no dependencies
[00:54:57] <brada> well that is bogus :D
[00:55:04] <psch> i *think* that's wrong, but i probably didn't tell it
[00:55:05] <brada> wish i could help
[00:56:48] <psch> right now i'm at a point where i can succesfully package the sdlactivity and load it on my nexus
[00:56:58] <psch> but running it crashes with "missing library libogg.so"
[00:57:11] <brada> ogg is an optional dep
[00:57:18] <brada> so you dont need to build it
[00:58:24] <psch> yeah, i know that from the gemrb README, i don't really want to skimp on features though
[00:58:34] <psch> even if it's just for completeness' sake
[00:58:50] <brada> sure but if you want to skip it for now just to get things working...
[00:58:55] <psch> that aside, the makefiles i have here are rather messy, and i'm not really sure how to declare dependencies as optional
[00:59:36] <psch> i actually think there's a general problem with libraries and packaging them - my .apk is ~2.4MB, the one built with pelya is ~7.5MB
[00:59:52] <psch> soo, even if i skip ogg, something else will probably be missing
[01:01:24] <brada> yes thats likely
[01:07:34] <brada> can you not statically link the ogg and other libs too?
[01:10:48] <psch> well, the ogg makefile should build it statically, and ogg is included in STATIC_LIBRARIES in the gemrb makefile
[01:10:55] <psch> which makes this a bit strange, in my opinion
[01:11:40] <psch> i looked that up in pelya as well, and his ogg makefile looks pretty similar to mine, from what i can tell
[01:11:55] <-- brada has left IRC (Quit: brada)
[01:14:11] <-- edheldil_ has left IRC (Ping timeout: 244 seconds)
[01:33:44] --> brada has joined #gemrb
[01:43:23] <-- brada has left IRC (Quit: brada)
[01:52:37] --- ermo is now known as ermo^
[05:10:44] <-- DrMcCoy has left IRC (Ping timeout: 255 seconds)
[05:12:20] <-- wjp has left IRC (Ping timeout: 248 seconds)
[05:12:28] --> brada has joined #gemrb
[05:13:07] <-- |Cable| has left IRC (Ping timeout: 240 seconds)
[05:19:45] --> wjp has joined #gemrb
[05:19:53] <-- brada has left IRC (Quit: brada)
[05:22:41] --> DrMcCoy has joined #gemrb
[05:26:32] --> |Cable| has joined #gemrb
[06:53:41] --> duckpunch has joined #gemrb
[06:58:33] --> edheldil_ has joined #gemrb
[06:59:09] <psch> alright, i've got it building and linking and i even have all the libraries in the .apk
[06:59:40] <psch> unfortunately i had to fall back on pelya/mikmod for sdl_mixer, because i didn't figure out how else to build that
[07:00:29] <psch> there's a few mikmod android ports around, and i at least one of that builds and links, but crashes when i try to run the app
[07:01:24] <psch> unfortunately all i get is a black screen, which i'm intuitively blaming on something wrt GemRB.cfg and some paths that should probably be defined somewhere somehow
[07:42:23] <-- edheldil_ has left IRC (Ping timeout: 255 seconds)
[07:57:15] --- ChanServ gives channel operator status to wjp
[08:24:20] --> edheldil_ has joined #gemrb
[08:28:41] <-- edheldil_ has left IRC (Ping timeout: 252 seconds)
[09:16:15] --> Yoshimo has joined #gemrb
[09:30:29] <-- duckpunch has left IRC (Quit: leaving)
[10:14:13] --> WingedHussar has joined #gemrb
[11:14:58] --> PixelScum has joined #gemrb
[11:16:54] <-- Drakkar has left IRC (Ping timeout: 264 seconds)
[12:08:48] <-- Yoshimo has left IRC (Ping timeout: 244 seconds)
[12:35:14] --> kida has joined #gemrb
[14:12:10] --> edheldil_ has joined #gemrb
[14:30:01] --> lynxlynxlynx has joined #gemrb
[14:30:02] <-- lynxlynxlynx has left IRC (Changing host)
[14:30:02] --> lynxlynxlynx has joined #gemrb
[14:30:02] --- ChanServ gives channel operator status to lynxlynxlynx
[14:46:20] --> Yoshimo has joined #gemrb
[14:58:32] --> Canageek has joined #gemrb
[15:30:39] <-- Yoshimo has left IRC (Read error: Connection reset by peer)
[16:08:41] --> brada has joined #gemrb
[16:09:26] <brada> psch: sdl_mixer is pretty useless if you have openal for audio.
[16:19:35] <lynxlynxlynx> it's lighter
[16:22:29] <psch> so i should actually only link against one of those two?
[16:23:51] <psch> ill definitely need to have a closer look into what i build gemrb against i guess
[16:24:15] <psch> right now i'm still stuck at the black screen - the app starts, adb logcat doesn't show any problems but nothing happens
[16:46:00] <brada> relly no log?
[16:47:48] <brada> can you not run an android program though a debugger on your computer?
[16:48:21] <psch> i could try that
[16:48:34] <psch> ill put up the log output i get, sec
[16:49:59] <psch> http://nopaste.info/2d77a03b23.html
[16:50:00] <Seniorita> Nopaste - powered by project-mindstorm IT Services
[16:50:22] <psch> i think that means entry into SDL_main() somehow doesnt work or SDL_main doesnt do what it should
[16:50:45] <-- kida has left IRC (Quit: Leaving)
[16:51:01] --> kida has joined #gemrb
[16:51:27] <psch> oh
[16:51:34] <psch> also the app was still running in the background
[16:52:24] <psch> http://nopaste.info/48d2eaa91b.html this is after force closing it via settings/apps
[16:52:26] <Seniorita> Nopaste - powered by project-mindstorm IT Services
[16:53:29] <psch> or rather, starting it again after force closing it..
[16:54:48] <brada> is this using the SDLActivity.java from sdl?
[16:54:59] <psch> yeah
[16:55:07] <psch> i've extended it as per the README.android
[16:55:40] --> Maighstir has joined #gemrb
[16:56:05] <psch> and i added a few System.loadLibrary for the libs
[16:57:30] <brada> lets see yourSDL_android_main.cpp
[16:59:55] <brada> you will probably also want to edit gemrb.cpp
[17:00:21] <psch> http://nopaste.info/3c36b44af1.html SDL_android_main.cpp
[17:00:22] <Seniorita> Nopaste - powered by project-mindstorm IT Services
[17:00:37] <psch> i didn't change anything there
[17:00:46] <psch> it's as it is in the SDL2 archive i downloaded
[17:13:22] <brada> hmm i dont see anything in this readme that stands out
[17:14:42] <brada> the only thing i can think of is that the gemrb main function isnt getting swizzled to SDL_main
[17:15:22] <brada> if you dont have a debugger setup try putting a print there
[17:16:16] <brada> bbl
[17:16:17] <-- brada has left IRC (Quit: brada)
[17:33:19] <psch> alright, the app does reach GemRB.cpp/main()
[17:41:22] <lynxlynxlynx> we've had to jump through hoops to link to SDL_main correctly before
[17:41:33] <lynxlynxlynx> i think it was for macs though
[17:48:43] <psch> so control flow reaching GemRB.cpp doesn't mean that the SDL_main thing worked?
[17:48:59] <psch> sorry if that seems obvious, i hardly don't anything about sdl
[17:49:14] <psch> *hardly know
[18:01:51] <-- edheldil_ has left IRC (Read error: Operation timed out)
[18:07:50] --> brada has joined #gemrb
[18:07:59] --> Yoshimo has joined #gemrb
[18:10:42] <brada> psch: if flow does reach where core initialization happens you are on the right track. I wonder why you dont seem to get any log messages about core initialization
[18:12:39] <brada> also curious that it hangs instead of exists
[18:17:44] <psch> i added a few more debugging prints in GemRB.cpp, maybe this can narrow down where it hangs
[18:17:56] <psch> i'd guess it's before InitializeLogging(), but...
[18:25:08] <brada> i dont know if any of this applies to sdl2 or android
[18:25:11] <brada> http://sdl.beuc.net/sdl.wiki/FAQ_Console
[18:25:12] <Seniorita> FAQ_Console - SDL Documentation Wiki
[18:29:15] <psch> http://nopaste.info/443b83ad69.html this is where i'm at
[18:29:16] <Seniorita> Nopaste - powered by project-mindstorm IT Services
[18:29:43] <psch> i forget to put something after core->Init() for that compile, but then if Init() fails it should definitely log something i assume
[18:31:15] <psch> the console link would give me the "Press enter to continue..." message?
[18:31:20] <psch> in case it fails there
[18:35:24] <brada> the core = new Interface( argc, argv ); line should result in numerous messages regardless of success or failure
[18:35:34] <brada> tho maybe that does explain the hang instead of exit
[18:35:49] <-- Yoshimo has left IRC (Quit: Yoshimo)
[18:37:32] <brada> are you compiling the android logger class?
[18:39:57] <psch> it's in the makefile at least
[18:40:12] <psch> and i don't have any define dependant exclusions or anything
[18:40:31] <psch> the .o is there too
[18:40:42] <psch> i don't have a compile log handy right now, but it should compile
[18:41:20] <brada> i assume ANDROID is in fact set
[18:43:47] <brada> have a look at core/System/Logger/Android.cpp
[18:45:14] <brada> is __android_log_print still the way to log to console?
[18:46:49] <psch> yeah, that's what i took from the README.android for my statements
[18:47:37] <psch> and ANDROID should definitely be set, as I surrounded my debugging statements with #ifdef ANDROID
[18:47:46] <brada> good
[18:48:14] <brada> i assuem ANDROID is automatically set by the android ndk
[18:48:20] <brada> but im not an android dev
[18:48:25] <brada> so i have to ask :p
[18:49:34] <psch> to be fair, i was doubtful for a moment, thinking that that could actually be what's missing - because i'm not setting ANDROID
[18:49:38] <brada> from what i can tell, if you are building core/System/Logger/File.cpp tehn yo should automatically have a GemRB.log created (assuming it doesnt fail)
[18:49:58] <psch> but the ndk does
[18:50:00] <brada> check GamePath/GemRB.log
[18:50:01] <psch> oh right
[18:50:02] <psch> yeah
[18:50:08] <brada> or CachePath/GemRB.log
[18:50:14] <brada> or /tmp/GemRB.lo
[18:50:15] <brada> g
[18:50:16] <psch> i was only looking at logcat
[19:05:37] <psch> im not getting a GemRB.log it seems
[19:07:20] <brada> probably easiest to see whats wrong if you have a debugger to step though
[19:08:27] <psch> yeah, i guess i'll try to get valgrind up and running
[19:09:34] <brada> valgrind shouldnt be necessary here
[19:09:56] <brada> just gdb or whatever is available for android
[19:13:06] --> edheldil_ has joined #gemrb
[19:13:09] <psch> alright
[19:15:35] <brada> since im not an android dev i cant say with any certainty, but i would like to think you can debug the device though eclipse
[19:15:52] <brada> or whatever ide android ndk uses
[19:27:03] <psch> ive been hesitant to put the whole build into eclipse
[19:27:17] <psch> i could debug through eclipse if i had the project there, but i dont
[19:27:39] <psch> but there's stuff to attach gdb over usb or somesuch, i'll just go with that
[20:08:03] <-- brada has left IRC (Quit: brada)
[20:13:53] <-- edheldil_ has left IRC (Ping timeout: 248 seconds)
[20:16:13] --> brada has joined #gemrb
[20:25:43] --> edheldil_ has joined #gemrb
[20:30:00] <-- Canageek has left IRC (Ping timeout: 256 seconds)
[20:56:27] <psch> ok, so i got a gdb prompt that is attached to the app now
[20:56:47] <psch> i tried eclipse debugging too, but that doesn't follow into the native files
[20:57:04] <psch> but i noticed something else, not really to the whole gdb thing
[20:57:35] <psch> one of the later debug prints i added is inside the if which checks for Init() == GEM_ERROR, and that line actually gets printed
[20:58:01] <psch> the debugger probably is still the way to go on from there, but i don't really know my way around gdb to be honest
[21:05:29] <psch> i do have a stack trace though
[21:05:46] <psch> that got written after waiting a bit longer than i did previous, with the debugger attached
[21:11:16] <brada> the big problem atm is that logging doesnt work
[21:11:44] <brada> the failure to init is likely a simple cfg issue
[21:12:05] <psch> so during init something might happen that breaks logging?
[21:12:19] <brada> clearly something is wrong
[21:12:22] <psch> or logging just can't get set up for some reason
[21:12:41] <brada> its as if the android logger isnt created / added to the pool
[21:12:48] <brada> same with file logger
[21:14:05] <brada> you can use gdb to add breakpoints where those should be created
[21:16:03] <brada> put one inside createAndroidLogger for example
[21:17:18] <psch> i tried to put one on InitializeLogging() just now
[21:17:34] <psch> and i think something doesn't work with my gdb here
[21:17:55] <psch> gdb says error accessing memory address
[21:19:20] <brada> it might be easier with the ide
[21:19:37] <brada> since it should have a nice gdb interface
[21:20:06] <psch> i honestly don't know
[21:20:19] <psch> i had the project in eclipse, with the debugger attached to the app on the tablet
[21:20:32] <psch> and a break point inside SDLActivity.java was recognized
[21:20:50] <brada> i guess thats a good sign
[21:21:02] <psch> i just figured out how to load the symbols though
[21:21:09] <psch> in gdb
[21:21:35] <psch> anyway wrt eclipse debugging, the problem i had was that i wasn't able to set breakpoint inside the jni files
[21:21:38] <psch> i.e. GemRB.cpp
[21:21:49] <psch> err, not i.e., e.g. rather
[21:22:35] <brada> hm
[21:22:47] <brada> isnt there a debugging howto with sdl
[21:23:46] <psch> i haven't found one
[21:23:54] <psch> the README.android suggests valgrind
[21:24:42] <brada> im not a valgrind expert but i dont think that is for general debugging
[21:25:03] <brada> just for memory corruption debugging type stuff
[21:28:13] <brada> does this help: http://www.eclipse.org/sequoyah/documentation/native_debug.php
[21:28:15] <Seniorita> Sequoyah Project
[21:30:28] <psch> i dont know
[21:30:31] <psch> i can try following it
[21:30:48] <psch> im using different platform and ndk-version though
[21:30:56] <brada> ?
[21:31:06] <psch> and especially ndk-gdb seems to have quite a few bugs occassionally
[21:31:06] <brada> isnt android the "platform"?
[21:31:17] <psch> not quite, there's different api levels
[21:31:20] <brada> ug
[21:31:31] <brada> android development seems so hard :p
[21:31:32] <psch> i think the latest is android-17?
[21:31:34] <psch> maybe android-18
[21:40:33] <fuzzie> brada: you can't complain about platform versions.. :P
[21:40:50] <brada> no
[21:41:05] <brada> that was more about how the rest of this seems to be frustrating to set up
[21:41:09] --> Canageek has joined #gemrb
[21:41:28] <fuzzie> ah, well, I have no idea about stuff at this level
[21:41:45] <fuzzie> it's a lot easier without all this other stuff in the way :/
[21:41:53] <fuzzie> not that android doesn't totally suck to develop for.
[21:43:26] <fuzzie> weird that it's so difficult after getting to main() though
[21:44:25] <brada> i dont understand what could be crippling the logger
[21:44:57] <brada> he is using the same function the android logger uses to print to console with his own statements
[21:46:21] <fuzzie> and those statements do get beyond main()?
[21:47:10] <fuzzie> because I would think the calls into Interface (constructor etc) would be the most likely candidate to break due to link issues for example
[21:47:38] <fuzzie> but yes it is weird :)
[21:47:53] <brada> shouldnt *something* form someplace get logged?
[21:48:24] <psch> the Interface constructor runs through, Init() breaks
[21:48:33] <psch> i can try putting some debug prints in there
[21:48:43] <psch> but right now im trying to get eclipse working with ndk and all that
[21:48:48] <fuzzie> if you are having problems with the debugger then I would totally put the prints in there
[21:48:58] <fuzzie> but it isn't exactly a long-term solution, right :)
[21:50:03] <psch> yeah nvm eclipse
[21:50:14] <psch> i can get a single project from the source tree i have
[21:50:15] <brada> what do you mean by Init() breaks?
[21:50:27] <psch> well, maybe it doesn't break, but it does return GEM_ERROR
[21:50:38] <brada> well thats not really a problem
[21:50:39] <psch> i have a print in the if in main()
[21:50:42] <psch> yeah, i know
[21:50:46] <brada> ok
[21:50:48] <psch> probably poor choice of words on my part
[21:50:55] <psch> you said previously that might just be .cfg issues
[21:50:59] <brada> no im just trying to understand 100%
[21:51:01] <brada> yeah
[21:51:14] <brada> but to know what those are we need logging :/
[21:51:32] <brada> and neither android looger nor file logger do anything it seems
[21:51:42] <psch> not from what i can see
[21:52:17] <fuzzie> does file logger open a file in a useful place?
[21:52:38] <fuzzie> i guess looking at log of this channel, /tmp sounds like it should work
[21:52:43] <brada> it tries 3 different places iirc
[21:53:10] <brada> maybe 4
[21:53:41] <fuzzie> or ok, I guess not
[21:53:57] <fuzzie> i'm just thinking, if the cfg fails entirely, then the gamepath/cachepath etc will be useless
[21:54:11] <fuzzie> and /tmp doesn't seem to exist on any of the android devices i have here
[21:54:27] <brada> yeah file logger maybe isnt getting created because of earlier failure
[21:54:30] <fuzzie> so your problem there might just be that it has nowhere to make a file
[21:54:46] <brada> isnt there a function to get the tmp directory?
[21:54:54] <brada> instead of us hardcoding a path?
[21:54:55] <psch> android doesn't have a global temp dir
[21:55:01] <brada> right
[21:55:02] <psch> each app has to care for that itself
[21:55:09] <brada> but thats why a function is useful :)
[21:55:22] <fuzzie> right, but that requires Java :P
[21:55:50] <fuzzie> and I assume right now no-one is writing gemrb-specific jni code
[21:56:02] <fuzzie> so i don't have gemrb source here
[21:56:04] <brada> no but it would be nice
[21:56:11] <fuzzie> but if the file logger is trying to use GamePath etc
[21:56:16] <psch> https://groups.google.com/forum/?fromgroups=#!topic/android-developers/tZrxqZQLh98 this is a discussion about /tmp on android
[21:56:17] <Seniorita> jerazprava o / tmp na android
[21:56:19] <Seniorita> Google Skupine
[21:56:20] <fuzzie> then isn't the logger necessarily created way too late for many errors?
[21:56:28] <brada> the file one
[21:56:30] <psch> i skimmed it and it doesn't look like there is a general way
[21:56:44] <brada> but why is the android logger not being created / called?
[21:56:47] <fuzzie> psch: the usual method is just to put in cache somewhere i think
[21:57:37] <psch> there is File.createTempFile() apparently, but it's discouraged
[21:57:37] <fuzzie> although you have to be careful to set stuff world-readable if you do that for logs
[21:58:00] <psch> anyway, wrt debug prints in Interface.cpp
[21:58:05] <fuzzie> doesn't sdl have a helper function for app data directory?
[21:58:12] <fuzzie> it's kind of essential
[21:58:12] <psch> what's a few lines where it would be most interesting?
[21:58:38] <fuzzie> since otherwise you have no idea at all where your app's files are presumably..
[21:58:51] <psch> there's a few, yeah
[21:59:03] <psch> e.g. SDL_AndroidGetInternalStoragePath()
[21:59:03] <fuzzie> is logger in-tree?
[21:59:23] <fuzzie> psch: cool
[22:01:21] <fuzzie> what's the syntax used for the default logging stuff in Logger.cpp?
[22:02:05] <brada> im not sure what you mean
[22:02:18] <fuzzie> Logger* (*GemRB::createDefaultLogger)() = createAndroidLogger;
[22:02:20] <fuzzie> ^- that
[22:02:20] <-- PixelScum has left IRC (Ping timeout: 255 seconds)
[22:02:45] <fuzzie> globally constructed function pointer?
[22:03:06] <brada> looks like
[22:05:33] <fuzzie> well, relying on global constructors is kind of not a brilliant idea in embedded land
[22:05:41] <fuzzie> and the logging system does do that
[22:05:43] --> Drakkar has joined #gemrb
[22:05:53] <brada> why would it be a problem?
[22:05:55] <brada> and why now?
[22:05:57] <fuzzie> because toolchains don't like it
[22:05:58] <brada> why not before?
[22:06:04] <fuzzie> has anyone tried this before?
[22:06:16] <fuzzie> i don't think it's a problem because i asume psch is using a modern ndk
[22:06:16] <brada> its what the other build uses too
[22:06:22] <fuzzie> the same toolchain?
[22:06:30] <brada> i guess i dont know that
[22:06:43] <fuzzie> i expect not
[22:06:59] <brada> well shouldnt build errors occur if it is a problem?
[22:07:00] <fuzzie> but frankly it's a pretty wild guess at best
[22:07:02] <fuzzie> no
[22:07:04] <psch> ive been building pelya with the same toolchain that im using now
[22:07:14] <brada> and logging works?
[22:07:17] <psch> yeah
[22:07:17] <fuzzie> and logging works fine there, right?
[22:07:20] <psch> pelya works
[22:07:34] <fuzzie> brada: no, global constructors not running never shows up at compile time
[22:07:39] <psch> i had a few graphic glitches with pst, but that might have been widescreen
[22:07:47] <fuzzie> stuff just silently breaks at runtime and you have to beat people with sticks.
[22:08:04] <fuzzie> psch: right, surely not relevant anyway :)
[22:08:10] <psch> yeah
[22:08:21] <fuzzie> did you manage to get any more prints in?
[22:08:34] <psch> im building
[22:09:13] <fuzzie> really good of you to do this work
[22:09:37] <brada> well for android we should probably put the init code in SDL_main and not even include gemrb.cpp
[22:09:51] <brada> then we dont need a global constructor for its logger
[22:09:54] <brada> among other things
[22:10:09] <psch> well im procrastinating an uni project haha
[22:10:09] <brada> but that can be done later
[22:10:11] <fuzzie> no, sorry, the global constructor would be the logger array
[22:10:27] <fuzzie> but i assume it'd al crash otherwise, like i said, pretty wild guess at bes
[22:10:34] <brada> ok
[22:10:52] <fuzzie> prints are a much better idea for debugging it rather than following it :)
[22:11:04] <fuzzie> fully in support of all your conclusions so far
[22:11:22] <psch> http://nopaste.info/c61842de90.html this is what i get now - i think the debug prints are rather descriptive
[22:11:23] <Seniorita> Nopaste - powered by project-mindstorm IT Services
[22:11:37] <fuzzie> any ndk which is new enough to build this stuff should be fine
[22:12:02] <psch> i also just now understood why and where it hangs - which is rather appearant in the log as well
[22:12:07] <brada> yeah i dont think it is an ndk problem
[22:12:21] <brada> yeah didnt we answer that earlier?
[22:12:30] <brada> its waiting for input
[22:12:33] <brada> right?
[22:12:44] <psch> i don't think you stated that, but that's how i understand it
[22:12:47] <psch> might be that i missed that
[22:13:17] <brada> i just find it odd that android can wait for console input
[22:13:22] <psch> anyway, with #include <android/log.h> i can print with __android_log_print()
[22:13:30] <brada> on ios or even mac os that always just prints and exists
[22:13:38] <fuzzie> brada: the calls are probably stubbed and do something silly
[22:13:46] <fuzzie> since it almost certainly has no console
[22:13:47] <brada> clearly :p
[22:14:05] <brada> right so the code for the android logger seems fine
[22:14:06] <fuzzie> yeah well you know how it is :)
[22:14:20] <brada> and that leavs the problem being with its creation or calling into it
[22:18:02] <brada> hmmm
[22:18:04] <fuzzie> maybe try a print in vLog (in System/Logging.cpp) and Log
[22:18:43] <brada> i think i see the problem
[22:18:51] <fuzzie> oh well I will hush then :)
[22:18:57] <psch> i was thinking about doing some prints where the logger gets created
[22:19:04] <brada> its what happened to the apple logger that i fixed a while back
[22:19:22] <brada> Logger::log is not virtual
[22:19:31] <fuzzie> right, but InternalLog is?
[22:19:35] <brada> android logger should be overriding LogInternal
[22:19:39] <fuzzie> oh drat
[22:19:44] <fuzzie> see I hadn't seen it wasn't :)
[22:19:54] <fuzzie> nicely spotted, that is surely it
[22:20:08] <brada> well im sad that i missed that earlier
[22:20:16] <brada> since i fixed this exact problem before
[22:20:18] <psch> so ill pull in a bit and it all works, right?
[22:20:20] <psch> heh
[22:20:22] <brada> and in fact im the one that broke it
[22:20:43] <brada> so why does it work with the other build o_O
[22:21:20] <fuzzie> didn't the patch for the other build come with a logger?
[22:21:28] <brada> maybe
[22:21:46] <brada> patching now
[22:21:48] <fuzzie> i didn't pay attention, figuring it was the same as the one in-tree at this point, i'm afraid
[22:22:08] <fuzzie> again nicely spotted though, even if you'd seen it before it's the kind of thing you overlook :)
[22:22:57] <brada> yes
[22:23:05] <brada> well glad the great mystery is solved
[22:27:20] <brada> obviously i didnt test that, but i believe i fixed it correctly
[22:27:32] <brada> so just pull from git and you should have working logging
[22:27:43] <psch> pulling now
[22:28:40] <psch> hm, ive been a bit behind wrt to pulls
[22:28:55] <psch> anyway, ima try building again, see what happens
[22:31:29] <brada> fuzzie: we cant use exceptions in gemrb for some reason?
[22:32:03] <fuzzie> well you *can*
[22:32:21] <fuzzie> don't know about android toolchain support
[22:32:31] <brada> hmmm
[22:32:33] <fuzzie> i mean, it works in some configs
[22:32:40] <brada> just wondering really no reason for it
[22:32:53] <brada> im trying to figure out why LogInternal is not r=pure virtual
[22:32:58] <brada> pure virtual
[22:33:00] <fuzzie> generally c++ exceptions are considered a bad idea if you can avoid them though
[22:33:04] <traveler> hello
[22:33:06] <brada> i see
[22:33:15] <fuzzie> making LogInternal pure virtual seems like the right thing to do
[22:33:53] <brada> wit
[22:34:00] <brada> i think i see why it cant be
[22:34:20] <brada> you cannot call into a pure virtual function
[22:34:22] <brada> can you?
[22:34:26] <fuzzie> you can
[22:34:34] <brada> from the abstract base class i mean
[22:34:38] <fuzzie> you can
[22:34:50] <fuzzie> not in the constructor or destructor
[22:35:09] <fuzzie> since then the vtable only has the pure virtual entry in it
[22:35:10] <brada> oh maybe that tricked me before
[22:35:32] <fuzzie> but otherwise it's just like any other virtual function
[22:36:06] <brada> i wonder what i was thinking :p
[22:36:26] <fuzzie> "argh c++ is melting my brain"?
[22:36:35] <brada> anyway its pure virtual now so we shouldn't be blind sided by that problem again
[22:36:45] <fuzzie> great :)
[22:36:47] <brada> fuzzie: yes, that sounds about right
[22:38:47] <psch> ugh
[22:39:04] <psch> i think i overwrote my Android.mk for gemrb
[22:40:06] <brada> noooo
[22:41:28] <psch> im not sure yet
[22:41:40] <psch> i know i fixed the error im getting while building with a change to the makefile
[22:41:47] <psch> but i got that error again
[22:41:59] <psch> just gonna keep digging a bit, hold on :P
[22:42:06] <gembot> build #472 of cmake clang++ is complete: Failure [4failed minimal test] Build details are at http://buildbot.gemrb.org/builders/cmake%20clang%2B%2B/builds/472 blamelist: Brad Allred <bradallred@me.com>
[22:42:18] <brada> well then
[22:42:53] <brada> fuzzie!
[22:44:55] <brada> guess we cant have that pure virtual then
[22:45:39] <gembot> build #472 of cmake g++-4.2 is complete: Failure [4failed minimal test] Build details are at http://buildbot.gemrb.org/builders/cmake%20g%2B%2B-4.2/builds/472 blamelist: Brad Allred <bradallred@me.com>
[22:46:05] <brada> fuzzie: any ideas how best to ensure that method is overriden?
[22:46:19] <fuzzie> what is it complaining about.
[22:46:25] <brada> pure virtual method called
[22:46:30] <fuzzie> intrsting
[22:47:32] <fuzzie> can't we just fix it?
[22:47:42] <brada> well its because it ends up trying to log from constructor as you explained
[22:48:18] <brada> probably should have ran that first :D
[22:48:28] <fuzzie> yeah I just wonder if you can default myLevel to INTERNAL
[22:48:36] <psch> sorry for the jolt of panic just then
[22:48:47] <psch> the makefile is there, and it's still the right one
[22:49:02] <fuzzie> or, heck, just change the constructor to change myLevel directly?
[22:49:05] <gembot> build #472 of cmake g++-4.4 is complete: Failure [4failed minimal test] Build details are at http://buildbot.gemrb.org/builders/cmake%20g%2B%2B-4.4/builds/472 blamelist: Brad Allred <bradallred@me.com>
[22:49:27] <fuzzie> we don't need the startup logs about the log level being set really, do we?
[22:49:29] <brada> yes that seems reasonable
[22:49:37] <brada> i think that is best
[22:49:43] <brada> i shall do that
[22:50:01] <fuzzie> :)
[22:51:04] <psch> the error im having is VideoContext.cpp not finding vlc/vlc.h
[22:51:12] <psch> unfortunately i threw away my changes to the gemrb git
[22:51:24] <psch> but i think i just didnt compile VLCPlayer.h
[22:51:32] <psch> im wondering how to properly do that
[22:51:42] <psch> i assume VideoContext.cpp is in general neccessary
[22:52:00] <brada> psch: you shouldnt build the vlc plugin for android
[22:52:09] <brada> afik there isnt even a libvlc is there?
[22:52:09] <psch> so the whole subdir can go?
[22:52:24] <brada> yup
[22:52:32] <psch> vlc is being ported to android, but i dont know if they also bring a shared lib
[22:52:37] <brada> you will need to pull again btw
[22:52:43] <psch> alright
[22:52:50] <brada> to avoid that crippling crash i just caused :p
[22:53:19] <psch> yeah i see a few bits of red text in the channel
[22:54:09] <gembot> build #276 of osx-cmake is complete: Failure [4failed minimal test] Build details are at http://buildbot.gemrb.org/builders/osx-cmake/builds/276 blamelist: Brad Allred <bradallred@me.com>
[22:57:31] <gembot> build #457 of cmake g++-4.5 is complete: Failure [4failed minimal test] Build details are at http://buildbot.gemrb.org/builders/cmake%20g%2B%2B-4.5/builds/457 blamelist: Brad Allred <bradallred@me.com>
[22:58:49] <gembot> build #318 of nmake-msvc++10 is complete: Failure [4failed minimal test] Build details are at http://buildbot.gemrb.org/builders/nmake-msvc%2B%2B10/builds/318 blamelist: Brad Allred <bradallred@me.com>
[23:00:45] <-- wjp has left IRC (Ping timeout: 256 seconds)
[23:01:08] <gembot> build #473 of cmake clang++ is complete: Success [3build successful] Build details are at http://buildbot.gemrb.org/builders/cmake%20clang%2B%2B/builds/473
[23:01:29] --> wjp has joined #gemrb
[23:01:42] --- ChanServ gives channel operator status to wjp
[23:04:38] <gembot> build #473 of cmake g++-4.2 is complete: Success [3build successful] Build details are at http://buildbot.gemrb.org/builders/cmake%20g%2B%2B-4.2/builds/473
[23:09:07] <gembot> build #473 of cmake g++-4.4 is complete: Success [3build successful] Build details are at http://buildbot.gemrb.org/builders/cmake%20g%2B%2B-4.4/builds/473
[23:09:08] <gembot> build #277 of osx-cmake is complete: Success [3build successful] Build details are at http://buildbot.gemrb.org/builders/osx-cmake/builds/277
[23:09:15] <psch> jni/src/main/gemrb/core/System/Logger/Android.h:32:65: error: expected ';' at end of member declaration
[23:09:56] <psch> that's where i can't keep building right now heh
[23:10:53] <brada> heh
[23:11:01] <brada> well like i said i didnt / couldnt test it
[23:11:07] <psch> yeah, no problem
[23:11:48] <psch> i took the liberty of just adding a semicolon at the end of the line
[23:13:16] <brada> thank you :p
[23:13:24] <brada> i also fixed it upstream just now
[23:15:22] <psch> there's one last problem im having with building
[23:15:31] <brada> lets hear before i leve for the day
[23:15:37] <psch> i hope it's the last
[23:15:51] <psch> SDL.h doesn't lie in a folder named SDL here
[23:16:11] <psch> the folder structure i have works when i change the include in GemRB.cpp
[23:16:17] <psch> im just wondering how that should be solved
[23:16:40] <brada> you can change the include all you want that is there for android only
[23:16:43] <psch> previously i just went with #include "SDL.h" instead of "SDL/SDL.h", but that probably would break on everything else
[23:16:46] <psch> oh
[23:16:47] <psch> right
[23:16:50] <psch> there's a #ifdef
[23:16:56] <psch> yeah nm then
[23:16:57] <psch> thanks
[23:17:12] <brada> yeah and ill likely move that stuff to SDL_main.cpp or whatever the file is
[23:17:21] <brada> after you send us a working patch
[23:17:25] <brada> or you can do it too
[23:17:27] <brada> whatever
[23:17:48] <psch> im not really sure how to reduce what i've done to a patch for the project
[23:17:52] <gembot> build #458 of cmake g++-4.5 is complete: Success [3build successful] Build details are at http://buildbot.gemrb.org/builders/cmake%20g%2B%2B-4.5/builds/458
[23:18:06] <psch> tbh ive been trying to change as little as possible on gemrb
[23:18:21] <psch> the build works pretty much exactly after the README.android from SDL2
[23:18:27] <brada> cool
[23:18:38] <brada> well just give me a diff and ill make patches out of it
[23:18:59] <psch> there's a few things that are a bit dodgy, for example i have to copy android.h from pelya/openal
[23:19:14] <brada> how odd
[23:19:17] <psch> it's about 25 or so lines of "extern C" #defines
[23:19:21] <psch> the file doesn't exist in openal
[23:19:31] <brada> oh thats probably done in a silly way then
[23:19:51] <brada> i will be back on later tonight or tomorrow
[23:19:54] <brada> must be off now
[23:19:56] <psch> sure
[23:19:57] <-- brada has left IRC (Quit: brada)
[23:57:49] <gembot> build #319 of nmake-msvc++10 is complete: Success [3build successful] Build details are at http://buildbot.gemrb.org/builders/nmake-msvc%2B%2B10/builds/319