[QtonPi] Problem with bakeqtpi.bash script for Qt5 compilation

Niels Mayer nielsmayer at gmail.com
Mon Sep 3 23:18:28 CEST 2012


http://qt-project.org/wiki/RaspberryPi_Beginners_guide suggested I compile
qt5 with a script:
https://gist.github.com/raw/3488286/d1d301946297be999d96df632a0ad0095a4d77e7/bakeqtpi.bash

However, it dies part-way through the compilation with the following (this
is on my trusty Lenovo s103t netbook still running
http://wiki.meego.com/MeeGo-Lem a MeeGo 1.2 / Fedora 14 32 bit hybrid...):

............................
/home/npm/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++
-Wl,-rpath-link,/mnt/rasp-pi-rootfs/opt/vc/lib
-Wl,-rpath-link,/mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf
-Wl,-rpath-link,/mnt/rasp-pi-rootfs/lib/arm-linux-gnueabihf
--sysroot=/mnt/rasp-pi-rootfs -Wl,--no-undefined -Wl,--no-undefined -Wl,-O1
-Wl,-rpath,/usr/local/src/qt5/opt/qt5/qtbase/lib -shared -o libqeglfs.so
.obj/release-shared/main.o .obj/release-shared/qeglfsintegration.o
.obj/release-shared/qeglfswindow.o .obj/release-shared/qeglfsbackingstore.o
.obj/release-shared/qeglfsscreen.o .obj/release-shared/qeglfshooks_stub.o
.obj/release-shared/qeglfscursor.o .obj/release-shared/qeglfscontext.o
.obj/release-shared/qeglfshooks_pi.o .obj/release-shared/qrc_cursor.o
 -L/mnt/rasp-pi-rootfs/opt/vc/lib -lbcm_host
-L/usr/local/src/qt5/opt/qt5/qtbase/lib -lQtPlatformSupport -lfontconfig
-lfreetype -lQtGui -lQtCore -lGLESv2 -lpthread -lEGL -lGLESv2
/usr/local/src/qt5/opt/qt5/qtbase/lib/libQtPlatformSupport.a(qdevicediscovery_udev.o):
In function
`QDeviceDiscovery::QDeviceDiscovery(QFlags<QDeviceDiscovery::QDeviceType>,
udev*, QObject*)':
qdevicediscovery_udev.cpp:(.text+0xfc): undefined reference to
`udev_monitor_new_from_netlink'
qdevicediscovery_udev.cpp:(.text+0x118): undefined reference to
`udev_monitor_filter_add_match_subsystem_devtype'
qdevicediscovery_udev.cpp:(.text+0x12c): undefined reference to
`udev_monitor_filter_add_match_subsystem_devtype'
qdevicediscovery_udev.cpp:(.text+0x134): undefined reference to
`udev_monitor_enable_receiving'
qdevicediscovery_udev.cpp:(.text+0x13c): undefined reference to
`udev_monitor_get_fd'
/usr/local/src/qt5/opt/qt5/qtbase/lib/libQtPlatformSupport.a(qdevicediscovery_udev.o):
In function
`QDeviceDiscovery::create(QFlags<QDeviceDiscovery::QDeviceType>, QObject*)':
qdevicediscovery_udev.cpp:(.text+0x1c8): undefined reference to `udev_new'
/usr/local/src/qt5/opt/qt5/qtbase/lib/libQtPlatformSupport.a(qdevicediscovery_udev.o):
In function `QDeviceDiscovery::~QDeviceDiscovery()':
qdevicediscovery_udev.cpp:(.text+0x280): undefined reference to
`udev_monitor_unref'
qdevicediscovery_udev.cpp:(.text+0x290): undefined reference to `udev_unref'
/usr/local/src/qt5/opt/qt5/qtbase/lib/libQtPlatformSupport.a(qdevicediscovery_udev.o):
In function `QDeviceDiscovery::scanConnectedDevices()':
qdevicediscovery_udev.cpp:(.text+0x2f8): undefined reference to
`udev_enumerate_new'
qdevicediscovery_udev.cpp:(.text+0x308): undefined reference to
`udev_enumerate_add_match_subsystem'
qdevicediscovery_udev.cpp:(.text+0x318): undefined reference to
`udev_enumerate_add_match_subsystem'
qdevicediscovery_udev.cpp:(.text+0x34c): undefined reference to
`udev_enumerate_scan_devices'
qdevicediscovery_udev.cpp:(.text+0x368): undefined reference to
`udev_enumerate_get_list_entry'
qdevicediscovery_udev.cpp:(.text+0x3b8): undefined reference to
`udev_list_entry_get_next'
qdevicediscovery_udev.cpp:(.text+0x3c8): undefined reference to
`udev_list_entry_get_name'
qdevicediscovery_udev.cpp:(.text+0x3d4): undefined reference to
`udev_device_new_from_syspath'
qdevicediscovery_udev.cpp:(.text+0x3dc): undefined reference to
`udev_device_get_devnode'
qdevicediscovery_udev.cpp:(.text+0x418): undefined reference to
`udev_device_unref'
qdevicediscovery_udev.cpp:(.text+0x43c): undefined reference to
`udev_list_entry_get_next'
qdevicediscovery_udev.cpp:(.text+0x44c): undefined reference to
`udev_enumerate_unref'
qdevicediscovery_udev.cpp:(.text+0x4dc): undefined reference to
`udev_enumerate_add_match_property'
qdevicediscovery_udev.cpp:(.text+0x4f8): undefined reference to
`udev_enumerate_add_match_property'
qdevicediscovery_udev.cpp:(.text+0x518): undefined reference to
`udev_enumerate_add_match_property'
qdevicediscovery_udev.cpp:(.text+0x538): undefined reference to
`udev_enumerate_add_match_property'
qdevicediscovery_udev.cpp:(.text+0x558): undefined reference to
`udev_enumerate_add_match_property'
/usr/local/src/qt5/opt/qt5/qtbase/lib/libQtPlatformSupport.a(qdevicediscovery_udev.o):
In function `QDeviceDiscovery::checkDeviceType(udev_device*)':
qdevicediscovery_udev.cpp:(.text+0x608): undefined reference to
`udev_device_get_property_value'
qdevicediscovery_udev.cpp:(.text+0x62c): undefined reference to
`udev_device_get_sysattr_value'
qdevicediscovery_udev.cpp:(.text+0x778): undefined reference to
`udev_device_get_property_value'
qdevicediscovery_udev.cpp:(.text+0x7a8): undefined reference to
`udev_device_get_property_value'
qdevicediscovery_udev.cpp:(.text+0x7e0): undefined reference to
`udev_device_get_property_value'
qdevicediscovery_udev.cpp:(.text+0x80c): undefined reference to
`udev_device_get_property_value'
qdevicediscovery_udev.cpp:(.text+0x860): undefined reference to
`udev_device_get_subsystem'
/usr/local/src/qt5/opt/qt5/qtbase/lib/libQtPlatformSupport.a(qdevicediscovery_udev.o):
In function `QDeviceDiscovery::handleUDevNotification()':
qdevicediscovery_udev.cpp:(.text+0x8f4): undefined reference to
`udev_monitor_receive_device'
qdevicediscovery_udev.cpp:(.text+0x900): undefined reference to
`udev_device_get_action'
qdevicediscovery_udev.cpp:(.text+0x910): undefined reference to
`udev_device_get_devnode'
qdevicediscovery_udev.cpp:(.text+0x9c0): undefined reference to
`udev_device_get_parent_with_subsystem_devtype'
qdevicediscovery_udev.cpp:(.text+0xa20): undefined reference to
`udev_device_unref'
collect2: error: ld returned 1 exit status
make[4]: *** [../../../../plugins/platforms/libqeglfs.so] Error 1
make[4]: Leaving directory
`/usr/local/src/qt5/opt/qt5/qtbase/src/plugins/platforms/eglfs'
make[3]: *** [sub-eglfs-make_first] Error 2
make[3]: Leaving directory
`/usr/local/src/qt5/opt/qt5/qtbase/src/plugins/platforms'
make[2]: *** [sub-platforms-make_first] Error 2
make[2]: Leaving directory `/usr/local/src/qt5/opt/qt5/qtbase/src/plugins'
make[1]: *** [sub-plugins-make_first] Error 2
make[1]: Leaving directory `/usr/local/src/qt5/opt/qt5/qtbase/src'
make: *** [sub-src-make_first] Error 2
Make failed for QTBase
............................

Any suggestions?


Prior, I also tried the pre-compiled solution:

On Tue, Aug 28, 2012 at 7:49 PM, Daniel Bittencourt <danielcbit at gmail.com>
wrote:
http://rasppi.linux4us.org/qt5pi.tar.gz
http://rasppi.linux4us.org/qt5pi.tar.gz.md5sum

But on a 32bit system I get:
meegolem-104-.../qt5/qt5-raspberrypi-example> /usr/local/qt5pi/bin/qmake
     /usr/local/qt5pi/bin/qmake: Exec format error. Wrong Architecture.

And on a 64 bit system:
gnulem-31-.../local/qt5pi> bin/qmake
bin/qmake: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by
bin/qmake)

Which is why I decided to build my own -- and hoped the script would help
make it easy.

-- Niels
http://www.nielsmayer.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qtonpi/attachments/20120903/5576c6b8/attachment-0001.html 


More information about the QtonPi mailing list