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 9.7k 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.
  • 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