UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Help creating an UBSync arm64 version

    Scheduled Pinned Locked Moved App Development
    39 Posts 8 Posters 6.5k Views 3 Watching
    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.
      • E Offline
        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.

        LuksusL 1 Reply Last reply Reply Quote 0
        • LuksusL Offline
          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 X605F, Pinephone, Moto Z2 Force, OnePlus5T

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

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

            LuksusL 1 Reply Last reply Reply Quote 0
            • poVoqP Online
              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.

              Fairphone 5 (waiting for port)

              1 Reply Last reply Reply Quote 0
              • LuksusL Offline
                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 X605F, Pinephone, Moto Z2 Force, OnePlus5T

                E 1 Reply Last reply Reply Quote 0
                • E Offline
                  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 Offline
                    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 Offline
                      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

                      LuksusL 1 Reply Last reply Reply Quote 0
                      • LuksusL Offline
                        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 X605F, Pinephone, Moto Z2 Force, OnePlus5T

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

                          @Luksus
                          Are you using my version or yours ?

                          LuksusL 1 Reply Last reply Reply Quote 0
                          • LuksusL Offline
                            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 X605F, Pinephone, Moto Z2 Force, OnePlus5T

                            E 1 Reply Last reply Reply Quote 0
                            • poVoqP Online
                              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

                              Fairphone 5 (waiting for port)

                              1 Reply Last reply Reply Quote 1
                              • E Offline
                                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.

                                LuksusL 1 Reply Last reply Reply Quote 0
                                • LuksusL Offline
                                  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 X605F, Pinephone, Moto Z2 Force, OnePlus5T

                                  E 1 Reply Last reply Reply Quote 0
                                  • E Offline
                                    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

                                    LuksusL 1 Reply Last reply Reply Quote 0
                                    • LuksusL Offline
                                      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 X605F, Pinephone, Moto Z2 Force, OnePlus5T

                                      E R 2 Replies Last reply Reply Quote 1
                                      • E Offline
                                        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"

                                        LuksusL 1 Reply Last reply Reply Quote -1
                                        • LuksusL Offline
                                          Luksus @ernest
                                          last edited by

                                          @ernest I cleaned up everything and reinstalled your version. And now it works.

                                          How were you able to install it ??? on arm64 phone

                                          I built an arm64 version of ubsync... but the contained pre-compiled owncloud libraries were still armhf. And I think the qmake .pro-file did also create armhf path's and so on...

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

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

                                            @Luksus Yes, the architecture is hardcoded everywhere in this app 😕

                                            1 Reply Last reply Reply Quote 0
                                            • R Offline
                                              ruedigerkupper @Luksus
                                              last edited by ruedigerkupper

                                              @luksus I tried changing the path in OwncloudSyncd.conf as you described and the sync client works. Is there any chance of getting this into the OpenStore? How can I help?
                                              (See also https://bugs.launchpad.net/owncloud-sync/+bug/1896387)

                                              LuksusL 1 Reply Last reply Reply Quote 1
                                              • First post
                                                Last post