Linux Sync client support for 18.10

Ilsa Loving shared this idea 9 months ago
Under Consideration

The Linux client as it currently exists is hopelessly inadequate. On Ubuntu (18.10) it won't launch. Furthermore, you have no idea what's wrong unless you modify the filecloudsyncstart.sh file and remove the redirection to /dev/null. Apparently I do not have the necessary libpng12.so.0 file.


For anyone else having the problem and are using Ubuntu, here is the solution:https://www.linuxuprising.com/2018/05/fix-libpng12-0-missing-in-ubuntu-1804.html


In addition, there is no .desktop file, so unless the user knows how to create one on their own, it is not possible to launch the app from the application menu.


The best option would be to provide the linux sync client in the form of a snap, flatpak or appimage package, so that you can distribute the client in a non-distribution specific manner, using whatever libraries you want.

Comments (14)

photo
1

Thanks for the issue report, we will look into improving this support.

photo
1

After talking with support I understand that you are testing against 16.04 and 17.10. I would advise that there is no point testing against non-LTS releases they have only a 6 month support period anyway, and anyone using these releases will likely migrate to the next version as it comes out. Instead, I would focus on the LTS releases including 16.04 and 18.04.


In particular, you will notice that the included libpng library is 1.6 instead of 1.2.

photo
1

Thanks for the note, we will move to supporting only 18.04 and LTS releases in the future.

Also, for us to prioritize, could you tell us if you are using Linux company wide? Our support on Linux is less than perfect mainly because of lack of users using Linux.

photo
3

We are doing what we can to make Linux a viable alternative for us, which is one of the reasons I chose FileCloud in the first place. The greatest limiting factor has been finding tools that are fully cross platform, so it's a bit of a chicken and egg problem. The more quality cross-platform tools we can find, the more viable Linux itself becomes.

photo
1

This became the (hyper)focus of my evening and I ended up writing a very crude installation script for the FileCloud sync client on Linux; it can be found here if you're interested.


@Support - a couple post-install thoughts I'll carry over from my blog...


Cache & Config Visibility


The ~/FileCloudSyncData (cache folder) and ~/syncclientconfig.xml file are both created when the sync client is launched the first time; I'd like to see these files prepended with . by default so they aren't visible in graphical file managers.


I was able to prepend the cache folder with a . (i.e. ~/.FileCloudSyncData) and then update the config file accordingly (see below). However I can't prepend the config file with a . because the sync client won't find it, causing it to populate a new one.


  <rowentry>
    <name>syncclientlocation</name>
    <type>string</type>
    <value>/home/derek/.FileCloudSyncData</value>
  </rowentry>


Initial Setup


This one is not constrained to Linux... once the sync client is launched on any platform and a user logs in, it immediately starts syncing everything to the default location. I'd like to see options to configure selective sync and sync location, similar to other solutions that provide a setup wizard to accommodate these changes before any syncing occurs.

photo
2

@derek-shnosh Thank you so much for your detailed information as well as the github project and blog. This is very helpful!

We will take your input and our developers will help support Ubuntu 18.10 from FC 19.2 release.

photo
1

@Support - I ran my script on Kubuntu 19.04 and hit a couple snags so I'll be committing an update to the git repo shortly. However, I'm unable to resolve a lacking dependency for libPocoFoundation.so.31.


derek@ds-p51-l:~/Apps/filecloudsync$ ./filecloudsync
./filecloudsync: error while loading shared libraries: libPocoFoundation.so.31: cannot open shared object file: No such file or directory


I installed libpoco-dev which included libPocoFoundation.so.60, but this doesn't seem to meet the dependency requirement.


derek@ds-p51-l:~/Apps/filecloudsync$ apt list -i | grep libpocofoundation

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libpocofoundation60/disco,now 1.9.0-5 amd64 [installed]


I believe this release isn't officially supported, but I would appreciate any assistance to work around this issue.

photo
1

The libpocofoundation versions should be shipped with our installer. Could you try using those?

photo
1

When I last played around with the Linux client I remember having to modify it to handle the paths better because I had the same difficulty. Unfortunately I can't tell you exactly what I did because the hard drive failed a short while ago and I haven't gotten around to re-installing the FC client yet.

photo
1

@Support - I followed the linux installation instructions, as outlined in the FileCloud docs... which states to launch the filecloudsyncstart.sh script which then calls on the filecloudsync app itself; is the app not designed to use libs located in its parent directory when they (the libs) don't exist otherwise?


While I'm generally savvy, I'm relatively new'ish to linux and am not sure how to use versions of the libs shipped with the "installer". To be frank, the "installer" is really just a compressed folder containing the app and some libs; at least per my typical understanding, or expectation, of an installer to completely install the application and any required dependencies without intervention beyond running the installer program or script. Yeah, symantics (nitpicky?), just thought it was worth mentioning.

photo
1

We compile FileCloud Sync against some specific libraries and those libraries are all shipped in the same folder. So when you launch the sync executable via the .sh script, it just ensures the executable can search and find the libs from the same folder the executable runs from (LD_LIBRARY_PATH). So that is why you need to use the libs we ship instead of trying to use the most current Poco libs available etc.

photo
1

@Support - Thank you for explanation; so, by following the instructions (unzip, set permissions, run filecloudsyncsetup.sh) the client should be able to locate the libraries automatically?


I experience dependency issues as outlined in this thread in both of my Kubuntu 18.04-LTS (and 19.04) builds.

photo
1

Yes, that's the expected behaviour. However it might not be compatible with Kubuntu etc.

photo
1

@support thanks, I updated my install script to work around the issue with shared libraries.

I also added args to the script to either install or uninstall.

photo