• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
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 @Luksus
      last edited by 6 Nov 2020, 10:25

      @Luksus
      Are you using my version or yours ?

      L 1 Reply Last reply 6 Nov 2020, 10:26 Reply Quote 0
      • L Offline
        Luksus @ernest
        last edited by Luksus 11 Jun 2020, 10:38 6 Nov 2020, 10:26

        @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 9 Nov 2020, 23:26 Reply Quote 0
        • P Offline
          poVoq
          last edited by poVoq 11 Aug 2020, 01:06 8 Nov 2020, 00:53

          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 9 Nov 2020, 23:26

            @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 10 Nov 2020, 09:30 Reply Quote 0
            • L Offline
              Luksus @ernest
              last edited by Luksus 11 Oct 2020, 09:30 10 Nov 2020, 09:30

              @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 10 Nov 2020, 09:42 Reply Quote 0
              • E Offline
                ernest @Luksus
                last edited by 10 Nov 2020, 09:42

                @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 10 Nov 2020, 09:52 Reply Quote 0
                • L Offline
                  Luksus @ernest
                  last edited by Luksus 11 Oct 2020, 19:06 10 Nov 2020, 09:52

                  @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 10 Nov 2020, 21:51 Reply Quote 1
                  • E Offline
                    ernest @Luksus
                    last edited by 10 Nov 2020, 21:51

                    @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 15 Nov 2020, 18:36 Reply Quote -1
                    • L Offline
                      Luksus @ernest
                      last edited by 15 Nov 2020, 18:36

                      @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 15 Nov 2020, 20:34 Reply Quote 0
                      • E Offline
                        ernest @Luksus
                        last edited by 15 Nov 2020, 20:34

                        @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 19 Jan 2021, 12:40

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

                          L 1 Reply Last reply 19 Jan 2021, 12:45 Reply Quote 1
                          • L Offline
                            Luksus @ruedigerkupper
                            last edited by 19 Jan 2021, 12:45

                            @ruedigerkupper I think @ernest just should put his arm64 version in the store...

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

                            E 1 Reply Last reply 23 Jan 2021, 13:19 Reply Quote 0
                            • E Offline
                              ernest @Luksus
                              last edited by 23 Jan 2021, 13:19

                              @luksus
                              As explained, the code between arch version has to be the same on openstore. Currently the app has been written in c++/qml with hardcoded arch...
                              Thus the code needs to be updated for multiarch... It's beyond my capabilities.

                              L 1 Reply Last reply 23 Jan 2021, 13:44 Reply Quote 0
                              • L Offline
                                Luksus @ernest
                                last edited by 23 Jan 2021, 13:44

                                @ernest in openstore you can just upload click packages for every arch separately.
                                I don't get the problem.

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

                                E 1 Reply Last reply 23 Jan 2021, 14:06 Reply Quote 0
                                • E Offline
                                  ernest @Luksus
                                  last edited by 23 Jan 2021, 14:06

                                  @luksus no, this one has a script in background and needs to be manually review.
                                  Usually brian asks for the source, compile it by itself and upload the packages.

                                  So if the source are not public, no upload.

                                  L 1 Reply Last reply 23 Jan 2021, 14:13 Reply Quote 0
                                  • L Offline
                                    Luksus @ernest
                                    last edited by 23 Jan 2021, 14:13

                                    @ernest ahhh, because it is unconfined. Ok, I understand.

                                    So, did you build the shipped binaries by yourself? If yes, perhaps you could tell me what is needed to build them and I could try to integrate it in a clickable build.

                                    The last time I tried to build the the needed binaries, I have had no luck, but I also was not sure, if I even got the right sources...

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

                                    E 1 Reply Last reply 23 Jan 2021, 15:53 Reply Quote 0
                                    • E Offline
                                      ernest @Luksus
                                      last edited by 23 Jan 2021, 15:53

                                      @luksus
                                      Why do you want to build it by yourself ?

                                      Yes i did build the lib by myself and change the arch in the code to arm64.

                                      L 1 Reply Last reply 23 Jan 2021, 16:40 Reply Quote 0
                                      • L Offline
                                        Luksus @ernest
                                        last edited by 23 Jan 2021, 16:40

                                        @ernest to know, waht is needed to integrate the build of the lib into the clickable build...in the end with different architectures.

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

                                        B 1 Reply Last reply 3 Mar 2021, 07:04 Reply Quote 0
                                        • B Offline
                                          belohoub @Luksus
                                          last edited by belohoub 3 Mar 2021, 07:45 3 Mar 2021, 07:04

                                          I created the fork of the UBSync with included arm64 support - It works, but it definitely needs a revision. I believe, that most of the steps are correct, but especially, the 32bit build needs a re-revision - it should be principally equal as the forked one - the same binaries (I only changed paths to enable multiarch).

                                          Changes are described in README.

                                          I had no luck with including the build process into the package itself because it went me into the dependency hell in the container (given probably by mixed repos in the default container - I'm not experienced enough with clickable and docker to deal with in reasonable time). I also experienced errors (Access Forbidden) with the ubports binaries of owncloudcmd extracted from deb packages. The same I experienced for some of older self-compiled owncloud versions. I finally build v2.5.3 in libertine, extracted binaries and it works.

                                          The fork is now on my GitHub
                                          The 64-bit click package is also there for testing

                                          TotalSonicT E 2 Replies Last reply 3 Mar 2021, 10:38 Reply Quote 2
                                          • TotalSonicT Offline
                                            TotalSonic @belohoub
                                            last edited by 3 Mar 2021, 10:38

                                            @belohoub - thank you so much for your work on this! Testing using Volla phone, OTA-16 RC, I was able to add my Nextcloud account (hosted by OwnCube) and setup my sync folders - but I got an error message ("! Start Service") when I press the "Start" button in the "Sync Service" page.

                                            Best regards,
                                            Steve Berson

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