[sane-devel] Ubuntu 16.04 LTS cannot build recent Genesys backend
Olaf Meeuwissen
paddy-hack at member.fsf.org
Mon Aug 19 14:08:55 BST 2019
Hi Rolf,
Rolf Bensch writes:
> Hi Povilas,
>
> I just mentioned that your last work cannot be built from Ubuntu 16.04 LTS.
>
> This is the error message from Launchpad
> (https://launchpadlibrarian.net/437734018/buildlog_ubuntu-xenial-amd64.sane-backends_1.0.28+git20190817-xenial0_BUILDING.txt.gz):
>
> genesys.cc: In function ‘void sanei_genesys_calculate_zmod(SANE_Bool, uint32_t, const std::vector<short unsigned int>&, unsigned int, unsigned int, unsigned int, uint32_t*, uint32_t*)’:
> genesys.cc:1251:49: error: wrong number of template arguments (0, should be 1)
> 0, std::plus<>());
The std::accumulate is iterating of slope_table which is declared as
const std::vector<uint16_t>& slope_table
in the function's argument list so you'd need
std::plus<uint16_t>
> I get the same error if I switch to '-std=c++11' and / or build SANE in
> a Xenial VM. It seems to be a problem with 'old' gcc 5.x libraries.
GCC 5.x is *old* but seeing that Ubuntu supports Xenial for five years,
i.e. until 2021, I guess we need to fix this. Newer compiler version
are able to make the same inference as I did above by themselves.
> Please fix this or give me a hint for additional compiler options.
Just pushed 5e74e1b7940e32b2a6f387410755149d21672a4f to fix this. There
are no other occurences of <> in any of the C++ code.
> Many thanks in advance.
You're welcome.
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