Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Qt 5.13.0 - Build postgres driver for android
QtWS25 Last Chance

Qt 5.13.0 - Build postgres driver for android

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
21 Posts 4 Posters 3.5k Views
  • 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.
  • NickVN Offline
    NickVN Offline
    NickV
    wrote on last edited by
    #1

    Hello, i would like to build the postgres driver for android. Does anyone knows the way that i can do that? When i was used qt 5.9.6 i have followed the following instructions: https://wiki.qt.io/Build_Qt_5_PostgreSQL_Plugin_for_Android

    This instructions not work in Qt 5.13.0. Any suggestions?

    1 Reply Last reply
    1
    • NickVN Offline
      NickVN Offline
      NickV
      wrote on last edited by
      #2

      When i am doing the steps of the https://wiki.qt.io/Build_Qt_5_PostgreSQL_Plugin_for_Android i am getting the following error:
      Project ERROR: Library 'psql' is not defined.

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #3

        Hi,

        The build instructions have changed. See the Qt documentation for that and adapt the guide to them.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • NickVN Offline
          NickVN Offline
          NickV
          wrote on last edited by
          #4

          WIth this instructions i am getting the following error:

          android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /usr/lib/x86_64-linux-gnu/libpq.so: incompatible target
          

          Any idea?

          jsulmJ 1 Reply Last reply
          0
          • NickVN NickV

            WIth this instructions i am getting the following error:

            android-ndk-r19c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /usr/lib/x86_64-linux-gnu/libpq.so: incompatible target
            

            Any idea?

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #5

            @NickV said in Qt 5.13.0 - Build postgres driver for android:

            /usr/lib/x86_64-linux-gnu/libpq.so

            This lib was built for x86_64, not ARM. You need this lib in your sysroot for ARM.

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • NickVN Offline
              NickVN Offline
              NickV
              wrote on last edited by
              #6

              Is there a way to build postgres from source for arm?
              Any instructions will be perfect!

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #7

                It's explained in the Wiki page you are using as reference.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                1
                • NickVN Offline
                  NickVN Offline
                  NickV
                  wrote on last edited by
                  #8

                  When i follow these instruction the libpq.so that produced is not for arm architecture but for x86_64. Maybe there is a problem with the ndk. I don't know for sure.

                  jsulmJ 1 Reply Last reply
                  0
                  • NickVN NickV

                    When i follow these instruction the libpq.so that produced is not for arm architecture but for x86_64. Maybe there is a problem with the ndk. I don't know for sure.

                    jsulmJ Offline
                    jsulmJ Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #9

                    @NickV This sounds like you're building for x86_64. Can you show the steps you're executing to build it?

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    0
                    • NickVN Offline
                      NickVN Offline
                      NickV
                      wrote on last edited by NickV
                      #10

                      @jsulm
                      export ANDROID_NDK_ROOT="/<path-to-ndk>/android-ndk-r15c"
                      SR="$ANDROID_NDK_ROOT/platforms/android-21/arch-arm"
                      BR="$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-"

                      and then cd to postgres folder
                      STRIP="$BR"strip RANLIB="$BR"ranlib OBJDUMP="$BR"objdump AR="$BR"ar CC="$BR"gcc CFLAGS=--sysroot=$SR CPP="$BR"cpp CPPFLAGS=$CFLAGS ./configure --prefix=$SR/usr --host=arm-linux-androideabi --target=arm-linux-androideabi --build="$CHOST" --without-readline --with-openssl --with-includes=/<path-to-openssl>/openssl-1.0.2n/include --with-libs=/<path-to-openssl>/openssl-1.0.2n

                      sed -e 's/lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)/lib$(NAME)$(DLSUFFIX)/g' -i src/Makefile.shlib
                      sed -e 's/lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)/lib$(NAME)$(DLSUFFIX)/g' -i src/Makefile.shlib

                      make -C src/interfaces/libpq

                      WIth this instructions i made it to create a libpq.so form arm architecture but it is for 32bit not for 64bit. If i use android ndk r18b then the libpq.so that produced is for x86_64 architecture.

                      jsulmJ 1 Reply Last reply
                      0
                      • NickVN NickV

                        @jsulm
                        export ANDROID_NDK_ROOT="/<path-to-ndk>/android-ndk-r15c"
                        SR="$ANDROID_NDK_ROOT/platforms/android-21/arch-arm"
                        BR="$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-"

                        and then cd to postgres folder
                        STRIP="$BR"strip RANLIB="$BR"ranlib OBJDUMP="$BR"objdump AR="$BR"ar CC="$BR"gcc CFLAGS=--sysroot=$SR CPP="$BR"cpp CPPFLAGS=$CFLAGS ./configure --prefix=$SR/usr --host=arm-linux-androideabi --target=arm-linux-androideabi --build="$CHOST" --without-readline --with-openssl --with-includes=/<path-to-openssl>/openssl-1.0.2n/include --with-libs=/<path-to-openssl>/openssl-1.0.2n

                        sed -e 's/lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)/lib$(NAME)$(DLSUFFIX)/g' -i src/Makefile.shlib
                        sed -e 's/lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)/lib$(NAME)$(DLSUFFIX)/g' -i src/Makefile.shlib

                        make -C src/interfaces/libpq

                        WIth this instructions i made it to create a libpq.so form arm architecture but it is for 32bit not for 64bit. If i use android ndk r18b then the libpq.so that produced is for x86_64 architecture.

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #11

                        @NickV How do you build with r18b?

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        0
                        • NickVN Offline
                          NickVN Offline
                          NickV
                          wrote on last edited by
                          #12

                          @jsulm
                          I am doing exactly the same thing but i use
                          export ANDROID_NDK_ROOT="/<path-to-ndk>/android-ndk-r18b"

                          1 Reply Last reply
                          0
                          • SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on last edited by
                            #13

                            Since you are building for 5.13 you should change to NDK r19 at least.

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            1 Reply Last reply
                            1
                            • NickVN Offline
                              NickVN Offline
                              NickV
                              wrote on last edited by NickV
                              #14

                              @SGaist
                              I've also tried with android ndk r19c. Still having problems.

                              1 Reply Last reply
                              0
                              • NickVN Offline
                                NickVN Offline
                                NickV
                                wrote on last edited by
                                #15

                                Does postgres supports android 64 bit cpu architectures?

                                jsulmJ 1 Reply Last reply
                                0
                                • NickVN NickV

                                  Does postgres supports android 64 bit cpu architectures?

                                  jsulmJ Offline
                                  jsulmJ Offline
                                  jsulm
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #16

                                  @NickV This is something you should ask postgres developers

                                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  1 Reply Last reply
                                  0
                                  • SGaistS Offline
                                    SGaistS Offline
                                    SGaist
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #17

                                    It should be since it's available on Debian for arm64. However there might be a flag to set somewhere.

                                    Interested in AI ? www.idiap.ch
                                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    1 Reply Last reply
                                    0
                                    • N Offline
                                      N Offline
                                      Nogood
                                      wrote on last edited by
                                      #18

                                      Hi, has anyone managed to put together a psql android plugin for qt qml app? My application is not connecting to postgres database on another machine.

                                      SGaistS 1 Reply Last reply
                                      0
                                      • N Nogood

                                        Hi, has anyone managed to put together a psql android plugin for qt qml app? My application is not connecting to postgres database on another machine.

                                        SGaistS Offline
                                        SGaistS Offline
                                        SGaist
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #19

                                        @Nogood said in Qt 5.13.0 - Build postgres driver for android:

                                        Hi, has anyone managed to put together a psql android plugin for qt qml app? My application is not connecting to postgres database on another machine.

                                        Hi and welcome to devnet,

                                        Did you follow the guide @NickV used ?
                                        If not, what did you do ?
                                        If you did, what error message do you get ?
                                        Also, are you sure you can access that database remotely from another computer ?
                                        Did you start your application with the QT_DEBUG_PLUGINS environment variable set to 1 in order to have more information ?

                                        Interested in AI ? www.idiap.ch
                                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                        N 1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          @Nogood said in Qt 5.13.0 - Build postgres driver for android:

                                          Hi, has anyone managed to put together a psql android plugin for qt qml app? My application is not connecting to postgres database on another machine.

                                          Hi and welcome to devnet,

                                          Did you follow the guide @NickV used ?
                                          If not, what did you do ?
                                          If you did, what error message do you get ?
                                          Also, are you sure you can access that database remotely from another computer ?
                                          Did you start your application with the QT_DEBUG_PLUGINS environment variable set to 1 in order to have more information ?

                                          N Offline
                                          N Offline
                                          Nogood
                                          wrote on last edited by
                                          #20

                                          @SGaist said in Qt 5.13.0 - Build postgres driver for android:

                                          guide

                                          Yes, i used guide. But I didn't find the arm-linux-androideabi-gcc file.

                                          everything is fine with the database, the program works well on windows.

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved