Bug#822717: flann: FTBFS with GCC 6: call of overloaded 'abs(

Martin Michlmayr tbm at hpe.com
Tue Apr 26 18:36:36 UTC 2016


Package: flann
Version: 1.8.4-4.1
Severity: normal
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-6 gcc-6-overloaded-ambiguous

This package fails to build with GCC 6.  GCC 6 has not been released
yet, but will probably come out this week.

You can find GCC 6 in unstable (gcc-6).  To build with
GCC 6, you can set CC=gcc-6 CXX=g++-6 explicitly.

You may be able to find out more about this issue at
https://gcc.gnu.org/gcc-6/changes.html

> sbuild (Debian sbuild) 0.68.0 (15 Jan 2016) on dl580gen9-02.hlinux
...
>                  from /<<PKGBUILDDIR>>/src/cpp/flann/flann_cpp.cpp:30:
> /<<PKGBUILDDIR>>/src/cpp/flann/nn/ground_truth.h: In function 'void flann::find_nearest(const flann::Matrix<typename Distance::ElementType>&, typename Distance::ElementType*, size_t*, size_t, size_t, Distance)':
> /<<PKGBUILDDIR>>/src/cpp/flann/nn/ground_truth.h:45:44: warning: typedef 'ElementType' locally defined but not used [-Wunused-local-typedefs]
>      typedef typename Distance::ElementType ElementType;
>                                             ^~~~~~~~~~~
> In file included from /<<PKGBUILDDIR>>/src/cpp/flann/algorithms/all_indices.h:36:0,
>                  from /<<PKGBUILDDIR>>/src/cpp/flann/flann.hpp:45,
>                  from /<<PKGBUILDDIR>>/examples/flann_example.cpp:2:
> /<<PKGBUILDDIR>>/src/cpp/flann/algorithms/kdtree_index.h: In instantiation of 'void flann::KDTreeIndex<Distance>::addPointToTree(flann::KDTreeIndex<Distance>::NodePtr, int) [with Distance = flann::L2<float>; flann::KDTreeIndex<Distance>::NodePtr = flann::KDTreeIndex<flann::L2<float> >::Node*]':
> /<<PKGBUILDDIR>>/src/cpp/flann/algorithms/kdtree_index.h:154:35:   required from 'void flann::KDTreeIndex<Distance>::addPoints(const flann::Matrix<typename Distance::ElementType>&, float) [with Distance = flann::L2<float>; typename Distance::ElementType = float]'
> /<<PKGBUILDDIR>>/examples/flann_example.cpp:36:1:   required from here
> /<<PKGBUILDDIR>>/src/cpp/flann/algorithms/kdtree_index.h:666:39: error: call of overloaded 'abs(flann::KDTreeIndex<flann::L2<float> >::ElementType)' is ambiguous

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

>                  ElementType span = abs(point[i]-leaf_point[i]);
>                                     ~~~^~~~~~~~~~~~~~~~~~~~~~~~
> In file included from /usr/include/c++/6/cstdlib:75:0,
>                  from /usr/include/c++/6/ext/string_conversions.h:41,
>                  from /usr/include/c++/6/bits/basic_string.h:5402,
>                  from /usr/include/c++/6/string:52,
>                  from /<<PKGBUILDDIR>>/src/cpp/flann/flann.hpp:36,
>                  from /<<PKGBUILDDIR>>/examples/flann_example.cpp:2:
> /usr/include/stdlib.h:774:12: note: candidate: int abs(int)
>  extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
>             ^~~
> In file included from /usr/include/c++/6/ext/string_conversions.h:41:0,
>                  from /usr/include/c++/6/bits/basic_string.h:5402,
>                  from /usr/include/c++/6/string:52,
>                  from /<<PKGBUILDDIR>>/src/cpp/flann/flann.hpp:36,
>                  from /<<PKGBUILDDIR>>/examples/flann_example.cpp:2:
> /usr/include/c++/6/cstdlib:185:3: note: candidate: __int128 std::abs(__int128)
>    abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
>    ^~~
> /usr/include/c++/6/cstdlib:180:3: note: candidate: long long int std::abs(long long int)
>    abs(long long __x) { return __builtin_llabs (__x); }
>    ^~~
> /usr/include/c++/6/cstdlib:172:3: note: candidate: long int std::abs(long int)
>    abs(long __i) { return __builtin_labs(__i); }
>    ^~~
> [ 25%] Linking CXX static library ../../lib/libflann_cpp_s.a

-- 
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise



More information about the debian-science-maintainers mailing list