Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Special Interest Groups
  3. Independent Developers
  4. How do i use poppler lib in Qt quick application.
Forum Updated to NodeBB v4.3 + New Features

How do i use poppler lib in Qt quick application.

Scheduled Pinned Locked Moved Unsolved Independent Developers
35 Posts 4 Posters 10.2k Views 1 Watching
  • 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.
  • NIvil WilsonN NIvil Wilson

    @jsulm
    sir,
    the result for the command file /usr/local/lib//libpoppler-qt5.so.1 is
    /usr/local/lib//libpoppler-qt5.so.1: symbolic link to libpoppler-qt5.so.1.27.0

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

    @NIvil-Wilson said in How do i use poppler lib in Qt quick application.:

    @jsulm
    sir,
    the result for the command file /usr/local/lib//libpoppler-qt5.so.1 is
    /usr/local/lib//libpoppler-qt5.so.1: symbolic link to libpoppler-qt5.so.1.27.0

    Check that file then.

    Did you ensure that cmake is finding your cross-compiled version and not the one from your system ?

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

    NIvil WilsonN 1 Reply Last reply
    0
    • SGaistS SGaist

      @NIvil-Wilson said in How do i use poppler lib in Qt quick application.:

      @jsulm
      sir,
      the result for the command file /usr/local/lib//libpoppler-qt5.so.1 is
      /usr/local/lib//libpoppler-qt5.so.1: symbolic link to libpoppler-qt5.so.1.27.0

      Check that file then.

      Did you ensure that cmake is finding your cross-compiled version and not the one from your system ?

      NIvil WilsonN Offline
      NIvil WilsonN Offline
      NIvil Wilson
      wrote on last edited by
      #17

      @SGaist
      sir,
      yes i ensured that the cmake is finding cross-compiled version and not the one from the system .
      i stored the cross-compiled version in an explicit dedicated folder and the same message appears.
      please help

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

        Did you check the architecture of your cross-compiled library ?

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

        NIvil WilsonN 1 Reply Last reply
        0
        • SGaistS SGaist

          Did you check the architecture of your cross-compiled library ?

          NIvil WilsonN Offline
          NIvil WilsonN Offline
          NIvil Wilson
          wrote on last edited by
          #19

          @SGaist
          sir ,
          the architecture of cross-compiled library is given below.

          readelf -h libpoppler-qt5.so.1.27.0
          ELF Header:
          Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
          Class: ELF64
          Data: 2's complement, little endian
          Version: 1 (current)
          OS/ABI: UNIX - System V
          ABI Version: 0
          Type: DYN (Shared object file)
          Machine: Advanced Micro Devices X86-64
          Version: 0x1
          Entry point address: 0x334f0
          Start of program headers: 64 (bytes into file)
          Start of section headers: 14323992 (bytes into file)
          Flags: 0x0
          Size of this header: 64 (bytes)
          Size of program headers: 56 (bytes)
          Number of program headers: 11
          Size of section headers: 64 (bytes)
          Number of section headers: 39
          Section header string table index: 38

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

            @NIvil-Wilson said in How do i use poppler lib in Qt quick application.:

            Machine: Advanced Micro Devices X86-64

            Is your device running on a x86_64 machine ?

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

            NIvil WilsonN 1 Reply Last reply
            0
            • SGaistS SGaist

              @NIvil-Wilson said in How do i use poppler lib in Qt quick application.:

              Machine: Advanced Micro Devices X86-64

              Is your device running on a x86_64 machine ?

              NIvil WilsonN Offline
              NIvil WilsonN Offline
              NIvil Wilson
              wrote on last edited by NIvil Wilson
              #21

              @SGaist said in How do i use poppler lib in Qt quick application.:

              x86_64

              uname -a
              Linux nivilwilsonp-desktop 5.8.0-48-generic #54~20.04.1-Ubuntu SMP Sat Mar 20 13:40:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

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

                Your desktop machine is.

                I meant the target that runs Android. In any case, if it's ARM, libpoppler was not cross-compiled.

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

                NIvil WilsonN 1 Reply Last reply
                1
                • SGaistS SGaist

                  Your desktop machine is.

                  I meant the target that runs Android. In any case, if it's ARM, libpoppler was not cross-compiled.

                  NIvil WilsonN Offline
                  NIvil WilsonN Offline
                  NIvil Wilson
                  wrote on last edited by
                  #23

                  @SGaist
                  sir,
                  the target device is ARM.could you give me instructions to cross compile libpoppler for ARM.

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

                    What did you do to build poppler until now ?

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

                    NIvil WilsonN 1 Reply Last reply
                    0
                    • SGaistS SGaist

                      What did you do to build poppler until now ?

                      NIvil WilsonN Offline
                      NIvil WilsonN Offline
                      NIvil Wilson
                      wrote on last edited by
                      #25

                      @SGaist
                      sir,
                      i used the settings given below to cross compile poppler library

                      if(NOT DEFINED CMAKE_CROSSCOMPILING)
                      set(CMAKE_CROSSCOMPILING "TRUE")
                      endif()

                      set(CMAKE_SYSTEM_NAME Android)
                      set(CMAKE_SYSTEM_VERSION 21) # API level
                      set(CMAKE_ANDROID_ARCH_ABI arm64-v8a)
                      set(CMAKE_ANDROID_NDK /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147)
                      set(CMAKE_ANDROID_STL_TYPE c++_shared)

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

                        You might want to check here for how they build it for Androïd.

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

                        NIvil WilsonN 1 Reply Last reply
                        1
                        • SGaistS SGaist

                          You might want to check here for how they build it for Androïd.

                          NIvil WilsonN Offline
                          NIvil WilsonN Offline
                          NIvil Wilson
                          wrote on last edited by NIvil Wilson
                          #27

                          @SGaist
                          sir, i tried to compile poppler for android arm64-v8a but it always compiled to "x86_64".

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

                            Did you follow the example I linked ?

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

                            NIvil WilsonN 1 Reply Last reply
                            0
                            • SGaistS SGaist

                              Did you follow the example I linked ?

                              NIvil WilsonN Offline
                              NIvil WilsonN Offline
                              NIvil Wilson
                              wrote on last edited by
                              #29

                              @SGaist
                              sir, i tried it many times .i changed the architecture and tried many times but it only compile to x86_64 architecture only.I think this is related to configuration mistake that i made cmake compilation process. sorry for my bad english .google translate help me very much these days.

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

                                What did you do exactly for your latest try ?

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

                                NIvil WilsonN 1 Reply Last reply
                                0
                                • SGaistS SGaist

                                  What did you do exactly for your latest try ?

                                  NIvil WilsonN Offline
                                  NIvil WilsonN Offline
                                  NIvil Wilson
                                  wrote on last edited by
                                  #31

                                  @SGaist
                                  sir, i couldnt understant this line " CFLAGS=-std=gnu99 STANDALONE_EXTRA="--arch arm64" /opt/helpers/build-standalone " which is in the link you given click here

                                  Screenshot from 2021-06-11 18-01-59.png

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

                                    The line contains the instructions to configure, build and install freetype for Android..

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

                                    NIvil WilsonN 1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      The line contains the instructions to configure, build and install freetype for Android..

                                      NIvil WilsonN Offline
                                      NIvil WilsonN Offline
                                      NIvil Wilson
                                      wrote on last edited by NIvil Wilson
                                      #33

                                      @SGaist
                                      sir,

                                      Screenshot from 2021-06-12 14-10-50.png

                                      cmake -G Ninja .. -DCMAKE_TOOLCHAIN_FILE=~/Desktop/c++/poppler-21.06.1/build.cmake

                                      contents of CMakeError.log

                                      Determining if the function fseek64 exists failed with the following output:
                                      Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                      Run Build Command(s):/usr/bin/ninja cmTC_8bd25 && [1/2] Building C object CMakeFiles/cmTC_8bd25.dir/CheckFunctionExists.c.o
                                      [2/2] Linking C executable cmTC_8bd25
                                      FAILED: cmTC_8bd25
                                      : && /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DCHECK_FUNCTION_EXISTS=fseek64 -g -funwind-tables -no-canonical-prefixes -fexceptions -fPIE -pie -Wl,--gc-sections CMakeFiles/cmTC_8bd25.dir/CheckFunctionExists.c.o -o cmTC_8bd25 -latomic -lm && :
                                      CMakeFiles/cmTC_8bd25.dir/CheckFunctionExists.c.o: In function main': /usr/share/cmake-3.16/Modules/CheckFunctionExists.c:17: undefined reference to fseek64'
                                      clang: error: linker command failed with exit code 1 (use -v to see invocation)
                                      ninja: build stopped: subcommand failed.

                                      Determining if the function ftell64 exists failed with the following output:
                                      Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                      Run Build Command(s):/usr/bin/ninja cmTC_5f037 && [1/2] Building C object CMakeFiles/cmTC_5f037.dir/CheckFunctionExists.c.o
                                      [2/2] Linking C executable cmTC_5f037
                                      FAILED: cmTC_5f037
                                      : && /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DCHECK_FUNCTION_EXISTS=ftell64 -g -funwind-tables -no-canonical-prefixes -fexceptions -fPIE -pie -Wl,--gc-sections CMakeFiles/cmTC_5f037.dir/CheckFunctionExists.c.o -o cmTC_5f037 -latomic -lm && :
                                      CMakeFiles/cmTC_5f037.dir/CheckFunctionExists.c.o: In function main': /usr/share/cmake-3.16/Modules/CheckFunctionExists.c:17: undefined reference to ftell64'
                                      clang: error: linker command failed with exit code 1 (use -v to see invocation)
                                      ninja: build stopped: subcommand failed.

                                      Performing C SOURCE FILE Test HAVE_NDIR_H failed with the following output:
                                      Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                      Run Build Command(s):/usr/bin/ninja cmTC_53db5 && [1/2] Building C object CMakeFiles/cmTC_53db5.dir/src.c.o
                                      FAILED: CMakeFiles/cmTC_53db5.dir/src.c.o
                                      /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DHAVE_NDIR_H -g -funwind-tables -no-canonical-prefixes -fexceptions -o CMakeFiles/cmTC_53db5.dir/src.c.o -c src.c
                                      src.c:1:10: fatal error: 'ndir.h' file not found
                                      #include <ndir.h>
                                      ^~~~~~~~
                                      1 error generated.
                                      ninja: build stopped: subcommand failed.

                                      Source file was:
                                      #include <ndir.h>

                                      int main(int argc, char argv[])
                                      {
                                      DIR
                                      d = 0;
                                      return 0;
                                      }

                                      Performing C SOURCE FILE Test HAVE_SYS_DIR_H failed with the following output:
                                      Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                      Run Build Command(s):/usr/bin/ninja cmTC_4a64d && [1/2] Building C object CMakeFiles/cmTC_4a64d.dir/src.c.o
                                      FAILED: CMakeFiles/cmTC_4a64d.dir/src.c.o
                                      /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DHAVE_SYS_DIR_H -g -funwind-tables -no-canonical-prefixes -fexceptions -o CMakeFiles/cmTC_4a64d.dir/src.c.o -c src.c
                                      src.c:1:10: fatal error: 'sys/dir.h' file not found
                                      #include <sys/dir.h>
                                      ^~~~~~~~~~~
                                      1 error generated.
                                      ninja: build stopped: subcommand failed.

                                      Source file was:
                                      #include <sys/dir.h>

                                      int main(int argc, char argv[])
                                      {
                                      DIR
                                      d = 0;
                                      return 0;
                                      }

                                      Performing C SOURCE FILE Test HAVE_SYS_NDIR_H failed with the following output:
                                      Change Dir: /home/nivilwilsonp/Desktop/c++/poppler-21.06.1/build/CMakeFiles/CMakeTmp

                                      Run Build Command(s):/usr/bin/ninja cmTC_5a9f7 && [1/2] Building C object CMakeFiles/cmTC_5a9f7.dir/src.c.o
                                      FAILED: CMakeFiles/cmTC_5a9f7.dir/src.c.o
                                      /home/nivilwilsonp/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none-linux-android21 -Wall -std=c99 -D_DEFAULT_SOURCE -DHAVE_SYS_NDIR_H -g -funwind-tables -no-canonical-prefixes -fexceptions -o CMakeFiles/cmTC_5a9f7.dir/src.c.o -c src.c
                                      src.c:1:10: fatal error: 'sys/ndir.h' file not found
                                      #include <sys/ndir.h>
                                      ^~~~~~~~~~~~
                                      1 error generated.
                                      ninja: build stopped: subcommand failed.

                                      Source file was:
                                      #include <sys/ndir.h>

                                      int main(int argc, char argv[])
                                      {
                                      DIR
                                      d = 0;
                                      return 0;
                                      }

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

                                        Which step did you do exactly ?

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

                                        NIvil WilsonN 1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          Which step did you do exactly ?

                                          NIvil WilsonN Offline
                                          NIvil WilsonN Offline
                                          NIvil Wilson
                                          wrote on last edited by NIvil Wilson
                                          #35

                                          @SGaist
                                          when i try to use the bellow command
                                          ninja && ninja install

                                          ld: error: relocation R_X86_64_PC32 cannot be used against symbol TT_RunIns; recompile with -fPIC

                                          defined in /usr/local/lib/libfreetype.a(truetype.o)
                                          referenced by truetype.c
                                          truetype.o:(tt_size_init_bytecode) in archive /usr/local/lib/libfreetype.a
                                          clang++: error: linker command failed with exit code 1 (use -v to see invocation)

                                          readelf -h libfreetype.a | grep 'Class|File|Machine'
                                          File: libfreetype.a(ftsystem.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftdebug.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftinit.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftbase.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftbbox.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftbdf.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftbitmap.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftcid.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftfstype.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftgasp.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftglyph.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftgxval.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftmm.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftotval.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftpatent.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftpfr.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftstroke.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftsynth.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(fttype1.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftwinfnt.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(truetype.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(type1.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(cff.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(type1cid.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(pfr.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(type42.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(winfnt.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(pcf.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(bdf.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(sfnt.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(autofit.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(pshinter.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(raster.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(smooth.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftcache.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftgzip.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftlzw.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(ftbzip2.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(psaux.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64
                                          File: libfreetype.a(psnames.o)
                                          Class: ELF64
                                          Machine: Advanced Micro Devices X86-64

                                          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