Build failure in solid, udev related

Kevin Ottens ervin+bluesystems at kde.org
Sat May 25 11:24:53 UTC 2013


On Saturday 25 May 2013 11:34:27 Alexander Neundorf wrote:
> On Saturday 25 May 2013, Kevin Ottens wrote:
> > On Friday 24 May 2013 23:15:10 Alexander Neundorf wrote:
> > > On Thursday 23 May 2013, Alexander Neundorf wrote:
> > > > On Thursday 23 May 2013, Alexander Neundorf wrote:
> > > > > Hi,
> > > > > 
> > > > > it seems I finally got a working Qt install :-)
> > > > > 
> > > > > 
> > > > > [  7%] Building CXX object
> > > > > tier1/solid/src/solid/CMakeFiles/Solid.dir/backends/shared/udevqtdev
> > > > > i
> > > > > ce. c
> > > > > pp .o tier1/solid/src/solid/backends/shared/udevqtdevice.cpp: In
> > > > > member function 'QStringList UdevQt::Device::sysfsProperties()
> > > > > const':
> > > > > tier1/solid/src/solid/backends/shared/udevqtdevice.cpp:205:72:
> > > > > error: 'udev_device_get_sysattr_list_entry' was not declared in this
> > > > > scope tier1/solid/src/solid/backends/shared/udevqtdevice.cpp:206:1:
> > > > > error: control reaches end of non-void function
> > > > > make[2]: ***
> > > > > [tier1/solid/src/solid/CMakeFiles/Solid.dir/backends/shared/udevqtde
> > > > > v
> > > > > ice .
> > > > > cp p.o] Error 1
> > > > > make[1]: *** [tier1/solid/src/solid/CMakeFiles/Solid.dir/all] Error
> > > > > 2
> > > > > 
> > > > > 
> > > > > Some udev version check missing or what is going wrong here ?
> > > > 
> > > > This is on Slackware 13.37, udev 0.10.0.
> > > 
> > > Ok. My udev version is 165.
> > > udev_device_get_sysattr_list_entry() (and udev_get_run_path(), but solid
> > > doesn't use that) was added in version 167.
> > > 
> > > libudev.h does not seem to have a function for querying the version, at
> > > least I didn't find any in libudev.h.
> > > 
> > > I think I'll add a check whether udev_device_get_sysattr_list_entry() is
> > > available.
> > > What to do if not ?
> > > Error out, and make it a hard dependency, or just have the function
> > > QStringList Device::sysfsProperties() return an empty list if the
> > > function is not available ?
> > 
> > I think it's fine to error out in that case.
> 
> what would be the consequences of Device::sysfsProperties() returning an
> empty list ?
> It'd be nice if Solid would still work with my system as it is, without
> requiring me to update libudev, which sounds a bit scary to me.
> Slackware 13.37 is not completely recent, but also not too old (around 2
> years).

You got an opinion, so why did you ask it as an open question in the first 
place then? :-)

Anyway, you'd list devices with no properties and I'm pretty sure it won't be 
nice for applications. Now if you prefer you could compile out the whole udev 
backend on systems which have a too old udev. But compiling it in with a 
broken behavior is a no go.

Regards.
-- 
Kévin Ottens, http://ervin.ipsquad.net

Sponsored by BlueSystems and KDAB to work on KDE Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20130525/7f2c294f/attachment.sig>


More information about the Kde-frameworks-devel mailing list