question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Android 4.4 cannot locate symbol "mmap64"

See original GitHub issue

Maybe 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:closed
  • Created 5 years ago
  • Comments:7 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
sfan5commented, Sep 25, 2018

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.

0reactions
EKwongChumcommented, Aug 2, 2019

Maybe 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.

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.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found