Install resilio on arm router

Recommended Posts

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

Link to post
Share on other sites
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

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 => /lib/arm-linux-gnueabihf/ (0xb6f8a000) => /lib/arm-linux-gnueabihf/ (0xb6f4b000) => /lib/arm-linux-gnueabihf/ (0xb6f38000) => /lib/arm-linux-gnueabihf/ (0xb6ec0000) => /lib/arm-linux-gnueabihf/ (0xb6e9c000) => /lib/arm-linux-gnueabihf/ (0xb6daf000)
        /lib/ (0x7f567000)


Entware-ng ships out with the majority of files covered in /opt/lib/

It was missing 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.

Link to post
Share on other sites
  • 2 weeks later...

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 and link to that either through symlink (/lib/ or, if you prefer it that much, varibale

Link to post
Share on other sites
  • 1 month later...
  • 2 weeks later...

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

Link to post
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.