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 comment
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 comment
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 comment
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 comment
Share on other sites

  • 7 years later...

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.