Ubuntu 16.04 LTS cannot build recent Genesys backend

Olaf Meeuwissen paddy-hack at member.fsf.org
Tue Sep 3 14:34:11 BST 2019

Hi Povilas, Rolf, list,

Povilas Kanapickas writes:

> Hi Rolf,
> Thanks for making me aware of this. I'll look into the issue.

@Rolf> Submitting an issue for this at GitLab would have been nice.

> Olaf: would it make sense to have a configuration with an older compiler
> toolchain to catch issues like this in the CI? There are Linux
> distributions with long support cycles, so I think it's useful to have
> some build testing for them. Concurrency is not currently a bottleneck
> on the CI, so the builds won't become longer.

It might make sense.  It really depends on how far back we want to keep
supporting things.  Ubuntu's oldest non-EOL'd LTS version, 16.04
(xenial), at the moment, seems like a reasonable target but I doubt we
should support much older than that.

# I don't mean to imply we won't fix stuff for older versions or other
# distributions.  This is only about what we will pro-actively target
# with our CI builds.
# BTW, these builds are GNU/Linux amd64/x86_64 only.

Our CI currently takes anywhere between 12 and 20 minutes or so.  Adding
a job to the compile stage is not expected to add much, if anything, to
that (assuming we get as many runners as we have jobs for that stage :-)
because those job run in parallel.

I've done some initial, local testing and there is more genesys stuff
that fails to compile on Ubuntu's Xenial than Rolf quotes below but they
seem to be related.  There are also a pile of [-Wunused-result] warnings
that we might want to fix, eventually, that are not related to the
genesys backend.

@Povilas> If you want Ubuntu 16.04 LTS added to the build, please submit
an issue (assigned to me), so I won't forget.  In the mean time, you
might want to set up a xenial build for yourself.

> On 9/2/19 5:14 PM, Rolf Bensch wrote:
>> Hi Povilas,
>> I just mentioned a new problem building genesys backend from Ubuntu
>> 16.04 LTS.
>> This is the error message from Launchpad
>> (https://launchpadlibrarian.net/439820893/buildlog_ubuntu-xenial-amd64.sane-backends_1.0.28+git20190901-xenial0_BUILDING.txt.gz):
>> /bin/bash ../libtool --silent  --tag=CXX   --mode=compile
>> x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../include/sane  -D_REENTRANT
>> -DPATH_SANE_CONFIG_DIR=/etc/sane.d 	  -DPATH_SANE_DATA_DIR=/usr/share
>> -DPATH_SANE_LOCK_DIR=/var/lock/sane 	  -DV_MAJOR=1 -DV_MINOR=0 -I. -I.
>> -I../include -I../include -I/usr/include/libusb-1.0
>> -DLIBDIR="\"/usr/lib/x86_64-linux-gnu/sane\""
>> -DDEB_DLL_LIBDIR="\"/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane\""
>> -DBACKEND_NAME=genesys  -Wall -Wextra -pedantic -std=gnu++11 -MT
>> libgenesys_la-genesys_gl846.lo -MD -MP -MF
>> .deps/libgenesys_la-genesys_gl846.Tpo -c -o
>> libgenesys_la-genesys_gl846.lo `test -f 'genesys_gl846.cc' || echo
>> './'`genesys_gl846.cc
>> genesys_gl846.cc: In function ‘SensorExposure
>> gl846_led_calibration(Genesys_Device*, const Genesys_Sensor&,
>> Genesys_Register_Set&)’:
>> genesys_gl846.cc:2005:37: error: could not convert ‘{exp[0], exp[1],
>> exp[2]}’ from ‘<brace-enclosed initializer list>’ to ‘SensorExposure’
>>      return { exp[0], exp[1], exp[2] };
>> Many thanks in advance for fixing this.

Hope this helps,
Olaf Meeuwissen, LPIC-2            FSF Associate Member since 2004-01-27
 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13  F43E B8A4 A88A F84A 2DD9
 Support Free Software                        https://my.fsf.org/donate
 Join the Free Software Foundation              https://my.fsf.org/join

More information about the sane-devel mailing list