Your message dated Thu, 25 Aug 2016 01:48:56 +0000
with message-id <e1bcjmq-0002or...@franck.debian.org>
and subject line Bug#835290: fixed in protobuf 3.0.0-4
has caused the Debian Bug report #835290,
regarding protobuf: FTBFS on s390x: undefined reference to
`google::protobuf::internal::NoBarrier_AtomicIncrement(long volatile*, long)'
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 ow...@bugs.debian.org
immediately.)
--
835290: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835290
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: protobuf
Version: 3.0.0-3
Severity: serious
Tags: patch upstream
[I have added a Cc: to the debian-s390 list as it appears we have
multiple copies of this code in the archive, so the patch might be
useful in other packages.]
Dear Maintainer,
The new version of protobuf fails to build on s390x with the following
error:
| /bin/bash ../libtool --tag=CXX --mode=link g++ -pthread -DHAVE_PTHREAD=1
-DHAVE_ZLIB=1 -Wall -Wno-sign-compare -g -O2
-fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat
-Werror=format-security -pthread -Wl,-z,relro -o protoc
google/protobuf/compiler/main.o -lpthread libprotobuf.la libprotoc.la -lz
| libtool: link: g++ -pthread -DHAVE_PTHREAD=1 -DHAVE_ZLIB=1 -Wall
-Wno-sign-compare -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=.
-fstack-protector-strong -Wformat -Werror=format-security -pthread -Wl,-z
-Wl,relro -o .libs/protoc google/protobuf/compiler/main.o -lpthread
./.libs/libprotobuf.so ./.libs/libprotoc.so -lz -pthread
| ./.libs/libprotobuf.so: undefined reference to
`google::protobuf::internal::NoBarrier_AtomicIncrement(long volatile*, long)'
| ./.libs/libprotobuf.so: undefined reference to
`google::protobuf::internal::NoBarrier_Store(long volatile*, long)'
| ./.libs/libprotobuf.so: undefined reference to
`google::protobuf::internal::NoBarrier_AtomicExchange(long volatile*, long)'
| ./.libs/libprotobuf.so: undefined reference to
`google::protobuf::internal::NoBarrier_Load(long const volatile*)'
| collect2: error: ld returned 1 exit status
| Makefile:3389: recipe for target 'protoc' failed
| make[4]: *** [protoc] Error 1
| make[4]: Leaving directory '/«PKGBUILDDIR»/src'
| Makefile:1259: recipe for target 'all-recursive' failed
Here is the full build log:
https://buildd.debian.org/status/fetch.php?pkg=protobuf&arch=s390x&ver=3.0.0-3&stamp=1472017457
s390x uses the generic atomics based on GCC atomics builtins, and some
of 64-bit atomics functions haven't been implemented yet. The patch
below fixes the problem. With it protobuf builds on s390x and the
testsuite passes successfully.
Thanks for considering,
Aurelien
---
protobuf-3.0.0.orig/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h
+++ protobuf-3.0.0/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h
@@ -128,6 +128,45 @@ inline Atomic64 NoBarrier_CompareAndSwap
return old_value;
}
+inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr,
+ Atomic64 new_value) {
+ return __atomic_exchange_n(ptr, new_value, __ATOMIC_RELAXED);
+}
+
+inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr,
+ Atomic64 increment) {
+ return __atomic_add_fetch(ptr, increment, __ATOMIC_RELAXED);
+}
+
+inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr,
+ Atomic64 increment) {
+ return __atomic_add_fetch(ptr, increment, __ATOMIC_SEQ_CST);
+}
+
+inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr,
+ Atomic64 old_value,
+ Atomic64 new_value) {
+ __atomic_compare_exchange_n(ptr, &old_value, new_value, true,
+ __ATOMIC_RELEASE, __ATOMIC_ACQUIRE);
+ return old_value;
+}
+
+inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) {
+ __atomic_store_n(ptr, value, __ATOMIC_RELAXED);
+}
+
+inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) {
+ __atomic_store_n(ptr, value, __ATOMIC_SEQ_CST);
+}
+
+inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) {
+ return __atomic_load_n(ptr, __ATOMIC_RELAXED);
+}
+
+inline Atomic64 Release_Load(volatile const Atomic64* ptr) {
+ return __atomic_load_n(ptr, __ATOMIC_SEQ_CST);
+}
+
#endif // defined(__LP64__)
} // namespace internal
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: s390x
Kernel: Linux 4.6.0-1-s390x (SMP w/1 CPU core)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
--- End Message ---
--- Begin Message ---
Source: protobuf
Source-Version: 3.0.0-4
We believe that the bug you reported is fixed in the latest version of
protobuf, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 835...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Dmitry Smirnov <only...@debian.org> (supplier of updated protobuf package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Thu, 25 Aug 2016 11:28:07 +1000
Source: protobuf
Binary: libprotobuf10 libprotobuf-lite10 libprotobuf-dev libprotoc10
libprotoc-dev protobuf-compiler python-protobuf libprotobuf-java
Architecture: source amd64 all
Version: 3.0.0-4
Distribution: unstable
Urgency: low
Maintainer: Debian protobuf maintainers
<pkg-protobuf-de...@lists.alioth.debian.org>
Changed-By: Dmitry Smirnov <only...@debian.org>
Description:
libprotobuf-dev - protocol buffers C++ library (development files)
libprotobuf-java - Java bindings for protocol buffers
libprotobuf-lite10 - protocol buffers C++ library (lite version)
libprotobuf10 - protocol buffers C++ library
libprotoc-dev - protocol buffers compiler library (development files)
libprotoc10 - protocol buffers compiler library
protobuf-compiler - compiler for protocol buffer definition files
python-protobuf - Python bindings for protocol buffers
Closes: 835267 835290 835358
Changes:
protobuf (3.0.0-4) unstable; urgency=low
.
* Team upload.
* Updated "libprotobuf-java.poms" (Closes: #835358).
Thanks, Markus Koschany.
* Added new patches to fix FTBFS on s390x and sparc64 (Closes: #835290).
Thanks, Aurelien Jarno; thanks Sebastiaan Couwenberg.
* New patch to fix FTBFS on Hurd (Closes: #835267).
Thanks, Sebastiaan Couwenberg.
* rules: removed "-O0" #796069 workaround for mips(el).
Checksums-Sha1:
243c60084cef7d62e9754b6c5b2dbea8641b57ff 2859 protobuf_3.0.0-4.dsc
6046bb9c6ea6ded7be074e3d7f34bd1cedaf3d7f 20168 protobuf_3.0.0-4.debian.tar.xz
b4911c8b9c9a56bf6da03c5ba97c7c68e1e19dff 938392
libprotobuf-dev_3.0.0-4_amd64.deb
cc7d55d459413734fddc60c7a801b9e4aad8c562 643388
libprotobuf-java_3.0.0-4_all.deb
20ba389f5345ff33829b13fd8330effe271ec18f 713754
libprotobuf-lite10-dbgsym_3.0.0-4_amd64.deb
e920dda7c20bbcce3b4d17c8d8a3190dccda3724 124160
libprotobuf-lite10_3.0.0-4_amd64.deb
97ac0cfba7c2456e53de135f08aa3e461435ae0b 6433424
libprotobuf10-dbgsym_3.0.0-4_amd64.deb
5958e0ac64f50568d58d12dc7e857cc6d8cb4ad7 681758 libprotobuf10_3.0.0-4_amd64.deb
298f98788511f9971f7a64207dcdf8921983a700 674260 libprotoc-dev_3.0.0-4_amd64.deb
6a79c294707b130db67bf368a3567779bfa77cd8 8975126
libprotoc10-dbgsym_3.0.0-4_amd64.deb
713431fdfc10e28c3a12949cb01c33807cfcd32f 625920 libprotoc10_3.0.0-4_amd64.deb
a56d3a5653b2ad9321bcef698a04563d05154142 50376
protobuf-compiler-dbgsym_3.0.0-4_amd64.deb
54eff7197117dc200689ee95fc917c6df08d057b 52280
protobuf-compiler_3.0.0-4_amd64.deb
ea2b35d4f2324b164dd248230269dda0b30a286b 747230
python-protobuf-dbgsym_3.0.0-4_amd64.deb
e4a3194e433e86d5881720a5adef9146f32f27f3 291058
python-protobuf_3.0.0-4_amd64.deb
Checksums-Sha256:
e9bf054453daf92c21d81a0d2e2a20244039aaf13b07e46827a14ef82e55cd5e 2859
protobuf_3.0.0-4.dsc
91ad94b1ad398dbe59bc96e929f38a1d188bbb4bc4513fe75f13b1410fa18cba 20168
protobuf_3.0.0-4.debian.tar.xz
03f11d026ba6d8d21a13595b0160c484b030594b7efded194f930344027711b1 938392
libprotobuf-dev_3.0.0-4_amd64.deb
cfdf5e1f2fe437a210df372abe4ff328590f5436e3e0a5cd93e59298a0b5271f 643388
libprotobuf-java_3.0.0-4_all.deb
f5c8ffb8826c79bc071dd0558fa981995f00de766ac0d881e122b117972954a2 713754
libprotobuf-lite10-dbgsym_3.0.0-4_amd64.deb
a981ac39947dce6b914ffb315f9f565fb3d929c5e18283d8c9bba1f4b0a72bf2 124160
libprotobuf-lite10_3.0.0-4_amd64.deb
ffb20a6be29a1ef154f586f82780c5ec1458eecf19e3427b244bebe91d6ffdc1 6433424
libprotobuf10-dbgsym_3.0.0-4_amd64.deb
6db5b79abbdba6b65b14313c2ec5ed31d95681ebb02abd6705b54465aa0f61be 681758
libprotobuf10_3.0.0-4_amd64.deb
5649bfd3c355f240ac45e233f8945f793aba5449b78abac2745871f712fcac14 674260
libprotoc-dev_3.0.0-4_amd64.deb
fc60e0e3cd89e27532e8ce8f6b13444731cc7653f5b49f1238f8836d82fd7d5d 8975126
libprotoc10-dbgsym_3.0.0-4_amd64.deb
99093321e857f1b2e565e837e34a613c7998e9e2c0cc0a49927a36c3c6e0738d 625920
libprotoc10_3.0.0-4_amd64.deb
6756d24bd00002d69831f5e65b360c8a9d417f5b7a9dd7e04b5b838a051126e2 50376
protobuf-compiler-dbgsym_3.0.0-4_amd64.deb
3e599d47d3cff4ad5959e10ad9b3345b919cf420c05162a158148a9c7a5a705b 52280
protobuf-compiler_3.0.0-4_amd64.deb
5db921bd61528d2c300422ee66dfc163192e5732239ddba1ba003a2abe65bafb 747230
python-protobuf-dbgsym_3.0.0-4_amd64.deb
f809709308a989e9d27e35ab331c00c0dfeb07df12ce04f0705f2b9625020686 291058
python-protobuf_3.0.0-4_amd64.deb
Files:
1dc9671210acf9a94595c81057b4ad9f 2859 devel optional protobuf_3.0.0-4.dsc
e4e0c2ec6e440b09dc9c96a12704f6df 20168 devel optional
protobuf_3.0.0-4.debian.tar.xz
ccce2084a0553458b2a9ba620a4a909f 938392 libdevel optional
libprotobuf-dev_3.0.0-4_amd64.deb
80c48af7ad5d5feb710121619be0a8e7 643388 java optional
libprotobuf-java_3.0.0-4_all.deb
482e262198aec17863d6cef7f640f86a 713754 debug extra
libprotobuf-lite10-dbgsym_3.0.0-4_amd64.deb
53be317fb9951aadf4d3d6be3dc4fc8a 124160 libs optional
libprotobuf-lite10_3.0.0-4_amd64.deb
8387ad220302e6e9945e7e0b88a9ab17 6433424 debug extra
libprotobuf10-dbgsym_3.0.0-4_amd64.deb
fd6a57d6afd25fdc6d70a2c7097eb4eb 681758 libs optional
libprotobuf10_3.0.0-4_amd64.deb
9da79e375bedd7cc07264e6903f00717 674260 libdevel optional
libprotoc-dev_3.0.0-4_amd64.deb
1bc5058a84c2e56b9a0526382c06d353 8975126 debug extra
libprotoc10-dbgsym_3.0.0-4_amd64.deb
350afef75135de0cabcb22b890c7fffb 625920 libs optional
libprotoc10_3.0.0-4_amd64.deb
0706ebdf3c60fee7b56524f3d0af674b 50376 debug extra
protobuf-compiler-dbgsym_3.0.0-4_amd64.deb
fb5563af28fcb049aa15b2c62164beba 52280 devel optional
protobuf-compiler_3.0.0-4_amd64.deb
f7c55acdd05293f1b69218f68f58fa26 747230 debug extra
python-protobuf-dbgsym_3.0.0-4_amd64.deb
430433fef24f5d6c002420780b01d8b3 291058 python optional
python-protobuf_3.0.0-4_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAEBCAAGBQJXvkuzAAoJEFK2u9lTlo0bCB0P/R8tKc+TwVjA2YJIBGH21Qw1
wmAgBV2HGlSWTKqrtL+vPJ2PzpPFaU9EXOU+hdGHM5t3SVuLZM7piehojTKPEx/x
9eeswgulDes93PLwZpoBO6Wwv+IyvAbYZMdDNyQjlqfXHO9u1Y00pwAW9LwbtTWA
hRerE87hIuNNpbbiSFxKA6GbFL2pmaUHwP3XgWK+r+OpypgJCigGAkH665k8re8a
/DDx9JdkuFyiCwSCnYV12ULHntc4I+3BnqbO1Vdctp32rpusY75zaUII3rRpwkso
Kdv3FubAsHmrFCJP9DOqSnGJk0SgGGYZMGB2/ikRpp0zfxiH5bGy0BFT78Ywi2JQ
NnWtmMSHxor3iF357O8zeevSYCLn9I/4XJyUix7PB9+DtpZUFsiIfW2MZq+SLGuf
74oiQcp0AGXDk8H+h2u+xBgUxKp5UQ6W0CZORPHt1XMzpDvZgGh1zXjklE/tECWH
45vuI3UgzTBe9gGG68//5SM5BmxAEHM9LcW+8X9+SO5fHGfSrBhrMnA0J9e22HCk
j3ibPqABeliVw0u/t9KC7h20LKDkPCszv4pl3eOcO0PSexnUICZXuiTpau9xJTGv
5kA5b8fOXyhBD+a1ecszcuHdEj6aQqFT7NXt8JDgYJZAdrV/wRuz4aNYxbvh7jND
xzYpZ5o3HByHyRb112fC
=zf6n
-----END PGP SIGNATURE-----
--- End Message ---