Planned maintenance has been done but it did not solve the problem. So work will continue on this and a new time for trying updates will be announced asap.

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