Android 4.4 cannot locate symbol "mmap64"
See original GitHub issueMaybe Android 4.4 is out of scope, but I am trying hard to have MPV working on it, sadly I am getting the error:
java.lang.UnsatisfiedLinkError: dlopen failed: could not load library "libavcodec.so" needed by "libmpv.so"; caused by could not load library "libswresample.so" needed by "libavcodec.so"; caused by could not load library "libavutil.so" needed by "libswresample.so"; caused by cannot locate symbol "mmap64" referenced by "libavutil.so"...
I am trying to figure out how to solve this, but so far I have no clue:
Will it be possible to make it work?
Thanks.
Issue Analytics
- State:
- Created 5 years ago
- Comments:7 (1 by maintainers)
Top Results From Across the Web
cannot locate symbol "mmap64" and unexpected e_machine
I compile on a Linux virtual machine. First, when I build for armeabi-v7a and arm64-v8a and run it on a Dell Venue Intel...
Read more >android NDK cannot locate symbol "mmap64" - Stack Overflow
I get error that is caused by cannot locate symbol "atof" referenced by "libavformat-58.so"... But when I compile the example that the site ......
Read more >Common problems and solutions | Android NDK
Cannot locate symbol rand. For the following error log message: UnsatisfiedLinkError: dlopen failed: cannot locate symbol " rand ".
Read more >Android ndk适配报错分析 - 简书
UnsatisfiedLinkError: dlopen failed: could not load library ... caused by cannot locate symbol "mmap64" referenced by "libavutil.so".
Read more >Android crash: cannot locate symbol "rand" - Cocos Forums
Hi ! I have build the android version, but with the android phone using android 4.4, it crash, and the log is: java.lang....
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Android 4.4 is definitely out of scope, from our experience devices that can’t upgrade to 5.0 are too old/bad to be able to run mpv in the first place.
You need to actually lower the API level of the native toolchain to the one for 4.4. Some of these errors will already appear during compilation, for each of those you need to find a workaround that does not use the problematic function.
Blame Android’s shitty libc.
This “libavutil.so” may be a 64 bit package that requires mmap64; For Android API < 20 ,is mmap instead of mmap64; If you truely need this function, maybe you can build a 32 bit “libavutil.so” from the ffmepg source code.