Bug#923455: FTBS on 32 bit architectures

Sjoerd Simons sjoerd at debian.org
Thu Feb 28 12:38:01 GMT 2019


Source: netty
Version: 4.1.33-1
Severity: important
Tags: ftbfs
Justification: fails to build from source

Hey,

It seems that netty fails to build on 32 bit architectures, we hit that in our
rebuild on 32 bit as does the reproducible builder see e.g:
  https://tests.reproducible-builds.org/debian/rb-pkg/buster/armhf/netty.html

Tbh i was a bit surprised netty does some native building given it only ships
an architecture all package. In any case the issue seems to mostly be due to
building with -Werror which makes things fail on warnings. I've attached the
debdiff we used as workaround for this


-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'proposed-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: armhf

Kernel: Linux 4.19.0-2-amd64 (SMP w/32 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
-------------- next part --------------
diff -Nru netty-4.1.33/debian/changelog netty-4.1.33/debian/changelog
--- netty-4.1.33/debian/changelog	2019-01-22 14:06:25.000000000 +0100
+++ netty-4.1.33/debian/changelog	2019-02-28 11:08:13.000000000 +0100
@@ -1,3 +1,9 @@
+netty (1:4.1.33-1co1) apertis; urgency=medium
+
+  * Build native parts without Werror as that can cause build failures
+
+ -- Sjoerd Simons <sjoerd.simons at collabora.co.uk>  Thu, 28 Feb 2019 11:08:13 +0100
+
 netty (1:4.1.33-1) unstable; urgency=medium
 
   * Team upload.
diff -Nru netty-4.1.33/debian/patches/disable-Werror.patch netty-4.1.33/debian/patches/disable-Werror.patch
--- netty-4.1.33/debian/patches/disable-Werror.patch	1970-01-01 01:00:00.000000000 +0100
+++ netty-4.1.33/debian/patches/disable-Werror.patch	2019-02-28 11:08:11.000000000 +0100
@@ -0,0 +1,58 @@
+--- a/transport-native-unix-common/pom.xml
++++ b/transport-native-unix-common/pom.xml
+@@ -101,7 +101,7 @@
+                       <env key="LIB_DIR" value="${nativeLibOnlyDir}" />
+                       <env key="OBJ_DIR" value="${nativeObjsOnlyDir}" />
+                       <env key="JNI_PLATFORM" value="${jni.platform}" />
+-                      <env key="CFLAGS" value="-O3 -Werror -Wno-attributes -fPIC -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden" />
++                      <env key="CFLAGS" value="-O3 -Wno-attributes -fPIC -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden" />
+                       <env key="LDFLAGS" value="-Wl,--no-as-needed -lrt" />
+                       <env key="LIB_NAME" value="${nativeLibName}" />
+                       <!-- support for __attribute__((weak_import)) by the linker was added in 10.2 so ensure we
+@@ -172,7 +172,7 @@
+                       <env key="LIB_DIR" value="${nativeLibOnlyDir}" />
+                       <env key="OBJ_DIR" value="${nativeObjsOnlyDir}" />
+                       <env key="JNI_PLATFORM" value="${jni.platform}" />
+-                      <env key="CFLAGS" value="-O3 -Werror -Wno-attributes -fPIC -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden" />
++                      <env key="CFLAGS" value="-O3 -Wno-attributes -fPIC -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden" />
+                       <env key="LDFLAGS" value="-Wl,--no-as-needed -lrt" />
+                       <env key="LIB_NAME" value="${nativeLibName}" />
+                     </exec>
+@@ -242,7 +242,7 @@
+                       <env key="LIB_DIR" value="${nativeLibOnlyDir}" />
+                       <env key="OBJ_DIR" value="${nativeObjsOnlyDir}" />
+                       <env key="JNI_PLATFORM" value="${jni.platform}" />
+-                      <env key="CFLAGS" value="-O3 -Werror -Wno-attributes -fPIC -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden" />
++                      <env key="CFLAGS" value="-O3 -Wno-attributes -fPIC -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden" />
+                       <env key="LDFLAGS" value="-Wl,--no-as-needed -lrt" />
+                       <env key="LIB_NAME" value="${nativeLibName}" />
+                     </exec>
+@@ -312,7 +312,7 @@
+                       <env key="LIB_DIR" value="${nativeLibOnlyDir}" />
+                       <env key="OBJ_DIR" value="${nativeObjsOnlyDir}" />
+                       <env key="JNI_PLATFORM" value="${jni.platform}" />
+-                      <env key="CFLAGS" value="-O3 -Werror -Wno-attributes -fPIC -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden" />
++                      <env key="CFLAGS" value="-O3 -Wno-attributes -fPIC -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden" />
+                       <env key="LDFLAGS" value="-Wl,--no-as-needed -lrt" />
+                       <env key="LIB_NAME" value="${nativeLibName}" />
+                     </exec>
+--- a/transport-native-epoll/pom.xml
++++ b/transport-native-epoll/pom.xml
+@@ -265,7 +265,7 @@
+                   <value>${linux.sendmmsg.support}${glibc.sendmmsg.support}</value>
+                   <!-- If glibc and linux kernel are both not sufficient...then define the CFLAGS -->
+                   <regex>.*IO_NETTY_SENDMSSG_NOT_FOUND.*</regex>
+-                  <replacement>CFLAGS=-O3 -DIO_NETTY_SENDMMSG_NOT_FOUND -Werror -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden -I${unix.common.include.unpacked.dir}</replacement>
++                  <replacement>CFLAGS=-O3 -DIO_NETTY_SENDMMSG_NOT_FOUND -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden -I${unix.common.include.unpacked.dir}</replacement>
+                   <failIfNoMatch>false</failIfNoMatch>
+                 </configuration>
+               </execution>
+@@ -281,7 +281,7 @@
+                   <value>${jni.compiler.args.cflags}</value>
+                   <!-- If glibc and linux kernel are both not sufficient...then define the CFLAGS -->
+                   <regex>^((?!CFLAGS=).)*$</regex>
+-                  <replacement>CFLAGS=-O3 -Werror -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden -I${unix.common.include.unpacked.dir}</replacement>
++                  <replacement>CFLAGS=-O3 -fno-omit-frame-pointer -Wunused-variable -fvisibility=hidden -I${unix.common.include.unpacked.dir}</replacement>
+                   <failIfNoMatch>false</failIfNoMatch>
+                 </configuration>
+               </execution>
diff -Nru netty-4.1.33/debian/patches/series netty-4.1.33/debian/patches/series
--- netty-4.1.33/debian/patches/series	2019-01-22 11:10:37.000000000 +0100
+++ netty-4.1.33/debian/patches/series	2019-02-28 11:06:13.000000000 +0100
@@ -9,3 +9,4 @@
 10-ignore-lzma.patch
 11-ignore-protobuf-nano.patch
 13-ignore-conscrypt.patch
+disable-Werror.patch


More information about the pkg-java-maintainers mailing list