Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Linking of fontconfig and gstreamer with Qt fails
QtWS25 Last Chance

Linking of fontconfig and gstreamer with Qt fails

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
fontconfigconfiguregstreamer1.0
2 Posts 1 Posters 2.8k 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.
  • K Offline
    K Offline
    Kart
    wrote on 4 Oct 2017, 11:50 last edited by Kart 10 Apr 2017, 11:53
    #1

    I have been trying to cross-compile my own Qt5.9.1 for an arm platform. I have cross compiled fontconfig, gstreamer and tslib. All of these are installed in the same directory.
    Configuration i am following is

    ./configure -opensource -confirm-license -xplatform linux-hi3520d-g++ -no-egl -skip wayland -no-opengl -nomake examples -c++std c++11 -v -prefix /opt/qt/qt5.9.1arm -proprietary-codecs -gstreamer -fontconfig -tslib -alsa
    

    Error i am getting is

    ERROR: Feature 'fontconfig' was enabled, but the pre-condition '!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig' failed.
    
    ERROR: Feature 'gstreamer' was enabled, but the pre-condition 'features.gstreamer_1_0 || features.gstreamer_0_10' failed.
    

    config.log with gstreamer 1.0 part

    looking for library gstreamer_1_0
    Trying source 0 (type pkgConfig) of library gstreamer_1_0 ...
    pkg-config use disabled globally.
      => source produced no result.
    test config.multimedia.libraries.gstreamer_1_0 FAILED
    

    When source 0 fails, why it is not searching for source 1, which it does for freetype and alsa ?

    config.log with fontconfig part

    looking for library fontconfig
    Trying source 0 (type pkgConfig) of library fontconfig ...
    pkg-config use disabled globally.
      => source produced no result.
    Trying source 1 (type freetype) of library fontconfig ...
    + cd /opt/qt/qt5.9.1arm_source/qt5.9.1/config.tests/unix/fontconfig && /opt/qt/qt5.9.1arm_source/qt5.9.1/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console single_arch" 'QMAKE_LIBDIR += /opt/qt/qt5.9.1arm/lib' 'INCLUDEPATH += /opt/qt/qt5.9.1arm/include' -early "CONFIG += cross_compile" 'LIBS += -lfontconfig -lfreetype' 'INCLUDEPATH *= /opt/qt/qt5.9.1arm/include/freetype2' /opt/qt/qt5.9.1arm_source/qt5.9.1/qtbase/config.tests/unix/fontconfig
    + cd /opt/qt/qt5.9.1arm_source/qt5.9.1/config.tests/unix/fontconfig && MAKEFLAGS= /usr/bin/make clean && MAKEFLAGS= /usr/bin/make
    > rm -f fontconfig.o
    > rm -f *~ core *.core
    > arm-hisiv300-linux-g++ -c -pipe -O2 -march=armv7-a -mcpu=cortex-a9 -std=gnu++11 -Wall -W -fPIC  -I/opt/qt/qt5.9.1arm_source/qt5.9.1/qtbase/config.tests/unix/fontconfig -I. -I/opt/qt/qt5.9.1arm/include/freetype2 -I/opt/qt/qt5.9.1arm/include -I/opt/qt/qt5.9.1arm/include -I/opt/qt/qt5.9.1arm_source/qt5.9.1/qtbase/mkspecs/linux-hi3520d-g++ -o fontconfig.o /opt/qt/qt5.9.1arm_source/qt5.9.1/qtbase/config.tests/unix/fontconfig/fontconfig.cpp
    > /opt/qt/qt5.9.1arm_source/qt5.9.1/qtbase/config.tests/unix/fontconfig/fontconfig.cpp: In function ‘int main(int, char**)’:
    > /opt/qt/qt5.9.1arm_source/qt5.9.1/qtbase/config.tests/unix/fontconfig/fontconfig.cpp:54:13: warning: variable ‘face’ set but not used [-Wunused-but-set-variable]
    >      FT_Face face;
    >              ^
    > /opt/qt/qt5.9.1arm_source/qt5.9.1/qtbase/config.tests/unix/fontconfig/fontconfig.cpp:56:16: warning: variable ‘pattern’ set but not used [-Wunused-but-set-variable]
    >      FcPattern *pattern;
    >                 ^
    > arm-hisiv300-linux-g++ -Wl,-O1 -o fontconfig fontconfig.o   -L/opt/qt/qt5.9.1arm/lib -lfontconfig -lfreetype 
    > /opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: warning: libexpat.so.1, needed by /opt/qt/qt5.9.1arm/lib/libfontconfig.so, not found (try using -rpath or -rpath-link)
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_ParserCreate'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_GetErrorCode'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_SetUserData'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_SetDoctypeDeclHandler'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_ParseBuffer'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_GetCurrentLineNumber'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_ErrorString'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_ParserFree'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_SetElementHandler'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_GetBuffer'
    > /opt/qt/qt5.9.1arm/lib/libfontconfig.so: undefined reference to `XML_SetCharacterDataHandler'
    > collect2: error: ld returned 1 exit status
    > Makefile:66: recipe for target 'fontconfig' failed
    > make: *** [fontconfig] Error 1
     => source failed verification.
    test config.gui.libraries.fontconfig FAILED
    

    Why fontconfig is not able to find libexpat which is cross-compiled and installed in the same prefix ?

    I have also tried exporting LD_LIBRARY_PATH and PKG_CONFIG_PATH during the cross compilation of all the packages mentioned above. I will be happy to give you more details.
    Thank you for your time.

    1 Reply Last reply
    0
    • K Offline
      K Offline
      Kart
      wrote on 5 Oct 2017, 05:12 last edited by Kart 10 May 2017, 05:13
      #2

      I was able to solve the problem where fontconfig was not able to find libexpat by adding the following in my xplatform qmake.conf

      QMAKE_LINK = $HOST-g++ -lts -L/opt/qt/qt5.9.1arm/lib -Wl,-rpath -Wl,/opt/qt/qt5.9.1arm/lib
      
      QMAKE_LINK_SHLIB= $HOST-g++ -lts -L/opt/qt/qt5.9.1arm/lib -Wl,-rpath -Wl,/opt/qt/qt5.9.1arm/lib
      
      1 Reply Last reply
      2

      2/2

      5 Oct 2017, 05:12

      • Login

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