Help creating an UBSync arm64 version
-
Hi,
I am not sure, if @ernest, who developed UBSync is still active.
https://code.launchpad.net/~ocs-team/owncloud-sync/UBsyncFor some time I am trying to create an arm64 version of UBSync.
Problem is, that the background service cannot be started.
I think, that I have found the main issue: it is using precompiled libraries and binaries. In detail this is:- libowncloudsync.so.0
- libowncloud_csync.so.0
- owncloudcmd
I tried two ways so far:
- replace this files with arm64 pendants, which I found in debian repositories
- that did not work yet
- compile complete "owncloud client" myself
- did also not work
So if you has some free time and experience, you are welcome to help me, finding a way to make a working arm64 version of this app.
Thanks -
Yes that would be great. ernest posted a working ARM64 version here:
https://drive.google.com/file/d/1EpNu6Fwx2FpljrPONjzE9WvzWT3ZP7lB/view?usp=sharing
As a quick fix you can probably extract the needed libraries from it. -
@poVoq ahh thanks, where and when did he post this?
-
@poVoq said in Help creating an UBSync arm64 version:
As a quick fix you can probably extract the needed libraries from it.
Yes, I'm still there, but currently my life is in boxes and I cannot much do... Couple months I had time to compile a arm64 with owncloudcmd while the version I kept updated in armhf was with nextcloudcmd.
This difference happened because I wanted to remained as close as possible of nextcloud mindset initially. However at the time of the arm64, owncloudcmd was better sustained... then I decided to give a try. For this difference I cannot simply publish the arm64 on the openstore.
Not being good at cross compile on my laptop I used my nexus 5 libertine container to compile for armhf and a Pi 3 A+ for the arm64, not having them available I'm stuck by my competencies.
You cannot place the lib from other repos into ubsync because there will be dependency issue that is not present in the phone.
As lazy solution, I suggest to use the arm64 version that i've uploaded on my repos, if somebody is willing to update it let me know I can help and even grant access to the launchpad.
I'm not planing to recover a std life prior months... due to i'm looking for job and Covid time doesn't help. -
@ernest : Hi, great that you are still here
First: I wish you all the best for your current situation.I tried your arm64 build, sadly it's the same behaviour as in my own builds: "job failed to start" on pressing the button "Start" in the Sync Sevice settings.
Maybe the issue is my phone and not the app...
-
@Luksus
To troubleshoot you have to look at the app log and the nextcloudcmd/owncloudcmd log. -
@Luksus said in Help creating an UBSync arm64 version:
Maybe the issue is my phone and not the app...
Well, to be honest, I have not actually tried to set it up completely. I just installed and tested if it runs so far. So the version might not work on recent UT versions.
-
@ernest Where do I find the nextcloudcmd/owncloudcmd logs?
The app log itself is not very helpful:qml: Accounts.qml - onButtonClicked - Start Sync daemon ServiceControl::setServiceRunning: true should start service start: Job failed to start
And from which sources did you compile the libowncloudsync (nextcloud equivalent)?
-
@Luksus
I don't recall in detail but within the log folder of the user, do a find to locate it.
for the source : https://github.com/owncloud/client -
I've also tried the arm64 version on my Xperia X and get the same issue. I haven;t investigated deep yet though. In any case, thank you for your work and hopefully someone can help us with this
-
@kugiigi
Hum, strange or bad app designI just tried it on my H9 OP3T and it works, to enable the sync I HAD to put a frequency... on "No Sync" the app then seems to sync even when pushing the button sync (Which we might think it would trig a manual sync) ...
@Luksus
For the log :
cat .cache/upstart/OwncloudSyncd.log -
@ernest said in Help creating an UBSync arm64 version:
For the log :
cat .cache/upstart/OwncloudSyncd.logHm no, that file does not exist... which is one more indicator for, that owncloudsync daemon could not be started.
-
@Luksus
Are you using my version or yours ? -
@ernest Yours. I already deleted UBSync multiple times to get sure.
Edit:
Hm, I will check it again...the file creation dates of the lib files, look like the ones I created myself.Edit2:
Ah no, it is definitely yours, the files where created on the 26th November 2019. -
Maybe a different library could be used? Something like this?
https://github.com/strukturag/qwebdavlib/tree/develEdit: or maybe these in Python:
https://github.com/hevp/compact-dav
https://github.com/alexnsl/nc-syncEdit or in Rust:
https://github.com/budde25/nextcloud-client-cli -
If you want to start manually the daemon this is the command:
LD_LIBRARY_PATH=/opt/click.ubuntu.com/ubsync/current/Owncloud-Sync/lib/aarch64-linux-gnu/lib/ && /opt/click.ubuntu.com/ubsync/current/lib/aarch64-linux-gnu/bin/OwncloudSyncd
You can play with it according to : https://doc.owncloud.org/desktop/2.1/advancedusage.html
An example of output.
https://paste.ubuntu.com/p/R3DwRYtxmR/Looking back at the code, I remember why I didn't push the arm64 ... the type of architecture is hardcoded and i don't know the c++, making the journey quite hard. So any help is welcome for that.
-
@ernest thanks.
Interestingly the command works and my folder gets synced: https://paste.ubuntu.com/p/CXf3VWmB3n/
After executing the command, the app also shows a "last-synced" date. The service status still is "Stopped".So the service just cannot be started by the app. Perhaps it is an AppArmor issue?!
-
@Luksus
On my side the app doesn't any issue on a fresh install ;), so I doubt apparmor.likely while playing you messed up something.
please ensure that the file is correct, as below.
Look into .config/ubsync/ubsync.conf, ensure that your timer is different than 0
-
@ernest Ha, that's it!
In that file the exec was referring to the wron path: ..../arm-linux-gnueabihf/...
I changed it to "aarch64-linux-gnu" and now it works!Obviously that file is not getting purged, when clearing app data with UT-Tweak-Tool, because it is not part of the app-directory...
Edit:
Hm, but it is still not possible to trigger a sync from within the app.
There is an error that it could not find libowncloudsync.so.0: https://paste.ubuntu.com/p/Wzp55yHnvq/But I can still trigger the sync with the terminal command.
-
@Luksus
I wouldn't be surprise there is a remaining bit of armhf code somewhere.(How were you able to install it ??? on arm64 phone)I suggest to remove the app and search manually for any ubsync and Nextcloud or Owncloud related, then delete them.
like sudo find / -iname "ubsync"