[Pkg-bitcoin-devel] Bug#791092: libbitcoin: library transition may be needed when GCC 5 is the default

Martin Pitt martin.pitt at ubuntu.com
Wed Aug 5 05:05:09 UTC 2015


Control: tag -1 confirmed patch
Control: user ubuntu-devel at lists.ubuntu.com
Control: usertags -1 origin-ubuntu ubuntu-patch wily

this was done in Ubuntu:

  http://launchpadlibrarian.net/213528124/libbitcoin_2.0-2.2_2.0-2.2ubuntu1.diff.gz

However, this FTBFS with

| libtool: compile:  g++ -DPACKAGE_NAME=\"libbitcoin\" -DPACKAGE_TARNAME=\"libbitcoin\" -DPACKAGE_VERSION=\"1.0.10\" "-DPACKAGE_STRING=\"libbitcoin 1.0.10\"" -DPACKAGE_BUGREPORT=\"amir at unsystem.net\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libbitcoin\" -DVERSION=\"1.0.10\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" "-DHAVE_BOOST=/**/" -I. -I./../include -D_FORTIFY_SOURCE=2 -ggdb -g3 -Wall -Wno-missing-braces -pedantic -Wextra -fstack-protector-all -DDEBUG -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -std=c++11 -c session.cpp -o session.o >/dev/null 2>&1
| utility/mnemonic.cpp: In function 'const string libbitcoin::decode_mnemonic(const string_list&)':
| utility/mnemonic.cpp:1704:5: error: 'cout' is not a member of 'std'
|      std::cout << std::endl;
|      ^
| Makefile:606: recipe for target 'utility/mnemonic.lo' failed
| make[2]: *** [utility/mnemonic.lo] Error 1
| make[2]: *** Waiting for unfinished jobs....

... because mnemonic.cpp misses an #include <iostream>. This does not
affect latest upstream (2.9) any more as the file is gone entirely, so
this fix is fine to live as a Debian patch for a while.

I'm attaching the complete debdiff.

Martin
-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
-------------- next part --------------
diff -Nru libbitcoin-2.0/debian/changelog libbitcoin-2.0/debian/changelog
--- libbitcoin-2.0/debian/changelog	2014-11-21 22:44:56.000000000 +0100
+++ libbitcoin-2.0/debian/changelog	2015-08-05 07:02:08.000000000 +0200
@@ -1,3 +1,16 @@
+libbitcoin (2.0-2.2ubuntu2) wily; urgency=medium
+
+  * Add missing-include.patch: Fix FTBFS due to unknown std::cout.
+  * debian/rules: Adjust "abi" to g++5 ABI transition.
+
+ -- Martin Pitt <martin.pitt at ubuntu.com>  Wed, 05 Aug 2015 06:56:38 +0200
+
+libbitcoin (2.0-2.2ubuntu1) wily; urgency=medium
+
+  * Rename library packages for g++5 ABI transition.
+
+ -- Steve Langasek <steve.langasek at ubuntu.com>  Tue, 04 Aug 2015 04:41:06 +0000
+
 libbitcoin (2.0-2.2) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru libbitcoin-2.0/debian/control libbitcoin-2.0/debian/control
--- libbitcoin-2.0/debian/control	2014-08-15 13:41:48.000000000 +0200
+++ libbitcoin-2.0/debian/control	2015-08-04 06:41:06.000000000 +0200
@@ -23,14 +23,15 @@
  libregexp-assemble-perl,
  libimage-exiftool-perl,
  libfont-ttf-perl
-Maintainer: Debian Bitcoin Team <pkg-bitcoin-devel at lists.alioth.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Bitcoin Team <pkg-bitcoin-devel at lists.alioth.debian.org>
 Uploaders: Jonas Smedegaard <dr at jones.dk>
 Standards-Version: 3.9.5
 Homepage: https://libbitcoin.org/
 Vcs-Git: git://git.debian.org/pkg-bitcoin/libbitcoin.git
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-bitcoin/libbitcoin.git
 
-Package: libbitcoin0
+Package: libbitcoin0v5
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends},
@@ -38,6 +39,8 @@
 Pre-Depends: ${misc:Pre-Depends},
  ${cdbs:Pre-Depends}
 Multi-Arch: same
+Conflicts: libbitcoin0
+Replaces: libbitcoin0
 Description: Bitcoin toolkit library for asynchronous apps
  libbitcoin is a Bitcoin library targeted high end use.  The library
  places a heavy focus around asynchronous operation.
@@ -45,12 +48,14 @@
  libbitcoin is designed as a toolkit - an independent set of mutual
  components with no dependencies between them.
 
-Package: libbitcoin0-dbg
+Package: libbitcoin0v5-dbg
 Section: debug
 Priority: extra
 Architecture: any
 Depends: ${misc:Depends},
- libbitcoin0 (= ${binary:Version})
+ libbitcoin0v5 (= ${binary:Version})
+Conflicts: libbitcoin0-dbg
+Replaces: libbitcoin0-dbg
 Description: Bitcoin toolkit library for asynchronous apps - debugging symbols
  libbitcoin is a Bitcoin library targeted high end use.  The library
  places a heavy focus around asynchronous operation.
@@ -64,7 +69,7 @@
 Section: libdevel
 Architecture: any
 Multi-Arch: same
-Depends: libbitcoin0 (= ${binary:Version}),
+Depends: libbitcoin0v5 (= ${binary:Version}),
  ${devlibs:Depends},
  ${misc:Depends}
 Suggests: libbitcoin-doc
diff -Nru libbitcoin-2.0/debian/control.in libbitcoin-2.0/debian/control.in
--- libbitcoin-2.0/debian/control.in	2014-11-21 22:46:04.000000000 +0100
+++ libbitcoin-2.0/debian/control.in	2015-08-05 07:02:33.000000000 +0200
@@ -9,7 +9,7 @@
 Vcs-Git: git://git.debian.org/pkg-bitcoin/libbitcoin.git
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-bitcoin/libbitcoin.git
 
-Package: libbitcoin0
+Package: libbitcoin0v5
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends},
@@ -24,12 +24,12 @@
  libbitcoin is designed as a toolkit - an independent set of mutual
  components with no dependencies between them.
 
-Package: libbitcoin0-dbg
+Package: libbitcoin0v5-dbg
 Section: debug
 Priority: extra
 Architecture: any
 Depends: ${misc:Depends},
- libbitcoin0 (= ${binary:Version})
+ libbitcoin0v5 (= ${binary:Version})
 Description: Bitcoin toolkit library for asynchronous apps - debugging symbols
  libbitcoin is a Bitcoin library targeted high end use.  The library
  places a heavy focus around asynchronous operation.
@@ -43,7 +43,7 @@
 Section: libdevel
 Architecture: any
 Multi-Arch: same
-Depends: libbitcoin0 (= ${binary:Version}),
+Depends: libbitcoin0v5 (= ${binary:Version}),
  ${devlibs:Depends},
  ${misc:Depends}
 Suggests: libbitcoin-doc
diff -Nru libbitcoin-2.0/debian/libbitcoin0v5-dbg.lintian-overrides libbitcoin-2.0/debian/libbitcoin0v5-dbg.lintian-overrides
--- libbitcoin-2.0/debian/libbitcoin0v5-dbg.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ libbitcoin-2.0/debian/libbitcoin0v5-dbg.lintian-overrides	2015-08-04 06:41:06.000000000 +0200
@@ -0,0 +1,2 @@
+# G++5 ABI transition
+libbitcoin0v5-dbg: package-name-doesnt-match-sonames libbitcoin0-dbg
diff -Nru libbitcoin-2.0/debian/libbitcoin0v5.lintian-overrides libbitcoin-2.0/debian/libbitcoin0v5.lintian-overrides
--- libbitcoin-2.0/debian/libbitcoin0v5.lintian-overrides	1970-01-01 01:00:00.000000000 +0100
+++ libbitcoin-2.0/debian/libbitcoin0v5.lintian-overrides	2015-08-04 06:41:06.000000000 +0200
@@ -0,0 +1,2 @@
+# G++5 ABI transition
+libbitcoin0v5: package-name-doesnt-match-sonames libbitcoin0
diff -Nru libbitcoin-2.0/debian/patches/missing-include.patch libbitcoin-2.0/debian/patches/missing-include.patch
--- libbitcoin-2.0/debian/patches/missing-include.patch	1970-01-01 01:00:00.000000000 +0100
+++ libbitcoin-2.0/debian/patches/missing-include.patch	2015-08-05 06:55:41.000000000 +0200
@@ -0,0 +1,16 @@
+Description: Fix FTBFS due to unknown std::cout
+Author: Martin Pitt <martin.pitt at ubuntu.com>
+Forwarded: No, file is gone in latest upstream
+
+Index: libbitcoin-2.0/src/utility/mnemonic.cpp
+===================================================================
+--- libbitcoin-2.0.orig/src/utility/mnemonic.cpp
++++ libbitcoin-2.0/src/utility/mnemonic.cpp
+@@ -21,6 +21,7 @@
+ 
+ #include <algorithm>
+ #include <sstream>
++#include <iostream>
+ #include <bitcoin/utility/assert.hpp>
+ 
+ namespace libbitcoin {
diff -Nru libbitcoin-2.0/debian/patches/series libbitcoin-2.0/debian/patches/series
--- libbitcoin-2.0/debian/patches/series	2014-11-21 21:53:54.000000000 +0100
+++ libbitcoin-2.0/debian/patches/series	2015-08-05 06:54:57.000000000 +0200
@@ -1,3 +1,4 @@
 1001_fix_include_Boost_endian.patch
 big-endian.patch
 2001-fix-for-768726.patch
+missing-include.patch
diff -Nru libbitcoin-2.0/debian/rules libbitcoin-2.0/debian/rules
--- libbitcoin-2.0/debian/rules	2014-06-26 14:03:22.000000000 +0200
+++ libbitcoin-2.0/debian/rules	2015-08-05 07:01:49.000000000 +0200
@@ -33,7 +33,7 @@
 
 pkg = $(DEB_SOURCE_PACKAGE)
 stem = $(patsubst lib%,%,$(pkg))
-abi = 0
+abi = 0v5
 lib = lib$(stem)
 libpkg = lib$(stem)$(abi)
 devpkg = lib$(stem)-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-bitcoin-devel/attachments/20150805/61a4e8de/attachment.sig>


More information about the Pkg-bitcoin-devel mailing list