Your message dated Fri, 11 May 2012 04:04:20 +0000
with message-id <e1ssh5y-0003d5...@franck.debian.org>
and subject line Bug#669679: fixed in ncbi-blast+ 2.2.26-3
has caused the Debian Bug report #669679,
regarding ncbi-blast+: FTBFS with GCC 4.7
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.)


-- 
669679: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=669679
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: ncbi-blast+
Version: 2.2.26-2
Severity: important
Tags: patch

ncbi-blast+ fails to build with GCC 4.7, which is stricter than 4.6 in
some ways.  The attached patch addresses the errors, along with some
new warnings in widely included headers.
Index: b/c++/include/connect/ncbi_conn_stream.hpp
===================================================================
--- a/c++/include/connect/ncbi_conn_stream.hpp	2012-01-20 19:27:04.000000000 -0500
+++ b/c++/include/connect/ncbi_conn_stream.hpp	2012-04-13 20:01:29.000000000 -0400
@@ -259,7 +259,7 @@
 class CConn_IOStreamSetReadTimeout : protected CConn_IOStreamSetTimeout
 {
 public:
-    CConn_IOStreamSetTimeout::GetTimeout;
+    using CConn_IOStreamSetTimeout::GetTimeout;
 
 protected:
     CConn_IOStreamSetReadTimeout(const STimeout* timeout)
@@ -289,7 +289,7 @@
 class CConn_IOStreamSetWriteTimeout : protected CConn_IOStreamSetTimeout
 {
 public:
-    CConn_IOStreamSetTimeout::GetTimeout;
+    using CConn_IOStreamSetTimeout::GetTimeout;
 
 protected:
     CConn_IOStreamSetWriteTimeout(const STimeout* timeout)
Index: b/c++/include/corelib/ncbiexpt.hpp
===================================================================
--- a/c++/include/corelib/ncbiexpt.hpp	2011-11-18 14:20:24.000000000 -0500
+++ b/c++/include/corelib/ncbiexpt.hpp	2012-04-13 18:38:05.000000000 -0400
@@ -852,7 +852,7 @@
     exception_class(const exception_class& other) \
        : base_class(other) \
     { \
-        x_Assign(other); \
+        this->x_Assign(other); \
     } \
 public: \
     virtual ~exception_class(void) throw() {} \
@@ -1172,7 +1172,7 @@
         : TBase( other)
     {
         m_Errno = other.m_Errno;
-        x_Assign(other);
+        this->x_Assign(other);
     }
 
     /// Destructor.
Index: b/c++/include/corelib/ncbimisc.hpp
===================================================================
--- a/c++/include/corelib/ncbimisc.hpp	2012-02-02 16:13:59.000000000 -0500
+++ b/c++/include/corelib/ncbimisc.hpp	2012-04-13 18:39:43.000000000 -0400
@@ -39,6 +39,7 @@
 #ifdef HAVE_SYS_TYPES_H
 #  include <sys/types.h>
 #endif
+#include <cstdlib>
 #ifdef NCBI_COMPILER_ICC
 // Preemptively pull in <cctype>, which breaks if we've already
 // repointed is* at NCBI_is*.
Index: b/c++/include/corelib/ncbistl.hpp
===================================================================
--- a/c++/include/corelib/ncbistl.hpp	2011-09-09 09:04:25.000000000 -0400
+++ b/c++/include/corelib/ncbistl.hpp	2012-04-13 18:46:25.000000000 -0400
@@ -37,6 +37,7 @@
 
 #include <common/ncbi_export.h>
 
+#include <algorithm>
 
 // Get rid of some warnings in MSVC++
 #if (_MSC_VER >= 1200)
Index: b/c++/include/corelib/ncbistr.hpp
===================================================================
--- a/c++/include/corelib/ncbistr.hpp	2012-04-13 18:36:39.000000000 -0400
+++ b/c++/include/corelib/ncbistr.hpp	2012-04-13 18:36:52.000000000 -0400
@@ -3039,7 +3039,7 @@
         : TBase(other)
     {
         m_Pos = other.m_Pos;
-        x_Assign(other);
+        this->x_Assign(other);
     }
 
     /// Destructor.
Index: b/c++/include/serial/impl/stltypes.hpp
===================================================================
--- a/c++/include/serial/impl/stltypes.hpp	2007-11-08 09:12:17.000000000 -0500
+++ b/c++/include/serial/impl/stltypes.hpp	2012-04-13 19:49:56.000000000 -0400
@@ -412,6 +412,7 @@
     typedef StlIterator TStlIterator;
     typedef TypeInfoIterator TTypeInfoIterator;
     typedef typename TTypeInfoIterator::TObjectPtr TObjectPtr;
+    typedef CStlClassInfoFunctions<Container> CParent;
 
     static TStlIterator& It(TTypeInfoIterator& iter)
         {
@@ -437,7 +438,8 @@
         }
     static bool InitIterator(TTypeInfoIterator& iter)
         {
-            TStlIterator stl_iter = Get(iter.GetContainerPtr()).begin();
+            TStlIterator stl_iter
+                = CParent::Get(iter.GetContainerPtr()).begin();
             if ( sizeof(TStlIterator) <= sizeof(iter.m_IteratorData) ) {
                 void* data = &iter.m_IteratorData;
                 new (data) TStlIterator(stl_iter);
@@ -445,7 +447,7 @@
             else {
                 iter.m_IteratorData = new TStlIterator(stl_iter);
             }
-            return stl_iter != Get(iter.GetContainerPtr()).end();
+            return stl_iter != CParent::Get(iter.GetContainerPtr()).end();
         }
     static void ReleaseIterator(TTypeInfoIterator& iter)
         {
@@ -466,7 +468,7 @@
 
     static bool NextElement(TTypeInfoIterator& iter)
         {
-            return ++It(iter) != Get(iter.GetContainerPtr()).end();
+            return ++It(iter) != CParent::Get(iter.GetContainerPtr()).end();
         }
     static TObjectPtr GetElementPtr(const TTypeInfoIterator& iter)
         {
@@ -503,7 +505,7 @@
     
     static bool EraseElement(TTypeInfoIterator& iter)
         {
-            TStlIterator& it = It(iter);
+            TStlIterator& it = CParent::It(iter);
             Container* c = static_cast<Container*>(iter.GetContainerPtr());
             it = c->erase(it);
             return it != c->end();
@@ -511,7 +513,7 @@
     static void EraseAllElements(TTypeInfoIterator& iter)
         {
             Container* c = static_cast<Container*>(iter.GetContainerPtr());
-            c->erase(It(iter), c->end());
+            c->erase(CParent::It(iter), c->end());
         }
 
     static void SetIteratorFunctions(CStlOneArgTemplate* info)
@@ -542,7 +544,7 @@
         }
     static bool EraseElement(TTypeInfoIterator& iter)
         {
-            TStlIterator& it = It(iter);
+            TStlIterator& it = CParent::It(iter);
             Container* c = static_cast<Container*>(iter.GetContainerPtr());
             TStlIterator erase = it++;
             c->erase(erase);
@@ -551,7 +553,7 @@
     static void EraseAllElements(TTypeInfoIterator& iter)
         {
             Container* c = static_cast<Container*>(iter.GetContainerPtr());
-            c->erase(It(iter), c->end());
+            c->erase(CParent::It(iter), c->end());
         }
 
     static void SetIteratorFunctions(CStlOneArgTemplate* info)
Index: b/c++/include/serial/iterator.hpp
===================================================================
--- a/c++/include/serial/iterator.hpp	2011-11-15 13:47:57.000000000 -0500
+++ b/c++/include/serial/iterator.hpp	2012-04-13 19:55:26.000000000 -0400
@@ -520,13 +520,13 @@
     CTypeIteratorBase(TTypeInfo needType, const TBeginInfo& beginInfo)
         : m_NeedType(needType)
         {
-            Init(beginInfo);
+            this->Init(beginInfo);
         }
     CTypeIteratorBase(TTypeInfo needType, const TBeginInfo& beginInfo,
                       const string& filter)
         : m_NeedType(needType)
         {
-            Init(beginInfo, filter);
+            this->Init(beginInfo, filter);
         }
 
     virtual bool CanSelect(const CConstObjectInfo& object)
Index: b/c++/include/util/bitset/bmfunc.h
===================================================================
--- a/c++/include/util/bitset/bmfunc.h	2010-04-22 16:35:26.000000000 -0400
+++ b/c++/include/util/bitset/bmfunc.h	2012-04-13 19:36:46.000000000 -0400
@@ -39,6 +39,13 @@
 namespace bm
 {
 
+bm::id_t bit_block_any_range(const bm::word_t* block,
+                             bm::word_t left,
+                             bm::word_t right);
+
+bm::id_t bit_block_calc_count_range(const bm::word_t* block,
+                                    bm::word_t left,
+                                    bm::word_t right);
 
 /*!
     @brief Structure with statistical information about bitset's memory 
Index: b/c++/include/util/bitset/bmserial.h
===================================================================
--- a/c++/include/util/bitset/bmserial.h	2010-04-22 16:35:26.000000000 -0400
+++ b/c++/include/util/bitset/bmserial.h	2012-04-13 19:44:04.000000000 -0400
@@ -1381,7 +1381,7 @@
     case set_block_arrgap: 
     case set_block_arrgap_egamma:
         {
-        	unsigned arr_len = read_id_list(dec, btype, this->id_array_);
+            unsigned arr_len = this->read_id_list(dec, btype, this->id_array_);
             gap_len = gap_set_array(gap_temp_block_, this->id_array_, arr_len);
             break;
         }
@@ -1390,7 +1390,7 @@
             (sizeof(gap_word_t) == 2 ? dec.get_16() : dec.get_32());
     case set_block_arrgap_egamma_inv:
     case set_block_arrgap_inv:
-        gap_len = read_gap_block(dec, btype, gap_temp_block_, gap_head);
+        gap_len = this->read_gap_block(dec, btype, gap_temp_block_, gap_head);
         break;
     default:
         BM_ASSERT(0);
Index: b/c++/include/util/linkedset.hpp
===================================================================
--- a/c++/include/util/linkedset.hpp	2007-05-04 13:18:18.000000000 -0400
+++ b/c++/include/util/linkedset.hpp	2012-04-13 19:33:29.000000000 -0400
@@ -268,10 +268,10 @@
             pair<iterator, bool> ins = m_Container.insert(value);
             if ( ins.second ) {
                 if ( ins.first == begin() )
-                    insertToStart(*ins.first);
+                    this->insertToStart(*ins.first);
                 else {
                     iterator prev = ins.first;
-                    insertAfter(*--prev, *ins.first);
+                    this->insertAfter(*--prev, *ins.first);
                 }
             }
             return ins;
@@ -280,10 +280,10 @@
     void erase(iterator iter)
         {
             if ( iter == begin() )
-                removeFromStart(*iter);
+                this->removeFromStart(*iter);
             else {
                 iterator prev = iter;
-                removeAfter(*--prev, *iter);
+                this->removeAfter(*--prev, *iter);
             }
             m_Container.erase(iter);
         }
@@ -422,10 +422,10 @@
         {
             iterator iter = m_Container.insert(value);
             if ( iter == begin() )
-                insertToStart(get(iter));
+                this->insertToStart(get(iter));
             else {
                 iterator prev = iter;
-                insertAfter(get(--prev), get(iter));
+                this->insertAfter(get(--prev), get(iter));
             }
             return iter;
         }
@@ -433,10 +433,10 @@
     void erase(iterator iter)
         {
             if ( iter == begin() )
-                removeFromStart(get(iter));
+                this->removeFromStart(get(iter));
             else {
                 iterator prev = iter;
-                removeAfter(get(--prev), get(iter));
+                this->removeAfter(get(--prev), get(iter));
             }
             m_Container.erase(iter);
         }
Index: b/c++/include/util/rangemap.hpp
===================================================================
--- a/c++/include/util/rangemap.hpp	2007-05-04 13:18:18.000000000 -0400
+++ b/c++/include/util/rangemap.hpp	2012-04-13 19:54:16.000000000 -0400
@@ -578,7 +578,7 @@
             // get level
 
             // insert element
-            TSelectMapI selectIter = insertLevel(selectKey);
+            TSelectMapI selectIter = this->insertLevel(selectKey);
             pair<TLevelMapI, bool> levelIns = selectIter->second.insert(value);
             
             pair<iterator, bool> ret;
@@ -640,7 +640,7 @@
             // insert element
             iterator ret;
             ret.m_Range = range_type::GetWhole();
-            ret.m_SelectIter = insertLevel(selectKey);
+            ret.m_SelectIter = this->insertLevel(selectKey);
             ret.m_SelectIterEnd = this->m_SelectMap.end();
             ret.m_LevelIter = ret.m_SelectIter->second.insert(value);
             return ret;
Index: b/c++/src/serial/stdtypes.cpp
===================================================================
--- a/c++/src/serial/stdtypes.cpp	2011-12-05 14:07:11.000000000 -0500
+++ b/c++/src/serial/stdtypes.cpp	2012-04-13 19:39:29.000000000 -0400
@@ -720,7 +720,7 @@
             if ( IsSigned() ) {
                 // signed -> unsigned
                 // check for negative value
-                if ( IsNegative(value) )
+                if ( CParent::IsNegative(value) )
                     ThrowIntegerOverflow();
             }
             if ( sizeof(value) > sizeof(result) ) {
@@ -751,7 +751,7 @@
                 // unsigned -> signed
                 if ( sizeof(value) == sizeof(result) ) {
                     // same size - check for sign change only
-                    if ( IsNegative(result) )
+                    if ( CParent::IsNegative(result) )
                         ThrowIntegerOverflow();
                 }
             }
@@ -786,7 +786,7 @@
             if ( IsSigned() ) {
                 // signed -> unsigned
                 // check for negative value
-                if ( IsNegative(value) )
+                if ( CParent::IsNegative(value) )
                     ThrowIntegerOverflow();
             }
             if ( sizeof(value) > sizeof(result) ) {
@@ -817,7 +817,7 @@
                 // unsigned -> signed
                 if ( sizeof(value) == sizeof(result) ) {
                     // same size - check for sign change only
-                    if ( IsNegative(result) )
+                    if ( CParent::IsNegative(result) )
                         ThrowIntegerOverflow();
                 }
             }

--- End Message ---
--- Begin Message ---
Source: ncbi-blast+
Source-Version: 2.2.26-3

We believe that the bug you reported is fixed in the latest version of
ncbi-blast+, which is due to be installed in the Debian FTP archive:

ncbi-blast+-legacy_2.2.26-3_all.deb
  to main/n/ncbi-blast+/ncbi-blast+-legacy_2.2.26-3_all.deb
ncbi-blast+_2.2.26-3.debian.tar.gz
  to main/n/ncbi-blast+/ncbi-blast+_2.2.26-3.debian.tar.gz
ncbi-blast+_2.2.26-3.dsc
  to main/n/ncbi-blast+/ncbi-blast+_2.2.26-3.dsc
ncbi-blast+_2.2.26-3_amd64.deb
  to main/n/ncbi-blast+/ncbi-blast+_2.2.26-3_amd64.deb



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 669...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Aaron M. Ucko <u...@debian.org> (supplier of updated ncbi-blast+ 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...@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 10 May 2012 23:42:49 -0400
Source: ncbi-blast+
Binary: ncbi-blast+ ncbi-blast+-legacy
Architecture: source amd64 all
Version: 2.2.26-3
Distribution: unstable
Urgency: low
Maintainer: Debian Med Packaging Team 
<debian-med-packag...@lists.alioth.debian.org>
Changed-By: Aaron M. Ucko <u...@debian.org>
Description: 
 ncbi-blast+ - next generation suite of BLAST sequence search tools
 ncbi-blast+-legacy - NCBI Blast legacy call script
Closes: 669679
Changes: 
 ncbi-blast+ (2.2.26-3) unstable; urgency=low
 .
   [ Aaron M. Ucko ]
   * debian/patches/fix_gcc47_errors: fix various GCC 4.7 compilation
     errors and warnings.  (Closes: #669679.)
     - Explicitly qualify more dependent names originating in base templates.
     - Directly #include headers as needed.
     - Use modern syntax for making protected base members public.
     - Add forward declarations as needed.
   * Wrap and sort build dependencies to ease maintenance thereof.
   * Enable full hardening flags, introducing a small patch
     (use_pie_for_apps) to reflect the need to build executables and
     libraries differently.
   * Use upstream's new --with-symbols flag in nostrip builds.
 .
   [ Andreas Tille ]
   * debian/control: Modernize Vcs-* fields.
Checksums-Sha1: 
 91dd0e7df9243ba6ecdb1f2ba14dee60e2a9defc 2316 ncbi-blast+_2.2.26-3.dsc
 198ba4be0b14574cf94bea3391558128bea15045 22163 
ncbi-blast+_2.2.26-3.debian.tar.gz
 e827e1a466f965113b704b59bad3d440f95ddd52 11155644 
ncbi-blast+_2.2.26-3_amd64.deb
 1bbd8822bf3b3ba3955c4c2b4f01dcf50c582286 7554 
ncbi-blast+-legacy_2.2.26-3_all.deb
Checksums-Sha256: 
 dde5a001fe78b0e748419ee30b5130700e8b35d00a0715e4c7c521cb9f4372b1 2316 
ncbi-blast+_2.2.26-3.dsc
 7e46b3c8e78efa04b9ac4b32339ad9d8a6136e51aac45813eb338133b4d77d25 22163 
ncbi-blast+_2.2.26-3.debian.tar.gz
 117f1a0d72ed84cdcc501b7ce85d51cac463ed2e94c2a9b57f4e9982a40b77ea 11155644 
ncbi-blast+_2.2.26-3_amd64.deb
 2a7a75ff5c29966485003db2670e576d54441d08968f54b9ebf19e39d1d3fc08 7554 
ncbi-blast+-legacy_2.2.26-3_all.deb
Files: 
 188e3fd269996bfc468f553653d5f3ea 2316 science optional ncbi-blast+_2.2.26-3.dsc
 b314fc3bd811661b726cd46f8f8e7868 22163 science optional 
ncbi-blast+_2.2.26-3.debian.tar.gz
 ab0f357d0038d14923857b6ad37ef6b9 11155644 science optional 
ncbi-blast+_2.2.26-3_amd64.deb
 99656ea00fcb8ea330834fa6f6c6082d 7554 science optional 
ncbi-blast+-legacy_2.2.26-3_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJPrIyqAAoJEB5wkbHxSmSi3WMQAI/3u37UvGNUlmwmLH6RMNHC
hA1afEy8BQzl38L2uN6K6IruTqLd0V5L+yeCh7btkf3siEOkDU2vOx3hSe7uX4Ou
5bZiiDB10CSVSznMPyh9fvwbuu14/BzfBnV/zFU/n9OpE4Fhl/AgmJiMcsZ/jwpg
th4sxe0lWc/sDQLhI5LorOZ9yZV8jCrEboEgjdyivgt+fiWO8XipstXEbUGWn1/g
Vi9ueaPmp83Aimrz6/Xn1iMAnMdDW1ig64BAgp5AU8ICdC7eYtkJjxKoKMNY09Fv
04XNT2THv13Z0mh1GYAHyzReyZnkD/PA6+pszFVDURieGiESx/opHqJbrkcjkNwH
X8yN1UG+LoWamMaYlrVPx0Pu05w7qoQXSLJOgXTmoXmy21ytqSVdeJKdNsoDeCDr
7ougCB9c4XHRUxrG4KoC8Bh7qTj68L84od3VdH9ylMwUW6XnKfoeLP+3tqyq9Q+Y
PLfjMo3zeV6xoo0AWv2BcJw6b5dx+Z7kTKYPa+wu7VQ3kGY1iljrHY6EuLhMS8yH
HVVsyTpqL5heuqPx2pcTALqrTyUCHki2EYAMdg+lnXx6Ed9D+KyhC2bvamgzaaTU
jcEIu2Qf4xYeQsMmCI9JUqawKVdB4IttfWDyT5Y0rNyQyGvdjugDkavOdThKKqyL
7fs2T71J1h0bnMy+Bc3b
=0bAg
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to