fresco icon indicating copy to clipboard operation
fresco copied to clipboard

java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so

Open yuan89623 opened this issue 5 years ago • 15 comments

Fatal Exception: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so at com.facebook.soloader.SoLoader.doLoadLibraryBySoName + 738(SoLoader.java:738) at com.facebook.soloader.SoLoader.loadLibraryBySoName + 591(SoLoader.java:591) at com.facebook.soloader.SoLoader.loadLibrary + 529(SoLoader.java:529) at com.facebook.soloader.SoLoader.loadLibrary + 484(SoLoader.java:484) at com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load + 40(ImagePipelineNativeLoader.java:40) at com.facebook.imagepipeline.memory.NativeMemoryChunk. + 31(NativeMemoryChunk.java:31) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc + 25(NativeMemoryChunkPool.java:25) at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc + 13(NativeMemoryChunkPool.java:13) at com.facebook.imagepipeline.memory.BasePool.get + 266(BasePool.java:266) at com.facebook.imagepipeline.memory.MemoryPooledByteBufferOutputStream. + 51(MemoryPooledByteBufferOutputStream.java:51) at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer + 73(MemoryPooledByteBufferFactory.java:73) at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer + 24(MemoryPooledByteBufferFactory.java:24) at com.facebook.imagepipeline.producers.LocalFetchProducer.getByteBufferBackedEncodedImage + 85(LocalFetchProducer.java:85) at com.facebook.imagepipeline.producers.LocalFetchProducer.getEncodedImage + 97(LocalFetchProducer.java:97) at com.facebook.imagepipeline.producers.LocalAssetFetchProducer.getEncodedImage + 37(LocalAssetFetchProducer.java:37) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult + 50(LocalFetchProducer.java:50) at com.facebook.imagepipeline.producers.LocalFetchProducer$1.getResult + 46(LocalFetchProducer.java:46) at com.facebook.common.executors.StatefulRunnable.run + 43(StatefulRunnable.java:43)

Description

ndk {
        abiFilter 'armeabi-v7a'
        abiFilter 'arm64-v8a'
    }

google play submit need arm64, can't remove it

  • Fresco version: implementation 'com.facebook.fresco:fresco:2.0.0'

  • Platform version: image

yuan89623 avatar Jun 27 '19 03:06 yuan89623

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as "bug" or "enhancement" and I will leave it open. Thank you for your contributions.

stale[bot] avatar Jul 04 '19 03:07 stale[bot]

Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to reopen with up-to-date information.

stale[bot] avatar Jul 11 '19 04:07 stale[bot]

I have the same error. Is there a work around?

izzsta avatar Aug 29 '19 08:08 izzsta

Similar problem here:

Fatal Exception: java.lang.UnsatisfiedLinkError couldn't find DSO to load: libstatic-webp.so caused by: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/packagename/lib/arm64/libstatic-webp.so" (new hash type from the future?) com.facebook.soloader.SoLoader.doLoadLibraryBySoName (SoLoader.java:703) com.facebook.soloader.SoLoader.loadLibraryBySoName$6d1c7186 (SoLoader.java:564) com.facebook.soloader.SoLoader.loadLibrary$505cff18 (SoLoader.java:500) com.facebook.soloader.SoLoader.loadLibrary (SoLoader.java:455) com.facebook.imagepipeline.nativecode.StaticWebpNativeLoader.ensure (StaticWebpNativeLoader.java:32) com.facebook.animated.webp.WebPImage.create (WebPImage.java:78) com.facebook.animated.webp.WebPImage.decode (WebPImage.java:85) com.facebook.imagepipeline.animated.factory.AnimatedImageFactoryImpl.decodeWebP (AnimatedImageFactoryImpl.java:110)

image image

Fresco version: implementation 'com.facebook.fresco:fresco:1.10.0' implementation 'com.facebook.fresco:animated-gif:1.10.0' implementation 'com.facebook.fresco:animated-webp:1.10.0' implementation 'com.facebook.fresco:webpsupport:1.10.0'

hzy00 avatar Sep 03 '19 09:09 hzy00

Similar error here:

Fatal Exception: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libimagepipeline.so
       at com.facebook.soloader.SoLoader.doLoadLibraryBySoName + 703(SoLoader.java:703)
       at com.facebook.soloader.SoLoader.loadLibraryBySoName + 564(SoLoader.java:564)
       at com.facebook.soloader.SoLoader.loadLibrary + 500(SoLoader.java:500)
       at com.facebook.soloader.SoLoader.loadLibrary + 455(SoLoader.java:455)
       at com.facebook.imagepipeline.nativecode.ImagePipelineNativeLoader.load + 40(ImagePipelineNativeLoader.java:40)
       at com.facebook.imagepipeline.memory.NativeMemoryChunk.<clinit> + 31(NativeMemoryChunk.java:31)
       at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc + 25(NativeMemoryChunkPool.java:25)
       at com.facebook.imagepipeline.memory.NativeMemoryChunkPool.alloc + 13(NativeMemoryChunkPool.java:13)
       at com.facebook.imagepipeline.memory.BasePool.get + 267(BasePool.java:267)
       at com.facebook.imagepipeline.memory.MemoryPooledByteBufferOutputStream.<init> + 51(MemoryPooledByteBufferOutputStream.java:51)
       at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer + 73(MemoryPooledByteBufferFactory.java:73)
       at com.facebook.imagepipeline.memory.MemoryPooledByteBufferFactory.newByteBuffer + 24(MemoryPooledByteBufferFactory.java:24)
       at com.facebook.imagepipeline.cache.BufferedDiskCache.readFromDiskCache + 373(BufferedDiskCache.java:373)
       at com.facebook.imagepipeline.cache.BufferedDiskCache.access$400 + 35(BufferedDiskCache.java:35)
       at com.facebook.imagepipeline.cache.BufferedDiskCache$2.call + 193(BufferedDiskCache.java:193)
       at com.facebook.imagepipeline.cache.BufferedDiskCache$2.call + 174(BufferedDiskCache.java:174)
       at bolts.Task$4.run + 357(Task.java:357)
       at java.util.concurrent.ThreadPoolExecutor.runWorker + 1167(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
       at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run + 51(PriorityThreadFactory.java:51)
       at java.lang.Thread.run + 919(Thread.java:919)

implementation 'com.facebook.fresco:fresco:1.11.0'

MrTheGood avatar Sep 11 '19 23:09 MrTheGood

Update: For me the issue got solved after updating fresco to 2.0.0, because 1.11.0 apparently didn't have support for Android App Bundles. I don't know if you all had the same problem, though.

MrTheGood avatar Sep 13 '19 08:09 MrTheGood

Yes, please use 2.0.0 with app bundle support.

oprisnik avatar Sep 15 '19 18:09 oprisnik

@oprisnik as you can see in the original issue, that was actually using version 2.0.0, so I don't think that was the real issue there.

I just wrote what helped for me because I'm sure i wasn't the only one on this post with the bundles issue.

MrTheGood avatar Sep 15 '19 21:09 MrTheGood

i solved it, Fatal Exception: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libnative-imagetranscoder.so caused by: dlopen failed: "/data/data/com.degoo.android/lib-main/libnative-imagetranscoder.so" is 64-bit instead of 32-bit #2393

zung avatar Sep 25 '19 00:09 zung

Catching the exception and going non-native a la

https://github.com/facebook/fresco/issues/2381#issuecomment-516825599

worked, thanks!

fat-tire avatar Oct 24 '19 00:10 fat-tire

Same issue image

otopba avatar Feb 24 '21 10:02 otopba

I had the same issue and confirmed that on 1.10.0, app crashes if Android App Bundle is used while APK have no issues. Updating to 2.4.0 which is the latest at the time of writing fixed the issue.

iori57 avatar Apr 29 '21 00:04 iori57

@iori57 I have exact same issue in App Bundle but not in APK, If you are able to resolve it, please update your solution here. Thank you

ishroid avatar Sep 05 '21 10:09 ishroid

I solved this issue in a not performed way:

android{
    ....
    
    
    bundle {
          language {
              enableSplit = false
          }
          density {
              enableSplit = false
          }
          abi {
              // This property is set to true by default.
              enableSplit = false
          }
      }
  }

alevittoria avatar Oct 06 '21 10:10 alevittoria

I solved this issue in a not performed way:

android{
    ....
    
    
    bundle {
          language {
              enableSplit = false
          }
          density {
              enableSplit = false
          }
          abi {
              // This property is set to true by default.
              enableSplit = false
          }
      }
  }

It works for me, problem was crash app when install from abb but there was no crash when install from direct apk. Thank you so much.

Mohit-Hasan avatar Oct 08 '22 18:10 Mohit-Hasan