Android: SDL Error, dlopen failed.. libc.so not found

Seems to be compiling with the right NDK!!!. Thanks.

Still not working if I change from openfl:4.4.0 to openfl:4.9.1 I will debug a little to check whats going on and If I can find the error.

Tks again
Luis

I added several ā€œtraceā€ commands to check the execution flowā€¦

public function new() 
{
	super();
    trace('new');
  var bd:BitmapData = Assets.getBitmapData("img/splash.jpg");
  var bmp:Bitmap = new Bitmap(bd);
  bmp.name = 'splash';
  this.addChild(bmp);
  stage.scaleMode = StageScaleMode.SHOW_ALL;
  stage.addEventListener (Event.RESIZE, stage_resize);				
  bmp.width = stage.stageWidth  ;
  bmp.height = stage.stageHeight ;
  trace('fin new');

compile them with version 4.4.0 shows everything and app runs smooth. However when upgrade to 4.9.1 app compiles ok but blank screen showed and no traces in debug window.

Any clues?

Regards and thanks in advance.

If youā€™re testing the latest OpenFL, try and run the upgrade command again, thereā€™s a new Lime release out that may work better for you

That works!!! THANKS

hxcpp: 3.4.64
Openfl: 4.9.1
Lime: 4.0.2

2 Likes

I updated openfl to 6.0.1 and lime to 5.3.0 and NDK to r13b then r15c my projects with hxcpp(which is 3.4.64) and sqlite(1.0.9) will encounter with this problem :
(target-sdk-23)

but projects without hxcpp and sqlite will run smoothly I guess this has something with hxcpp.
P.S: All of these projects compile and run with openfl(4.9.1) and lime(4.0.2) and NDK r10e with 22 target-sdk.

After updating your NDK, could you try doing openfl rebuild hxcpp android -clean? I believe our binaries in Lime should be a new enough version of the NDK to work properly with Android 6, but perhaps HXCPP is not.

Or perhaps the issue is with the sqlite library. I think openfl rebuild sqlite android -clean might do it

1 Like

thanks about the quick answer I did what you instructed but the same error still remains

Do you think you could comment out part of your project, so it will run without including the sqlite library? I believe the script for its native binaries is out-dated, and would result in not creating all the correct (needed) file names for Android or iOS native binaries.

I could fix this, but SQLite has been supported in core Haxe APIs for quite some time, so if you can test without using sqlite first, and that works, then perhaps using the Haxe SQLite API would make more sense:

http://old.haxe.org/doc/neko/sqlite

If you prefer the SQLite library instead (I forget if it uses a different API) then I could look at fixing this, but otherwise this may be solved :slight_smile:

1 Like

I removed sqlite from my project the app runs but its far worse in terms of performance (I used a lot of actuate) and the Sqlite operation crashes the app (but with openfl 4.9.1 and lime 4.0.2 and ndk r10e it runs smoothly and Sqlite commits) I think Iā€™ll go with old version for a little longer.

Thank you for all your efforts anyway :kissing_heart:

I can resolve the issue with recompiling the older sqlite library, if you want.

What do you use in terms of performance? Are you using bitmaps, shape.graphics, Tilemapā€¦?

Thanks :slight_smile:

1 Like

My app runs db operations without sqlite lib but just on the older version, I used sys.db.*
and hxcpp I couldnā€™t find neko.db libraries but the more obvious issue was in graphics I used Actuate quite a lot and used .png Assets mostly
no tilemaps and just a little drawing with shape.graphics.

thanks for your efforts

You canā€™t be sure that db will work if you recompile the sqlite lib actually I didnā€™t change the code at all, turns out the sqlite lib was not being used at all I put that lib just because I copied some code from some old community post. But the Sqlite in the haxe also had some problem when I compiled the app with target-sdk-23

Got this on a xiaomi mi a2 running android 9 pie

openfl 8.9.0
lime 7.3.0
hxcpp 4.0.8
haxeui-core 1.0.2
haxeui-openfl 1.0.0
and a lib called zbar thatā€™s on [git] (reads barcodes and QR)

haxe 3.4.7 on windows 10

If I try to run BunnyMark on the same android 9 pie device it runs ok.
If I try to run the barcode app on an android 5 lollipop, it runs ok there.
Am a bit out of ideas here, is there a fix for this ?

What NDK version? Can you try NDK r15c?

@singmajesty
I set .lime/config.xml so it points to a directory with r15c, same thing happens.
Tried on an android with nougat, the android with pie isnā€™t always available to me, same SDL error. So it looks that from 6 up I get the same message.

Sorry for going off on a tangent, but is it still necessary to use NDK r15c? Or can the most recent versions be used, with the latest OpenFL and Haxe?

So I went latest release openfl, lime, hxcpp, and renamed some files in the zbar haxe lib, because the compile could not find themā€¦

libzbar_haxe-64.so to libiconv-64.so
libzbarjni-v7.so to libzbarjni-64.so

and actually (somehow) got a compile. But still the same libc.so error.
dlopen doesnā€™t provide a lot to work with also.

Edit1: Weirdest part, the compile latest everything with renamed lib filesā€¦ works like a charm on android 5. I dunno what is going on. :rofl:

@Vasco I get some problem related to undefined symbols if I go NDK r20b, latest openfl release.
Though am on Haxe 3.4.7 still.