Package: geoip
Version: 1.6.9-1
Severity: important
User: debian-...@lists.debian.org
Usertags: ftbfs-gcc-6 gcc-6-narrowing

This package fails to build with GCC 6.  GCC 6 has not been released
yet, but it's expected that GCC 6 will become the default compiler for
stretch.

Note that only the first error is reported; there might be more.  You
can find a snapshot of GCC 6 in experimental.  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.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
...
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
# Build the build script.
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -g 
debian/src/geoip-csv-to-dat.cpp -o debian/tmp/geoip-generator -lGeoIP \
        -I /<<PKGBUILDDIR>>/debian/tmp/usr/include/ -L 
/<<PKGBUILDDIR>>/debian/tmp/usr/lib/x86_64-linux-gnu/
debian/src/geoip-csv-to-dat.cpp: In member function 'void 
{anonymous}::dat_writer::write_trie({anonymous}::binary_trie&)':
debian/src/geoip-csv-to-dat.cpp:658:23: warning: narrowing conversion of 
'(it.__gnu_cxx::__normal_iterator<_Iterator, 
_Container>::operator-><{anonymous}::binary_trie::node*, 
std::vector<{anonymous}::binary_trie::node> >()->{anonymous}::binary_trie::node::edges[0] & 
255ul)' from '{anonymous}::binary_trie::edge_type {aka long unsigned int}' to 'uint8_t {aka unsigned char}' 
inside { } [-Wnarrowing]
    (it->edges[0]    ) & 0xFF,
    ~~~~~~~~~~~~~~~~~~~^~~~~~

debian/src/geoip-csv-to-dat.cpp:659:25: warning: narrowing conversion of 
'((it.__gnu_cxx::__normal_iterator<_Iterator, 
_Container>::operator-><{anonymous}::binary_trie::node*, 
std::vector<{anonymous}::binary_trie::node> >()->{anonymous}::binary_trie::node::edges[0] >> 8) 
& 255ul)' from '{anonymous}::binary_trie::edge_type {aka long unsigned int}' to 'uint8_t {aka unsigned char}' 
inside { } [-Wnarrowing]
    (it->edges[0] >>  8) & 0xFF,
    ~~~~~~~~~~~~~~~~~~~~~^~~~~~

debian/src/geoip-csv-to-dat.cpp:660:25: warning: narrowing conversion of 
'((it.__gnu_cxx::__normal_iterator<_Iterator, 
_Container>::operator-><{anonymous}::binary_trie::node*, 
std::vector<{anonymous}::binary_trie::node> >()->{anonymous}::binary_trie::node::edges[0] >> 
16) & 255ul)' from '{anonymous}::binary_trie::edge_type {aka long unsigned int}' to 'uint8_t {aka unsigned 
char}' inside { } [-Wnarrowing]
    (it->edges[0] >> 16) & 0xFF,
    ~~~~~~~~~~~~~~~~~~~~~^~~~~~

debian/src/geoip-csv-to-dat.cpp:661:23: warning: narrowing conversion of 
'(it.__gnu_cxx::__normal_iterator<_Iterator, 
_Container>::operator-><{anonymous}::binary_trie::node*, 
std::vector<{anonymous}::binary_trie::node> >()->{anonymous}::binary_trie::node::edges[1] & 
255ul)' from '{anonymous}::binary_trie::edge_type {aka long unsigned int}' to 'uint8_t {aka unsigned char}' 
inside { } [-Wnarrowing]
    (it->edges[1]    ) & 0xFF,
    ~~~~~~~~~~~~~~~~~~~^~~~~~

debian/src/geoip-csv-to-dat.cpp:662:25: warning: narrowing conversion of 
'((it.__gnu_cxx::__normal_iterator<_Iterator, 
_Container>::operator-><{anonymous}::binary_trie::node*, 
std::vector<{anonymous}::binary_trie::node> >()->{anonymous}::binary_trie::node::edges[1] >> 8) 
& 255ul)' from '{anonymous}::binary_trie::edge_type {aka long unsigned int}' to 'uint8_t {aka unsigned char}' 
inside { } [-Wnarrowing]
    (it->edges[1] >>  8) & 0xFF,
    ~~~~~~~~~~~~~~~~~~~~~^~~~~~

debian/src/geoip-csv-to-dat.cpp:663:25: warning: narrowing conversion of 
'((it.__gnu_cxx::__normal_iterator<_Iterator, 
_Container>::operator-><{anonymous}::binary_trie::node*, 
std::vector<{anonymous}::binary_trie::node> >()->{anonymous}::binary_trie::node::edges[1] >> 
16) & 255ul)' from '{anonymous}::binary_trie::edge_type {aka long unsigned int}' to 'uint8_t {aka unsigned 
char}' inside { } [-Wnarrowing]
    (it->edges[1] >> 16) & 0xFF
    ~~~~~~~~~~~~~~~~~~~~~^~~~~~

debian/src/geoip-csv-to-dat.cpp: In member function 'virtual void 
{anonymous}::dat_writer::write_structure_info()':
debian/src/geoip-csv-to-dat.cpp:683:67: error: narrowing conversion of '255' 
from 'int' to 'char' inside { } [-Wnarrowing]
  const char structure_info[4] = { 0xFF, 0xFF, 0xFF, database_type };
                                                                   ^

debian/src/geoip-csv-to-dat.cpp:683:67: error: narrowing conversion of '255' 
from 'int' to 'char' inside { } [-Wnarrowing]
debian/src/geoip-csv-to-dat.cpp:683:67: error: narrowing conversion of '255' 
from 'int' to 'char' inside { } [-Wnarrowing]
debian/src/geoip-csv-to-dat.cpp: In member function 'virtual void 
{anonymous}::city_dat_writer::write_structure_info({anonymous}::binary_trie&)':
debian/src/geoip-csv-to-dat.cpp:813:31: error: narrowing conversion of '255' 
from 'int' to 'char' inside { } [-Wnarrowing]
       (trie_size >> 16) & 0xFF};
                               ^

debian/src/geoip-csv-to-dat.cpp:813:31: error: narrowing conversion of '255' 
from 'int' to 'char' inside { } [-Wnarrowing]
debian/src/geoip-csv-to-dat.cpp:813:31: error: narrowing conversion of '255' 
from 'int' to 'char' inside { } [-Wnarrowing]
debian/src/geoip-csv-to-dat.cpp:811:25: warning: narrowing conversion of 
'(trie_size & 255)' from 'int' to 'char' inside { } [-Wnarrowing]
       (trie_size      ) & 0xFF,
       ~~~~~~~~~~~~~~~~~~^~~~~~

debian/src/geoip-csv-to-dat.cpp:812:25: warning: narrowing conversion of '((trie_size 
>> 8) & 255)' from 'int' to 'char' inside { } [-Wnarrowing]
       (trie_size >> 8 ) & 0xFF,
       ~~~~~~~~~~~~~~~~~~^~~~~~

debian/src/geoip-csv-to-dat.cpp:813:25: warning: narrowing conversion of '((trie_size 
>> 16) & 255)' from 'int' to 'char' inside { } [-Wnarrowing]
       (trie_size >> 16) & 0xFF};
       ~~~~~~~~~~~~~~~~~~^~~~~~

debian/rules:12: recipe for target 'override_dh_auto_install' failed
make[1]: *** [override_dh_auto_install] Error 1

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


Hum I tried out simple conversion, geoip builds but it segfaults..

Reply via email to