colthreepv Posted January 2, 2017 Report Share Posted January 2, 2017 I am trying to install Resilio sync on an Asus RT-AC56U, It should have the hardware to run it correctly. Executing it will just say: root@tomato:/opt/usr/bin# ./rslsync -sh: ./rslsync: not found It might be related to the fact the small distribution on top of it (Tomato Shibby) does not have bash available in /bin/, but it's on /opt/bin/ I think making the app executable on those ARM routers would be a killer feature. complete list of supported routers, all the listed as K26ARM would be automatically compatible Quote Link to comment Share on other sites More sharing options...
Helen Posted January 3, 2017 Report Share Posted January 3, 2017 try armhf build https://download-cdn.getsync.com/2.4.4/linux-armhf/resilio-sync_armhf.tar.gz Quote Link to comment Share on other sites More sharing options...
colthreepv Posted January 3, 2017 Author Report Share Posted January 3, 2017 Same outcome, to debug this more It would really helpful to understand what the executable doesn't find Quote Link to comment Share on other sites More sharing options...
Helen Posted January 4, 2017 Report Share Posted January 4, 2017 first of all: ldd ./rslsync then try to remove and then add x attribute to the file. Quote Link to comment Share on other sites More sharing options...
colthreepv Posted January 4, 2017 Author Report Share Posted January 4, 2017 1 hour ago, Helen said: then try to remove and then add x attribute to the file. Same outcome... root@tomato:/opt/usr/bin# ls -la drwxr-xr-x 2 root root 4096 Jan 4 12:09 . drwxr-xr-x 5 root root 4096 Jan 2 11:42 .. -rw-r--r-- 1 root root 218 Dec 8 11:46 LICENSE.TXT -rw-r--r-- 1 root root 9793409 Jan 3 11:55 resilio-sync_armhf.tar.gz -rwxr-xr-x 1 root root 11530228 Dec 8 11:48 rslsync root@tomato:/opt/usr/bin# ldd ./rslsync -sh: ./rslsync: not found root@tomato:/opt/usr/bin# chmod -x rslsync root@tomato:/opt/usr/bin# chmod +x rslsync root@tomato:/opt/usr/bin# ./rslsync -sh: ./rslsync: not found root@tomato:/opt/usr/bin# EDIT: I see, I used the command on a scaleway ARM server, and it correctly works and prints out linked libraries, I will try to get around them EDIT2: Is there any statically-compiled version of Sync? - I don't think it will ever be, reading this thread EDIT3: What I found out: Linked libraries: root@scw-a6ca74:~# ldd rslsync librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6f8a000) libcrypt.so.1 => /lib/arm-linux-gnueabihf/libcrypt.so.1 (0xb6f4b000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6f38000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6ec0000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6e9c000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6daf000) /lib/ld-linux-armhf.so.3 (0x7f567000) Entware-ng ships out with the majority of files covered in /opt/lib/ It was missing ld-linux-armhf.so.3 so I ripped it from an ubuntu 12.04 ARM version. The major issue is now that routers have read-only partitions for /bin /lib /usr and so on... so the standard way to specify linked libraries paths is via LD_LIBRARY_PATH but trying: root@tomato:/opt/usr/bin# LD_LIBRARY_PATH=/opt/lib ./rslsync -sh: ./rslsync: not found I don't think the binary follows the standard environment variable. At this point there no much I can do without a different executable, I think. Quote Link to comment Share on other sites More sharing options...
colthreepv Posted January 15, 2017 Author Report Share Posted January 15, 2017 Any news on this? Quote Link to comment Share on other sites More sharing options...
Helen Posted January 16, 2017 Report Share Posted January 16, 2017 The team has not plans to get a statically compiled Sync binary,so you'll need to manually create symlink to lib Quote Link to comment Share on other sites More sharing options...
colthreepv Posted January 16, 2017 Author Report Share Posted January 16, 2017 A dynamic compiled Sync binary might be fine, if it follows the LD_LIBRARY_PATH environment variable - there is any information regarding this from the dev team? Quote Link to comment Share on other sites More sharing options...
Helen Posted January 17, 2017 Report Share Posted January 17, 2017 the problem is not in the variable. The problem is in missing library, and I cannot guarantee that ubuntu's libs will work on arm Asus RT-AC56U router. So you need yo find the native ld-........so and link to that either through symlink (/lib/ld-linux-armhf.so.3) or, if you prefer it that much, varibale Quote Link to comment Share on other sites More sharing options...
Isulew Posted February 27, 2017 Report Share Posted February 27, 2017 @colthreepv check this http://nixos.org/patchelf.html Quote Link to comment Share on other sites More sharing options...
colthreepv Posted March 13, 2017 Author Report Share Posted March 13, 2017 Thanks, this tool has been of great help, nonetheless I think the problem is actually with my firmware (tomato-shibby) I am not really a firmware compiler, for what I could understand the libc6 and kernel must be compatible, and the ones on that firmware does not play nice with Resilio I have succesfully tried other libc6 versions from debian (thanks to your tool), but they just don't run on the device It might need someone with more knowledge than me, or a different firmware; I suppose something more flexibe as openWRT will have no problems running resilio, just tomato is something more handy for day-to-day use Quote Link to comment Share on other sites More sharing options...
kramttocs Posted Friday at 04:17 AM Report Share Posted Friday at 04:17 AM Anyone get this working on AsusWrt? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.