Building on RHEL6 fails

Archive of the non-categorized posts related to the QLC+ technical support.
Please do not create new threads here, instead, use the categories above !
Post Reply
zeuz

Trying to build qlcplus on RHEL6 using create-rpm.sh fails due to the required alsa-lib-devel (ALSA headers) version is newer or equal 1.0.23, while RHEL6 currently only has 1.0.22-3. I'm not sure about the differences, but if it were possible to loosen the build requirements somewhat to support RHEL6 (The newest version of THE rpm based Linux distribution)
After changing the spec file to allow 1.0.22-3, it fails due to many missing symbols udev_*
(libudev 147.2.46 and libudev-devel are installed and added as dependencies to the spec file):

~~~~~~
$ ./create-rpm.sh
[...]
g++ -m64 -Wl,-O1 -o test main.o hpmtest.o moc_hpmtest.o -L../src -lhotplugmonitor -ludev -lQtGui -lQtCore -lpthread
../src/libhotplugmonitor.a(hpmprivate-udev.o): In function `HPMPrivate::run()':
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:62: undefined reference to `udev_new()'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:65: undefined reference to `udev_monitor_new_from_netlink(udev*, char const*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:68: undefined reference to `udev_monitor_filter_add_match_subsystem_devtype(udev_monitor*, char const*, char const*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:76: undefined reference to `udev_monitor_enable_receiving(udev_monitor*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:84: undefined reference to `udev_monitor_get_fd(udev_monitor*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:104: undefined reference to `udev_monitor_receive_device(udev_monitor*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:107: undefined reference to `udev_device_get_action(udev_device*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:108: undefined reference to `udev_device_get_property_value(udev_device*, char const*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:109: undefined reference to `udev_device_get_property_value(udev_device*, char const*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:136: undefined reference to `udev_device_unref(udev_device*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:141: undefined reference to `udev_monitor_unref(udev_monitor*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:142: undefined reference to `udev_unref(udev*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:79: undefined reference to `udev_monitor_unref(udev_monitor*)'
/home/zeuz/rpmbuild/BUILD/qlcplus-4.4.0/hotplugmonitor/src/hpmprivate-udev.cpp:80: undefined reference to `udev_unref(udev*)'

~~~~~~
Massimo Callegari

Weird. Have you tried to distclean and build again or Google that around ?
All I can say is that I don't have a Red Hat. Back in 2002 I started using Linux with it, then I switched to Slackware, then Gentoo, then Knoppix and now Ubuntu.

So if anybody can fix the QLC+ RPM build script it would be great.
I can also publish it together with the other builds.

As for ALSA, no problem, the version required should be >= 1.0.16
Post Reply