Navigation

    UBports Robot Logo

    UBports Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    Help creating an UBSync arm64 version

    App Development
    8
    39
    2167
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Luksus last edited by

      Hi,
      I am not sure, if @ernest, who developed UBSync is still active.
      https://code.launchpad.net/~ocs-team/owncloud-sync/UBsync

      For 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 🙂

      Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605, Pinephone, Moto Z2 Force

      1 Reply Last reply Reply Quote 1
      • poVoq
        poVoq last edited by

        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.

        OnePlus3 (dev)

        L 1 Reply Last reply Reply Quote 0
        • L
          Luksus @poVoq last edited by Luksus

          @poVoq ahh thanks, where and when did he post this?

          Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605, Pinephone, Moto Z2 Force

          1 Reply Last reply Reply Quote 0
          • E
            ernest last edited by

            @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.

            L 1 Reply Last reply Reply Quote 0
            • L
              Luksus @ernest last edited by

              @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...

              Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605, Pinephone, Moto Z2 Force

              E poVoq 2 Replies Last reply Reply Quote 0
              • E
                ernest @Luksus last edited by

                @Luksus
                To troubleshoot you have to look at the app log and the nextcloudcmd/owncloudcmd log.

                L 1 Reply Last reply Reply Quote 0
                • poVoq
                  poVoq @Luksus last edited by

                  @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.

                  OnePlus3 (dev)

                  1 Reply Last reply Reply Quote 0
                  • L
                    Luksus @ernest last edited by Luksus

                    @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)?

                    Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605, Pinephone, Moto Z2 Force

                    E 1 Reply Last reply Reply Quote 0
                    • E
                      ernest @Luksus last edited by

                      @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

                      1 Reply Last reply Reply Quote 1
                      • K
                        kugiigi last edited by

                        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 🙂

                        E 1 Reply Last reply Reply Quote 0
                        • E
                          ernest @kugiigi last edited by ernest

                          @kugiigi
                          Hum, strange or bad app design 🙂

                          I 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

                          L 1 Reply Last reply Reply Quote 0
                          • L
                            Luksus @ernest last edited by

                            @ernest said in Help creating an UBSync arm64 version:

                            For the log :
                            cat .cache/upstart/OwncloudSyncd.log

                            Hm no, that file does not exist... which is one more indicator for, that owncloudsync daemon could not be started.

                            Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605, Pinephone, Moto Z2 Force

                            E 1 Reply Last reply Reply Quote 0
                            • E
                              ernest @Luksus last edited by

                              @Luksus
                              Are you using my version or yours ?

                              L 1 Reply Last reply Reply Quote 0
                              • L
                                Luksus @ernest last edited by Luksus

                                @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.

                                Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605, Pinephone, Moto Z2 Force

                                E 1 Reply Last reply Reply Quote 0
                                • poVoq
                                  poVoq last edited by poVoq

                                  Maybe a different library could be used? Something like this?
                                  https://github.com/strukturag/qwebdavlib/tree/devel

                                  Edit: or maybe these in Python:
                                  https://github.com/hevp/compact-dav
                                  https://github.com/alexnsl/nc-sync

                                  Edit or in Rust:
                                  https://github.com/budde25/nextcloud-client-cli

                                  OnePlus3 (dev)

                                  1 Reply Last reply Reply Quote 1
                                  • E
                                    ernest @Luksus last edited by

                                    @Luksus

                                    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.

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      Luksus @ernest last edited by Luksus

                                      @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?!

                                      Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605, Pinephone, Moto Z2 Force

                                      E 1 Reply Last reply Reply Quote 0
                                      • E
                                        ernest @Luksus last edited by

                                        @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.
                                        527cb767-6bc0-49dd-a6f1-5bb22f3a595f-image.png

                                        Look into .config/ubsync/ubsync.conf, ensure that your timer is different than 0

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          Luksus @ernest last edited by Luksus

                                          @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.

                                          Devices: BQ e4.5, Fairphone 2, Fairphone 3, Lenovo X605, Pinephone, Moto Z2 Force

                                          E R 2 Replies Last reply Reply Quote 1
                                          • E
                                            ernest @Luksus last edited by

                                            @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"

                                            L 1 Reply Last reply Reply Quote -1
                                            • First post
                                              Last post