Lins2SD app error: could not load library libsigchain.so. What does it mean? I've a Lenovo A 7000 (64-bit) Android mobile.  While using Link2SD app on my rooted mobile, I observed an error after trying to move an app to SD. It says:


  WARNING: linker: could not load library "libsigchain.so" from LD_PRELOAD for "/system/bin/sh";  caused by "libsigchain.so" is 32-bit instead of 64-bit  CANNOT LINK EXECUTABLE:....  


What does this error mean?
It basically means that some binary code cannot be executed on your phone. It appears the Link2SD app you use comes with a piece of 32bit software, but your phone is 64bit so it cannot execute the code.

LD_PRELOAD is a system variable which basically tells Android what code libraries should be loaded/executed when starting any process or app. It appears libsigchain.so was added to this variable, possibly by the Link2SD app itself. When the app tries to execute the system program /system/bin/sh, it tries to load the libsigchain.so file but fails, apparently because libsigchain.so is 32bit.

Another possible cause is that /system/bin/sh is 64bit but ligsigchain.so is 32bit. Because 32bit and 64bit software operate in a different way, the two can not be combined and the /system/bin/sh process cannot start and produces an error.

Either way, not being able to execute sh is a mayor problem for most apps working with root permissions as sh is used to execute scripts on your device. If you see such an error in other root-apps as well, this might be a problem with your Android ROM.

The solution to this might be either a software update from Lenovo or from a new version of the app. Try reporting the issue to the app developer, maybe he/she can give you the exact details.