Your message dated Thu, 26 Nov 2015 14:38:13 -0800
with message-id 
<camzhqmpgvog48ey0fyjdwg6snmx3uzh7ojhqrtkvyx_lxnx...@mail.gmail.com>
and subject line Re: Bug#806368: mahimahi: FTBFS on ppc64el: error: overflow in 
implicit constant conversion
has caused the Debian Bug report #806368,
regarding mahimahi: FTBFS on ppc64el: error: overflow in implicit constant 
conversion
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
806368: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=806368
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: mahimahi
Severity: normal
Tags: patch

Dear Maintainer,

The package mahimahi fails to build from source on ppc64el with the error

  netdevice.cc: In constructor 'TunDevice::TunDevice(const string&, const 
Address&, const Address&)':
  netdevice.cc:27:69: error: overflow in implicit constant conversion 
[-Werror=overflow]
                        [] ( ifreq &ifr ) { ifr.ifr_flags = IFF_TUN; } );

Full log at 
https://buildd.debian.org/status/fetch.php?pkg=mahimahi&arch=ppc64el&ver=0.91-1&stamp=1445122100

That is caused by the usage of macro TUNSETIFF defined in tun_if.h.
Its value is actually 8 bytes long, but it is being passed to a const int
within interface_ioctl function.
It fails because that value is greater than the range of a signed int on
ppc64el, which causes an overflow.

Changing the parameter of the function from const int request to unsigned
long request fixes it and it does not affect ioctl, since it also expects
an unsigned long value.

With the patch attached it builds with no errors.

Thanks.

Fernando
diff -Nru mahimahi-0.91/debian/changelog mahimahi-0.91/debian/changelog
--- mahimahi-0.91/debian/changelog	2015-10-17 12:55:49.000000000 +0000
+++ mahimahi-0.91/debian/changelog	2015-11-26 17:40:59.000000000 +0000
@@ -1,3 +1,12 @@
+mahimahi (0.91-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * debian/patches/tunsetiff-long.patch: this patch changes the type of a variable
+    used in netdevice.cc to long, since it is causing the compilation to break due
+    to overflow
+
+ -- Fernando Seiti Furusato <[email protected]>  Thu, 26 Nov 2015 17:40:00 +0000
+
 mahimahi (0.91-1) unstable; urgency=low
 
   * mm-webreplay now supports persistent HTTP connections (Deepak Narayanan)
diff -Nru mahimahi-0.91/debian/patches/series mahimahi-0.91/debian/patches/series
--- mahimahi-0.91/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
+++ mahimahi-0.91/debian/patches/series	2015-11-26 17:27:33.000000000 +0000
@@ -0,0 +1 @@
+tunsetiff-long.patch
diff -Nru mahimahi-0.91/debian/patches/tunsetiff-long.patch mahimahi-0.91/debian/patches/tunsetiff-long.patch
--- mahimahi-0.91/debian/patches/tunsetiff-long.patch	1970-01-01 00:00:00.000000000 +0000
+++ mahimahi-0.91/debian/patches/tunsetiff-long.patch	2015-11-26 17:29:17.000000000 +0000
@@ -0,0 +1,40 @@
+Index: mahimahi-0.91/src/util/netdevice.cc
+===================================================================
+--- mahimahi-0.91.orig/src/util/netdevice.cc
++++ mahimahi-0.91/src/util/netdevice.cc
+@@ -29,7 +29,7 @@ TunDevice::TunDevice( const string & nam
+     assign_address( name, addr, peer );
+ }
+ 
+-void interface_ioctl( FileDescriptor & fd, const int request,
++void interface_ioctl( FileDescriptor & fd, const unsigned long request,
+                       const string & name,
+                       function<void( ifreq &ifr )> ifr_adjustment)
+ {
+@@ -42,7 +42,7 @@ void interface_ioctl( FileDescriptor & f
+     SystemCall( "ioctl " + name, ioctl( fd.fd_num(), request, static_cast<void *>( &ifr ) ) );
+ }
+ 
+-void interface_ioctl( const int request,
++void interface_ioctl( const unsigned long request,
+                       const string & name,
+                       function<void( ifreq &ifr )> ifr_adjustment)
+ {
+Index: mahimahi-0.91/src/util/netdevice.hh
+===================================================================
+--- mahimahi-0.91.orig/src/util/netdevice.hh
++++ mahimahi-0.91/src/util/netdevice.hh
+@@ -13,11 +13,11 @@
+ #include "address.hh"
+ 
+ /* general helpers */
+-void interface_ioctl( FileDescriptor & fd, const int request,
++void interface_ioctl( FileDescriptor & fd, const unsigned long request,
+                       const std::string & name,
+                       std::function<void( ifreq &ifr )> ifr_adjustment);
+ 
+-void interface_ioctl( const int request,
++void interface_ioctl( const unsigned long request,
+                       const std::string & name,
+                       std::function<void( ifreq &ifr )> ifr_adjustment);
+ 

--- End Message ---
--- Begin Message ---
Fixed. Thanks for the patch!
On Nov 26, 2015 9:57 AM, "Fernando Seiti Furusato" <[email protected]>
wrote:

> Source: mahimahi
> Severity: normal
> Tags: patch
>
> Dear Maintainer,
>
> The package mahimahi fails to build from source on ppc64el with the error
>
>   netdevice.cc: In constructor 'TunDevice::TunDevice(const string&, const
> Address&, const Address&)':
>   netdevice.cc:27:69: error: overflow in implicit constant conversion
> [-Werror=overflow]
>                         [] ( ifreq &ifr ) { ifr.ifr_flags = IFF_TUN; } );
>
> Full log at
> https://buildd.debian.org/status/fetch.php?pkg=mahimahi&arch=ppc64el&ver=0.91-1&stamp=1445122100
>
> That is caused by the usage of macro TUNSETIFF defined in tun_if.h.
> Its value is actually 8 bytes long, but it is being passed to a const int
> within interface_ioctl function.
> It fails because that value is greater than the range of a signed int on
> ppc64el, which causes an overflow.
>
> Changing the parameter of the function from const int request to unsigned
> long request fixes it and it does not affect ioctl, since it also expects
> an unsigned long value.
>
> With the patch attached it builds with no errors.
>
> Thanks.
>
> Fernando
>

--- End Message ---

Reply via email to