iFakeLocation icon indicating copy to clipboard operation
iFakeLocation copied to clipboard

Problem locating shared library objects

Open ConnorMallon opened this issue 2 years ago • 5 comments

When clicking the "refresh" button in the application I get the following error: Unable to load shared library 'imobiledevice' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libimobiledevice: cannot open shared object file: No such file or directory

I am using version 1.6 on ubuntu 20.04

ConnorMallon avatar Mar 19 '22 02:03 ConnorMallon

Same issue here. Mac OS Monterey with .net 5.0 and .net 6.0. Tried below solution, none of them works:

  1. copy all files from the runtime/osx-x64 to the same folder
  2. publish every files to a single folder

jasondaicoder avatar Mar 26 '22 03:03 jasondaicoder

I have figured out and created pull request for this issue, you can check it out at https://github.com/master131/iFakeLocation/pull/76/commits/20d81f7b1ed952ae2dcf7140223feab1726fc961

jasondaicoder avatar Mar 27 '22 10:03 jasondaicoder

that does not solve the issue for me. The output with LD_DEBUG=libs is :

process.
     11218:	find library=imobiledevice.so [0]; searching
     11218:	 search cache=/etc/ld.so.cache
     11218:	 search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib		(system search path)
     11218:	  trying file=/lib/x86_64-linux-gnu/imobiledevice.so
     11218:	  trying file=/usr/lib/x86_64-linux-gnu/imobiledevice.so
     11218:	  trying file=/lib/imobiledevice.so
     11218:	  trying file=/usr/lib/imobiledevice.so
     11218:	
     11218:	find library=libimobiledevice.so [0]; searching
     11218:	 search path=/home/user/Downloads/iFakeLocation/tls/haswell/x86_64:/home/user/Downloads/iFakeLocation/tls/haswell:/home/user/Downloads/iFakeLocation/tls/x86_64:/home/user/Downloads/iFakeLocation/tls:/home/user/Downloads/iFakeLocation/haswell/x86_64:/home/user/Downloads/iFakeLocation/haswell:/home/user/Downloads/iFakeLocation/x86_64:/home/user/Downloads/iFakeLocation		(RUNPATH from file /home/user/Downloads/iFakeLocation/libimobiledevice.so)
     11218:	  trying file=/home/user/Downloads/iFakeLocation/tls/haswell/x86_64/libimobiledevice.so
     11218:	  trying file=/home/user/Downloads/iFakeLocation/tls/haswell/libimobiledevice.so
     11218:	  trying file=/home/user/Downloads/iFakeLocation/tls/x86_64/libimobiledevice.so
     11218:	  trying file=/home/user/Downloads/iFakeLocation/tls/libimobiledevice.so
     11218:	  trying file=/home/user/Downloads/iFakeLocation/haswell/x86_64/libimobiledevice.so
     11218:	  trying file=/home/user/Downloads/iFakeLocation/haswell/libimobiledevice.so
     11218:	  trying file=/home/user/Downloads/iFakeLocation/x86_64/libimobiledevice.so
     11218:	  trying file=/home/user/Downloads/iFakeLocation/libimobiledevice.so
     11218:	
     11218:	find library=libusbmuxd.so [0]; searching
     11218:	 search path=/home/user/Downloads/iFakeLocation		(RUNPATH from file /home/user/Downloads/iFakeLocation/libimobiledevice.so)
     11218:	  trying file=/home/user/Downloads/iFakeLocation/libusbmuxd.so
     11218:	
     11218:	find library=libplist.so [0]; searching
     11218:	 search path=/home/user/Downloads/iFakeLocation		(RUNPATH from file /home/user/Downloads/iFakeLocation/libimobiledevice.so)
     11218:	  trying file=/home/user/Downloads/iFakeLocation/libplist.so
     11218:	
     11218:	find library=libssl.so.1.0.0 [0]; searching
     11218:	 search path=/home/user/Downloads/iFakeLocation		(RUNPATH from file /home/user/Downloads/iFakeLocation/libimobiledevice.so)
     11218:	  trying file=/home/user/Downloads/iFakeLocation/libssl.so.1.0.0
     11218:	 search cache=/etc/ld.so.cache
     11218:	 search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib		(system search path)
     11218:	  trying file=/lib/x86_64-linux-gnu/libssl.so.1.0.0
     11218:	  trying file=/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
     11218:	  trying file=/lib/libssl.so.1.0.0
     11218:	  trying file=/usr/lib/libssl.so.1.0.0
     11218:	
     11218:	find library=libimobiledevice.so [0]; searching
     11218:	 search cache=/etc/ld.so.cache
     11218:	  trying file=/lib/libimobiledevice.so
     11218:	
     11218:	find library=libusbmuxd.so [0]; searching
     11218:	 search path=/lib		(system search path)
     11218:	  trying file=/lib/libusbmuxd.so
     11218:	
     11218:	find library=libplist.so [0]; searching
     11218:	 search path=/lib		(system search path)
     11218:	  trying file=/lib/libplist.so
     11218:	
     11218:	find library=libssl.so.1.0.0 [0]; searching
     11218:	 search path=/lib		(system search path)
     11218:	  trying file=/lib/libssl.so.1.0.0
     11218:	 search cache=/etc/ld.so.cache
     11218:	 search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib		(system search path)
     11218:	  trying file=/lib/x86_64-linux-gnu/libssl.so.1.0.0
     11218:	  trying file=/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
     11218:	  trying file=/lib/libssl.so.1.0.0
     11218:	  trying file=/usr/lib/libssl.so.1.0.0
     11218:	
     11218:	find library=imobiledevice [0]; searching
     11218:	 search cache=/etc/ld.so.cache
     11218:	 search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib		(system search path)
     11218:	  trying file=/lib/x86_64-linux-gnu/imobiledevice
     11218:	  trying file=/usr/lib/x86_64-linux-gnu/imobiledevice
     11218:	  trying file=/lib/imobiledevice
     11218:	  trying file=/usr/lib/imobiledevice
     11218:	
     11218:	find library=libimobiledevice [0]; searching
     11218:	 search cache=/etc/ld.so.cache
     11218:	 search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib		(system search path)
     11218:	  trying file=/lib/x86_64-linux-gnu/libimobiledevice
     11218:	  trying file=/usr/lib/x86_64-linux-gnu/libimobiledevice
     11218:	  trying file=/lib/libimobiledevice
     11218:	  trying file=/usr/lib/libimobiledevice
     11218:	
     11218:	find library=Microsoft.DiaSymReader.Native.amd64.dll [0]; searching
     11218:	 search cache=/etc/ld.so.cache
     11218:	 search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib		(system search path)
     11218:	  trying file=/lib/x86_64-linux-gnu/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	  trying file=/usr/lib/x86_64-linux-gnu/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	  trying file=/lib/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	  trying file=/usr/lib/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	
     11218:	find library=Microsoft.DiaSymReader.Native.amd64.dll [0]; searching
     11218:	 search cache=/etc/ld.so.cache
     11218:	 search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib		(system search path)
     11218:	  trying file=/lib/x86_64-linux-gnu/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	  trying file=/usr/lib/x86_64-linux-gnu/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	  trying file=/lib/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	  trying file=/usr/lib/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	
     11218:	find library=Microsoft.DiaSymReader.Native.amd64.dll [0]; searching
     11218:	 search cache=/etc/ld.so.cache
     11218:	 search path=/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib		(system search path)
     11218:	  trying file=/lib/x86_64-linux-gnu/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	  trying file=/usr/lib/x86_64-linux-gnu/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	  trying file=/lib/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	  trying file=/usr/lib/Microsoft.DiaSymReader.Native.amd64.dll
     11218:	

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.HttpListenerResponse'.
   at System.Net.HttpListenerResponse.CheckDisposed()
   at System.Net.HttpListenerResponse.get_OutputStream()
   at iFakeLocation.Program.SetResponse(HttpListenerContext ctx, Object response) in C:\Users\Tommy\Documents\Visual Studio 2015\Projects\iFakeLocation\iFakeLocation\Program.cs:line 87
   at iFakeLocation.Program.GetDevices(HttpListenerContext ctx) in C:\Users\Tommy\Documents\Visual Studio 2015\Projects\iFakeLocation\iFakeLocation\Program.cs:line 129
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at iFakeLocation.Program.<>c__DisplayClass18_1.<Main>b__5(Object _) in C:\Users\Tommy\Documents\Visual Studio 2015\Projects\iFakeLocation\iFakeLocation\Program.cs:line 458
     11280:	/opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --field-trial-handle=9660470738793427200,12826335014328505876,131072 --lang=en-GB --service-sandbox-type=none --enable-crashpad --crashpad-handler-pid=11244 --enable-crash-reporter=, --shared-files=v8_context_snapshot_data:100 --enable-crashpad: error: symbol lookup error: undefined symbol: localtime64 (fatal)
     11280:	/opt/google/chrome/chrome --type=utility --utility-sub-type=network.mojom.NetworkService --field-trial-handle=9660470738793427200,12826335014328505876,131072 --lang=en-GB --service-sandbox-type=none --enable-crashpad --crashpad-handler-pid=11244 --enable-crash-reporter=, --shared-files=v8_context_snapshot_data:100 --enable-crashpad: error: symbol lookup error: undefined symbol: localtime64_r (fatal)

ConnorMallon avatar Apr 21 '22 02:04 ConnorMallon

Still have this problem on ubuntu 22.04, using net5.0.

$ dotnet --version
5.0.408

as suggested in the faq, I set the environment variable:

export DYLD_LIBRARY_PATH=~/Scaricati/ifakelocation-v1.6.0-ubuntu-x64

The content of the directory is:

ls -l
totale 2304
-rw-rw-rw- 1 renato renato 204800 set 19  2021 ICSharpCode.SharpZipLib.dll
-rw-rw-rw- 1 renato renato  32089 ott  2  2021 iFakeLocation.deps.json
-rw-rw-rw- 1 renato renato 125952 ott  2  2021 iFakeLocation.dll
-rw-rw-rw- 1 renato renato  18656 ott  2  2021 iFakeLocation.pdb
-rw-rw-rw- 1 renato renato    147 ott  2  2021 iFakeLocation.runtimeconfig.json
-rwxrwxrwx 1 renato renato     50 ott  2  2021 iFakeLocation.sh
-rw-rw-rw- 1 renato renato 161792 gen 22  2019 iMobileDevice-net.dll
-rwxrwxrwx 1 renato renato 102680 gen 22  2019 libideviceactivation.so
-rwxrwxrwx 1 renato renato   8192 gen 22  2019 libimobiledevice-net-lighthouse.so
-rwxrwxrwx 1 renato renato 240496 gen 22  2019 libimobiledevice.so
-rwxrwxrwx 1 renato renato  97792 gen 22  2019 libirecovery.so
-rwxrwxrwx 1 renato renato 476976 gen 22  2019 libplist++.so
-rwxrwxrwx 1 renato renato  95400 gen 22  2019 libplist.so
-rwxrwxrwx 1 renato renato  60056 gen 22  2019 libusbmuxd.so
-rw-rw-rw- 1 renato renato 695336 mar 17  2021 Newtonsoft.Json.dll
drwxrwxrwx 2 renato renato   4096 ott  2  2021 ref
drwxrwxrwx 3 renato renato   4096 ott  2  2021 Resources
drwxrwxrwx 3 renato renato   4096 ott  2  2021 runtimes

any suggestion?

renato-lombardo avatar Jun 30 '22 11:06 renato-lombardo

After some investigation, you need to do this on Ubuntu to resolve the aforementioned error: cp libimobiledevice.so libimobiledevice

Also, you need to make sure libssl 1.0.0 is installed (not available by default in Ubuntu 20.04 onwards), this needs to be manually installed from the deb file; refer to the below (you only need libssl1.0.0_1.0.2n-1ubuntu<latest version>_<arch>.deb: http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/

And then, sudo apt install <deb file>

master131 avatar Aug 20 '22 05:08 master131