arpie

Forum Replies Created

Viewing 15 posts - 61 through 75 (of 76 total)
  • Author
    Posts
  • in reply to: Android OpenAL library missing symbol 'strtof' #4406

    arpie
    Participant

    I’ve done some deeper searching and it seems to be the case that Google decided to move strtof (and other similar functions such as atof) from the app-bundled NDK libraries into the standard Android libraries installed on later devices, or something to that effect.  The upshot is that if you build an app with later versions of NDK where the strtof symbol is expected to already be on the device, but run the app on an old device… the symbol is missing.

    How to solve it?  There seem to be two options.

    – Use an earlier NDK library to build the app (10d is suggested to work – I am currently downloading it and will try it tomorrow).

    – Use a non-google alternative NDK library such as Crystax NDK (https://www.crystax.net/)

    This thread has a more detailed discussion of a similar issue :

    http://android.2317887.n4.nabble.com/NDK-r10c-dlopen-failed-cannot-locate-symbol-quot-atof-quot-referenced-td266165.html

    Does anybody here have any experience with the CrystaX NDK library?  Is it something to be recommended that Mark adopt for Monkey?  I had never even heard of it until today.

    in reply to: Ted2 won't run on Gnome (Archlinux) #4375

    arpie
    Participant

    On a side note, another of Linux’s quirks annoys me every time I do a fresh Monkey install. All the *.sh files in /scripts, and the binary /bin/mx2cc all require the exec flag setting before I can run them(chmod a+x …).

    If you download it as zip archive; then execute permissions are not saved. The same should be for cloning off of git.

    Why would you make life difficult with the zip archive when git clone is so easy? Git *does* honour exec permissions, doesn’t it?  At least it moans at me that the permissions have changed whenever I do a git pull.

    @Mark would you like me to submit a pull request for this, assuming it is possible?

    in reply to: Ted2 won't run on Gnome (Archlinux) #4374

    arpie
    Participant

    I managed to reproduce this by installing/building with gcc-6.

    There’s a quick ‘n’ dirty fix up now at github, let me know if it works!

    Yes, GCC version 6.2.1 here.  Probably should have mentioned that earlier!

    The fix works perfectly. Many many thanks.

    I’m off now to see how Android support is coming on…

    in reply to: Ted2 won't run on Gnome (Archlinux) #4359

    arpie
    Participant

    You probably suspected as much but all bananas appear show the same behaviour.  That is, all the ones I tried : vpaint, monkeyroids, mojotest, glwindowtest.

    In debug mode they run fine but in release mode they crash immediately with a memory access violation.

    I’m really off to bed now!

    Good luck.

    in reply to: Ted2 won't run on Gnome (Archlinux) #4357

    arpie
    Participant

    Just to be sure, I tried building with ‘-O0’ and it runs as expected and appears fully functional.  I guess that will have to do as a fix for now.

    I have just uploaded the crashing binary (with build flag -O1) here :

    http://www.arpie.co.uk/monkey/ted2

    If you’d like me to send you a binary with -O3 too, just ask.

    Or anything else I can do that might be helpful, just ask (russell (at) arpie.co.uk).

    It has gone midnight here so I’m off to bed.  Thanks again for looking into this – I know this is the sort of bug that is a pita to track down.

    On a side note, another of Linux’s quirks annoys me every time I do a fresh Monkey install.  All the *.sh files in /scripts, and the binary /bin/mx2cc all require the exec flag setting before I can run them(chmod a+x …).  It’s easy enough to do, but I presume you could do it at your end to save me having to do it every time?  Would you like me to make it a pull request on github (it’s about time I learnt how to)?

    in reply to: Ted2 won't run on Gnome (Archlinux) #4354

    arpie
    Participant

    Yes, OS and compilers are bang up to date.  I came across the same issue with Ted2 when I tried a few months back but didn’t have the time to look into it then, and I’ve updated the OS at least twice since then, so that’s unlikely to be the cause.

    Rebuilding with ‘-O2’ produced identical results to ‘-O3’.

    Using ‘-O1’ still segfaults but differently :

    in reply to: Ted2 won't run on Gnome (Archlinux) #4352

    arpie
    Participant

    is the field declaration sufficient to allocate memory for an empty array?

    Yes, a ‘null’ array in mx2 is really just an array of length 0, ditto strings.

    Does that mean that

    is equivalent to

    ?

    in reply to: Ted2 won't run on Gnome (Archlinux) #4350

    arpie
    Participant

    Here is a backtrace of the original segfault, with none of my edits to the mojo code :

    @Mark: I will await further instructions from you before doing anything else!

    in reply to: Ted2 won't run on Gnome (Archlinux) #4349

    arpie
    Participant

    Hello Mark.  Do you want to see a backtrace of each of the segfaults I’ve mentioned so far?  I can see this thread quickly getting messy if I try to retrace my steps with backtraces.  Shall I start with a backtrace of the original segfault before I altered any mojo code?  Are my further experiments any use to you?

    in reply to: Ted2 won't run on Gnome (Archlinux) #4348

    arpie
    Participant

    Okay, I’m muddling on, hopefully in a vaguely useful direction.  It seems that the above issue is related to line 170 of mojox/filebrowser.monkey2 and is entirely due to the variable children being null.  If I change line 170 from :

    to

    then the segfault goes away.  But I suspect we need to address the reason why children is null and this is just a fudge.  But, guess what, new segfault…!

    in reply to: Ted2 won't run on Gnome (Archlinux) #4346

    arpie
    Participant

    So I went with my hunch from earlier and added a line to the empty New() method of class Style in mojo/style.monkey2 :

    And reran it through the debugger.  The good news is I now get a window shown on screen (previously I got nothing at all).  The bad news is the window is black and empty and there is a new segfault :

    Any thoughts?  I’m feeling quite out of my depth but willing to try anything to help…

    in reply to: Ted2 won't run on Gnome (Archlinux) #4344

    arpie
    Participant

    So I tried the -g flag as instructed by Mark.  It crashed close to where I suspected the problem to be but I’m now baffled.  Does this mean anything to you guys?  Like I said earlier, debuggers and me don’t get on.

    I tracked down line 167 of the cpp source file but can’t see any reason why that line would cause an issue… then again it has been a long time since I wrote much c++.

    in reply to: Ted2 won't run on Gnome (Archlinux) #4343

    arpie
    Participant

    @Mark: many thanks for taking a look at this, I know your time is precious and I suspect you probably don’t have many other Archlinux users using Monkey!

    I had a play yesterday with adding copious amounts of Print() statements to the source files (I’ve never been keen on debuggers) and narrowed down the issue to the Style class of mojo, specifically if I comment out the line :

    in function Init() of class Style, then I no longer get a crash.

    Admittedly, I just get a blank window so there is more to it, but the memory issue seems to be related to the use of the _icons:Image[] field.  I’m rusty on how to initialise arrays in monkey… is the field declaration sufficient to allocate memory for an empty array?  Or does it need a _icons = New Array() or some such somewhere?

    As for Jack, that was a red herring.  Since configuring OpenAl to use PulseAudio, this no longer seems to be relevant.  I have never needed or used jack so my installation is almost certainly borked.  I’ve never needed OpenAl until now, either.

    I will try the -g flag now and see what it turns up.

    in reply to: Ted2 won't run on Gnome (Archlinux) #4311

    arpie
    Participant

    I guess both those things would be good to get fixed but neither seem linked to the ‘memory address violation’ that causes a crash with the release build, but which doesn’t occur with a debug build.  Gtk is notorious for dumping warnings to the console even though the UI behaves normally so you shouldn’t pay much attention to those gtk messages.  Also, the alc_cleanup error occurs when ted2 exits so is not a major issue.  It’s the ‘memory access violation’ that needs the attention of somebody cleverer than me.

    in reply to: Ted2 won't run on Gnome (Archlinux) #4305

    arpie
    Participant

    Curiouser and curiouser…

    I have managed to do a debug build of ted2 (by setting -config=debug in /scripts/rebuildted2.sh) and, well, it runs perfectly.

    The release version crashes immediately (no window, nothing) but the debug build runs and is perfectly useable.  Here’s some console output :

    I can live with using the debug build for now but it would be nice to have it working as it should with the release build.  Any suggestions what to try next?

    Regards,

    Russell

Viewing 15 posts - 61 through 75 (of 76 total)