QT 5.12.4, qtdeclarative qml.pro Project ERROR: Library 'libdl' is not defined. linux-beagleboard-g++



  • Hi,

    Over a very long process almost to the end I an getting this. literraly cannot get over it.

    The error at the end of make-ing

    make[5]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg/src/plugins/iconengines/svgiconengine'
    make[4]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg/src/plugins/iconengines'
    make[3]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg/src/plugins'
    make[2]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg/src'
    make[1]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg'
    cd qtdeclarative/ && ( test -e Makefile || /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile /BOARDS/QTFTF/qt5/qtdeclarative/qtdeclarative.pro ) && make -f Makefile 
    make[1]: Entering directory '/BOARDS/QTFTF/qt5/qtdeclarative'
    cd src/ && ( test -e Makefile || /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile /BOARDS/QTFTF/qt5/qtdeclarative/src/src.pro ) && make -f Makefile 
    make[2]: Entering directory '/BOARDS/QTFTF/qt5/qtdeclarative/src'
    cd qml/ && ( test -e Makefile || /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile /BOARDS/QTFTF/qt5/qtdeclarative/src/qml/qml.pro ) && make -f Makefile 
    Project MESSAGE:  LIBRARY:[/BOARDS/QTFTF/ROOTFS/usr/lib /BOARDS/QTFTF/ROOTFS/usr/lib/arm-linux-gnueabihf]
    Project MESSAGE: perl -w /BOARDS/QTFTF/qt5/qtbase/bin/syncqt.pl -module QtQml -version 5.12.5 -outdir /BOARDS/QTFTF/qt5/qtdeclarative -builddir /BOARDS/QTFTF/qt5/qtdeclarative /BOARDS/QTFTF/qt5/qtdeclarative
    <srcbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <bldbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <outbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    Project ERROR: Library 'libdl' is not defined.
    Makefile:54: recipe for target 'sub-qml-make_first-ordered' failed
    make[2]: *** [sub-qml-make_first-ordered] Error 3
    make[2]: Leaving directory '/BOARDS/QTFTF/qt5/qtdeclarative/src'
    Makefile:49: recipe for target 'sub-src-make_first' failed
    make[1]: *** [sub-src-make_first] Error 2
    make[1]: Leaving directory '/BOARDS/QTFTF/qt5/qtdeclarative'
    Makefile:299: recipe for target 'module-qtdeclarative-make_first' failed
    make: *** [module-qtdeclarative-make_first] Error 2
    
    

    I am extracting the error line during the make and execute it manually.

    Environment details:

    PATH

    /BOARDS/QTFTF/qt5$ echo $PATH
    /BOARDS/QTFTF/TC741/bin:/BOARDS/QTFTF/ROOTFS/lib/arm-linux-gnueabihf:/BOARDS/QTFTF/ROOTFS/usr/lib:/BOARDS/QTFTF/TC741/bin:/BOARDS/QTFTF/ROOTFS/lib/arm-linux-gnueabihf:/BOARDS/QTFTF/ROOTFS/usr/lib:/BOARDS/QTFTF/TC741/bin:=/BOARDS/QTFTF/ROOTFS/lib/arm-linux-gnueabihf:=/BOARDS/QTFTF/ROOTFS/usr/lib
    
    

    ROOTFS

    marius@pegpc:/BOARDS/QTFTF/qt5$ echo $ROOT_FS
    /BOARDS/QTFTF/ROOTFS
    
    

    libdl onto TC and ROOTFS

    lrwxrwxrwx 1 marius marius 46 Aug  6 15:18 ./ROOTFS/usr/lib/arm-linux-gnueabihf/libdl.so -> ../../../lib/arm-linux-gnueabihf/libdl-2.24.so
    lrwxrwxrwx 1 marius marius 43 Aug  6 15:17 ./ROOTFS/usr/lib/libdl.so -> ../../lib/arm-linux-gnueabihf/libdl-2.24.so
    lrwxrwxrwx 1 marius marius 20 Jan 22  2019 ./TC741/arm-linux-gnueabihf/libc/usr/lib/libdl.so -> ../../lib/libdl.so.2
    marius@pegpc:/BOARDS/QTFTF$ ls -la ./TC741/arm-linux-gnueabihf/libc/usr/lib/libdl.so 
    lrwxrwxrwx 1 marius marius 20 Jan 22  2019 ./TC741/arm-linux-gnueabihf/libc/usr/lib/libdl.so -> ../../lib/libdl.so.2
    marius@pegpc:/BOARDS/QTFTF$ ls -la ./ROOTFS/usr/lib/libdl.so 
    lrwxrwxrwx 1 marius marius 43 Aug  6 15:17 ./ROOTFS/usr/lib/libdl.so -> ../../lib/arm-linux-gnueabihf/libdl-2.24.so
    marius@pegpc:/BOARDS/QTFTF$ ls -la  ./ROOTFS/usr/lib/arm-linux-gnueabihf/libdl.so 
    lrwxrwxrwx 1 marius marius 46 Aug  6 15:18 ./ROOTFS/usr/lib/arm-linux-gnueabihf/libdl.so -> ../../../lib/arm-linux-gnueabihf/libdl-2.24.so
    marius@pegpc:/BOARDS/QTFTF$ 
    
    

    Looks all good !

    Then manually trying to qmake

    cd /BOARDS/QTFTF/qt5/qtdeclarative/src/qml
    /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile ./qml.pro
    Project MESSAGE:  LIBRARY:[/BOARDS/QTFTF/ROOTFS/usr/lib /BOARDS/QTFTF/ROOTFS/usr/lib/arm-linux-gnueabihf]
    Project MESSAGE: perl -w /BOARDS/QTFTF/qt5/qtbase/bin/syncqt.pl -module QtQml -version 5.12.5 -outdir /BOARDS/QTFTF/qt5/qtdeclarative -builddir /BOARDS/QTFTF/qt5/qtdeclarative /BOARDS/QTFTF/qt5/qtdeclarative
    <srcbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <bldbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <outbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    Project ERROR: Library 'libdl' is not defined.
    
    

    I quite tweaked the qml.pro @ *declaratives/src/qml

    # mco-mco
    LIBS += $$(ROOT_FS)/usr/lib
    LIBS += $$(ROOT_FS)/usr/lib/arm-linux-gnueabihf
    
    message("----------------------------------------------------")
    message(" ROOTFS: [$$(ROOT_FS)]")
    message(" LIBRARY: [$$LIBS]")
    
    
    exists( $(ROOT_FS)/usr/lib/libdl.so ) {
          message( "found libdl in $(ROOT_FS)/usr/lib/" )
    }
    
    

    The attempt to generate the Makefile

    /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile ./qml.pro
    Project MESSAGE: ----------------------------------------------------
    Project MESSAGE:  ROOTFS: [/BOARDS/QTFTF/ROOTFS]
    Project MESSAGE:  LIBRARY: [/BOARDS/QTFTF/ROOTFS/usr/lib /BOARDS/QTFTF/ROOTFS/usr/lib/arm-linux-gnueabihf]
    Project MESSAGE: found libdl in /BOARDS/QTFTF/ROOTFS/usr/lib/ <=
    Project MESSAGE: perl -w /BOARDS/QTFTF/qt5/qtbase/bin/syncqt.pl -module QtQml -version 5.12.5 -outdir /BOARDS/QTFTF/qt5/qtdeclarative -builddir /BOARDS/QTFTF/qt5/qtdeclarative /BOARDS/QTFTF/qt5/qtdeclarative
    <srcbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <bldbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <outbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    Project ERROR: Library 'libdl' is not defined. <<<=====
    
    

    Tough the symbolic link is well alive

    marius@pegpc:/BOARDS/QTFTF/qt5/qtdeclarative/src/qml$ ls -la /BOARDS/QTFTF/ROOTFS/usr/lib/libdl.so 
    lrwxrwxrwx 1 marius marius 43 Aug  6 15:17 /BOARDS/QTFTF/ROOTFS/usr/lib/libdl.so -> ../../lib/arm-linux-gnueabihf/libdl-2.24.so
    marius@pegpc:/BOARDS/QTFTF/qt5/qtdeclarative/src/qml$ readelf -h /BOARDS/QTFTF/ROOTFS/usr/lib/libdl.so
    ELF Header:
      Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
      Class:                             ELF32
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              DYN (Shared object file)
      Machine:                           ARM
      Version:                           0x1
      Entry point address:               0x960
      Start of program headers:          52 (bytes into file)
      Start of section headers:          8684 (bytes into file)
      Flags:                             0x5000400, Version5 EABI, hard-float ABI
      Size of this header:               52 (bytes)
      Size of program headers:           32 (bytes)
      Number of program headers:         6
      Size of section headers:           40 (bytes)
      Number of section headers:         28
      Section header string table index: 27
    
    

    Any help is appreciated.

    The configure command:

    ./configure -platform  linux-g++  --enable-shared --enable-static -opengl es2  -device linux-beagleboard-g++ -device-option CROSS_COMPILE=$BBB_TC -sysroot $ROOT_FS -opensource -confirm-license -make libs -prefix $ROOT_FS -extprefix $ROOT_FS -hostprefix $ROOT_FS -v -no-gbm -skip qtserialbus -skip qtscxml -skip qtscript -skip qtcharts -skip qt3d -skip qtdatavis3d -skip qtcanvas3d -skip qtgamepad -skip qtvirtualkeyboard -skip qtwayland -skip qtwebengine -skip qtwebchannel -skip qtwebglplugin -recheck-all -no-qml-debug -nomake examples -nomake tests -no-pulseaudio -no-alsa
    
    
    


  • @comarius said in QT 5.12.4, qtdeclarative qml.pro Project ERROR: Library 'libdl' is not defined. linux-beagleboard-g++:

    Hi,

    Over a very long process almost to the end I an getting this. literraly cannot get over it.

    The error at the end of make-ing

    make[5]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg/src/plugins/iconengines/svgiconengine'
    make[4]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg/src/plugins/iconengines'
    make[3]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg/src/plugins'
    make[2]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg/src'
    make[1]: Leaving directory '/BOARDS/QTFTF/qt5/qtsvg'
    cd qtdeclarative/ && ( test -e Makefile || /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile /BOARDS/QTFTF/qt5/qtdeclarative/qtdeclarative.pro ) && make -f Makefile 
    make[1]: Entering directory '/BOARDS/QTFTF/qt5/qtdeclarative'
    cd src/ && ( test -e Makefile || /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile /BOARDS/QTFTF/qt5/qtdeclarative/src/src.pro ) && make -f Makefile 
    make[2]: Entering directory '/BOARDS/QTFTF/qt5/qtdeclarative/src'
    cd qml/ && ( test -e Makefile || /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile /BOARDS/QTFTF/qt5/qtdeclarative/src/qml/qml.pro ) && make -f Makefile 
    Project MESSAGE:  LIBRARY:[/BOARDS/QTFTF/ROOTFS/usr/lib /BOARDS/QTFTF/ROOTFS/usr/lib/arm-linux-gnueabihf]
    Project MESSAGE: perl -w /BOARDS/QTFTF/qt5/qtbase/bin/syncqt.pl -module QtQml -version 5.12.5 -outdir /BOARDS/QTFTF/qt5/qtdeclarative -builddir /BOARDS/QTFTF/qt5/qtdeclarative /BOARDS/QTFTF/qt5/qtdeclarative
    <srcbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <bldbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <outbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    Project ERROR: Library 'libdl' is not defined.
    Makefile:54: recipe for target 'sub-qml-make_first-ordered' failed
    make[2]: *** [sub-qml-make_first-ordered] Error 3
    make[2]: Leaving directory '/BOARDS/QTFTF/qt5/qtdeclarative/src'
    Makefile:49: recipe for target 'sub-src-make_first' failed
    make[1]: *** [sub-src-make_first] Error 2
    make[1]: Leaving directory '/BOARDS/QTFTF/qt5/qtdeclarative'
    Makefile:299: recipe for target 'module-qtdeclarative-make_first' failed
    make: *** [module-qtdeclarative-make_first] Error 2
    
    

    I am extracting the error line during the make and execute it manually.

    Environment details:

    PATH

    /BOARDS/QTFTF/qt5$ echo $PATH
    /BOARDS/QTFTF/TC741/bin:/BOARDS/QTFTF/ROOTFS/lib/arm-linux-gnueabihf:/BOARDS/QTFTF/ROOTFS/usr/lib:/BOARDS/QTFTF/TC741/bin:/BOARDS/QTFTF/ROOTFS/lib/arm-linux-gnueabihf:/BOARDS/QTFTF/ROOTFS/usr/lib:/BOARDS/QTFTF/TC741/bin:=/BOARDS/QTFTF/ROOTFS/lib/arm-linux-gnueabihf:=/BOARDS/QTFTF/ROOTFS/usr/lib
    
    

    ROOTFS

    marius@pegpc:/BOARDS/QTFTF/qt5$ echo $ROOT_FS
    /BOARDS/QTFTF/ROOTFS
    
    

    libdl onto TC and ROOTFS

    lrwxrwxrwx 1 marius marius 46 Aug  6 15:18 ./ROOTFS/usr/lib/arm-linux-gnueabihf/libdl.so -> ../../../lib/arm-linux-gnueabihf/libdl-2.24.so
    lrwxrwxrwx 1 marius marius 43 Aug  6 15:17 ./ROOTFS/usr/lib/libdl.so -> ../../lib/arm-linux-gnueabihf/libdl-2.24.so
    lrwxrwxrwx 1 marius marius 20 Jan 22  2019 ./TC741/arm-linux-gnueabihf/libc/usr/lib/libdl.so -> ../../lib/libdl.so.2
    marius@pegpc:/BOARDS/QTFTF$ ls -la ./TC741/arm-linux-gnueabihf/libc/usr/lib/libdl.so 
    lrwxrwxrwx 1 marius marius 20 Jan 22  2019 ./TC741/arm-linux-gnueabihf/libc/usr/lib/libdl.so -> ../../lib/libdl.so.2
    marius@pegpc:/BOARDS/QTFTF$ ls -la ./ROOTFS/usr/lib/libdl.so 
    lrwxrwxrwx 1 marius marius 43 Aug  6 15:17 ./ROOTFS/usr/lib/libdl.so -> ../../lib/arm-linux-gnueabihf/libdl-2.24.so
    marius@pegpc:/BOARDS/QTFTF$ ls -la  ./ROOTFS/usr/lib/arm-linux-gnueabihf/libdl.so 
    lrwxrwxrwx 1 marius marius 46 Aug  6 15:18 ./ROOTFS/usr/lib/arm-linux-gnueabihf/libdl.so -> ../../../lib/arm-linux-gnueabihf/libdl-2.24.so
    marius@pegpc:/BOARDS/QTFTF$ 
    
    

    Looks all good !

    Then manually trying to qmake

    cd /BOARDS/QTFTF/qt5/qtdeclarative/src/qml
    /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile ./qml.pro
    Project MESSAGE:  LIBRARY:[/BOARDS/QTFTF/ROOTFS/usr/lib /BOARDS/QTFTF/ROOTFS/usr/lib/arm-linux-gnueabihf]
    Project MESSAGE: perl -w /BOARDS/QTFTF/qt5/qtbase/bin/syncqt.pl -module QtQml -version 5.12.5 -outdir /BOARDS/QTFTF/qt5/qtdeclarative -builddir /BOARDS/QTFTF/qt5/qtdeclarative /BOARDS/QTFTF/qt5/qtdeclarative
    <srcbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <bldbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <outbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    Project ERROR: Library 'libdl' is not defined.
    
    

    I quite tweaked the qml.pro @ *declaratives/src/qml

    # mco-mco
    LIBS += $$(ROOT_FS)/usr/lib
    LIBS += $$(ROOT_FS)/usr/lib/arm-linux-gnueabihf
    
    message("----------------------------------------------------")
    message(" ROOTFS: [$$(ROOT_FS)]")
    message(" LIBRARY: [$$LIBS]")
    
    
    exists( $(ROOT_FS)/usr/lib/libdl.so ) {
          message( "found libdl in $(ROOT_FS)/usr/lib/" )
    }
    
    

    The attempt to generate the Makefile

    /BOARDS/QTFTF/qt5/qtbase/bin/qmake -o Makefile ./qml.pro
    Project MESSAGE: ----------------------------------------------------
    Project MESSAGE:  ROOTFS: [/BOARDS/QTFTF/ROOTFS]
    Project MESSAGE:  LIBRARY: [/BOARDS/QTFTF/ROOTFS/usr/lib /BOARDS/QTFTF/ROOTFS/usr/lib/arm-linux-gnueabihf]
    Project MESSAGE: found libdl in /BOARDS/QTFTF/ROOTFS/usr/lib/ <=
    Project MESSAGE: perl -w /BOARDS/QTFTF/qt5/qtbase/bin/syncqt.pl -module QtQml -version 5.12.5 -outdir /BOARDS/QTFTF/qt5/qtdeclarative -builddir /BOARDS/QTFTF/qt5/qtdeclarative /BOARDS/QTFTF/qt5/qtdeclarative
    <srcbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <bldbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    <outbase> = /BOARDS/QTFTF/qt5/qtdeclarative 
    Project ERROR: Library 'libdl' is not defined. <<<=====
    
    

    Tough the symbolic link is well alive

    marius@pegpc:/BOARDS/QTFTF/qt5/qtdeclarative/src/qml$ ls -la /BOARDS/QTFTF/ROOTFS/usr/lib/libdl.so 
    lrwxrwxrwx 1 marius marius 43 Aug  6 15:17 /BOARDS/QTFTF/ROOTFS/usr/lib/libdl.so -> ../../lib/arm-linux-gnueabihf/libdl-2.24.so
    marius@pegpc:/BOARDS/QTFTF/qt5/qtdeclarative/src/qml$ readelf -h /BOARDS/QTFTF/ROOTFS/usr/lib/libdl.so
    ELF Header:
      Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
      Class:                             ELF32
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              DYN (Shared object file)
      Machine:                           ARM
      Version:                           0x1
      Entry point address:               0x960
      Start of program headers:          52 (bytes into file)
      Start of section headers:          8684 (bytes into file)
      Flags:                             0x5000400, Version5 EABI, hard-float ABI
      Size of this header:               52 (bytes)
      Size of program headers:           32 (bytes)
      Number of program headers:         6
      Size of section headers:           40 (bytes)
      Number of section headers:         28
      Section header string table index: 27
    
    

    Any help is appreciated.

    The configure command:

    ./configure -platform  linux-g++  --enable-shared --enable-static -opengl es2  -device linux-beagleboard-g++ -device-option CROSS_COMPILE=$BBB_TC -sysroot $ROOT_FS -opensource -confirm-license -make libs -prefix $ROOT_FS -extprefix $ROOT_FS -hostprefix $ROOT_FS -v -no-gbm -skip qtserialbus -skip qtscxml -skip qtscript -skip qtcharts -skip qt3d -skip qtdatavis3d -skip qtcanvas3d -skip qtgamepad -skip qtvirtualkeyboard -skip qtwayland -skip qtwebengine -skip qtwebchannel -skip qtwebglplugin -recheck-all -no-qml-debug -nomake examples -nomake tests -no-pulseaudio -no-alsa
    
    
    

    I hack it. See it at
    https://comarius.blogspot.com/2019/07/beaglebone-black-egl-and-open-gl.html



  • RESOLVED.

    The cross compiler way was a completely utterly mess and a waste of time.
    I switched to chroot into the SDcard Root IOT deian image and dit it from there. It went quite well.

    Here is the procedure.



  • @comarius glad you figured it out. Please don't forget to mark your post as solved. Thanks


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.