Package: schroot
Version: 1.4.23

The gcc compiler in the Fedora distribution has recently been updated to gcc 4.7, at which point schroot failed to build.

Official build results can be seen here:

        http://koji.fedoraproject.org/koji/taskinfo?taskID=3668529

Specifically, the compile errors are here:

        http://koji.fedoraproject.org/koji/getfile?taskID=3688962&name=build.log

A fedora contributer (Ralf Corsepius), has developed a patch (attached) which results in a successful build.

diff -Naur schroot-1.4.23.orig/sbuild/sbuild-custom-error.h 
schroot-1.4.23/sbuild/sbuild-custom-error.h
--- schroot-1.4.23.orig/sbuild/sbuild-custom-error.h    2011-06-11 
17:54:38.186135440 +0200
+++ schroot-1.4.23/sbuild/sbuild-custom-error.h 2012-01-17 16:25:31.343780636 
+0100
@@ -41,8 +41,8 @@
      * @param error the error code.
      */
     custom_error (error_type error):
-      sbuild::error<T>(format_error(null(), null(), null(), error, null(), 
null(), null()),
-                      format_reason(null(), null(), null(), error, null(), 
null(), null()))
+      sbuild::error<T>(this->format_error(null(), null(), null(), error, 
null(), null(), null()),
+                      this->format_reason(null(), null(), null(), error, 
null(), null(), null()))
     {
     }
 
@@ -55,8 +55,8 @@
     template<typename C>
     custom_error (C const&   context,
                  error_type error):
-      sbuild::error<T>(format_error(context, null(), null(), error, null(), 
null(), null()),
-                      format_reason(context, null(), null(), error, null(), 
null(), null()))
+      sbuild::error<T>(this->format_error(context, null(), null(), error, 
null(), null(), null()),
+                      this->format_reason(context, null(), null(), error, 
null(), null(), null()))
     {
     }
 
@@ -69,8 +69,8 @@
     template<typename D>
     custom_error (error_type error,
                  D const&   detail):
-      sbuild::error<T>(format_error(null(), null(), null(), error, detail, 
null(), null()),
-                      format_reason(null(), null(), null(), error, detail, 
null(), null()))
+      sbuild::error<T>(this->format_error(null(), null(), null(), error, 
detail, null(), null()),
+                      this->format_reason(null(), null(), null(), error, 
detail, null(), null()))
     {
     }
 
@@ -85,8 +85,8 @@
     custom_error (error_type error,
                  D const&   detail,
                  E const&   detail2):
-      sbuild::error<T>(format_error(null(), null(), null(), error, detail, 
detail2, null()),
-                      format_reason(null(), null(), null(), error, detail, 
detail2, null()))
+      sbuild::error<T>(this->format_error(null(), null(), null(), error, 
detail, detail2, null()),
+                      this->format_reason(null(), null(), null(), error, 
detail, detail2, null()))
     {
     }
 
@@ -103,8 +103,8 @@
                  D const&   detail,
                  E const&   detail2,
                  F const&   detail3):
-      sbuild::error<T>(format_error(null(), null(), null(), error, detail, 
detail2, detail3),
-                      format_reason(null(), null(), null(), error, detail, 
detail2, detail3))
+      sbuild::error<T>(this->format_error(null(), null(), null(), error, 
detail, detail2, detail3),
+                      this->format_reason(null(), null(), null(), error, 
detail, detail2, detail3))
     {
     }
 
@@ -119,8 +119,8 @@
     custom_error (C const&   context,
                  error_type error,
                  D const&   detail):
-      sbuild::error<T>(format_error(context, null(), null(), error, detail, 
null(), null()),
-                      format_reason(context, null(), null(), error, detail, 
null(), null()))
+      sbuild::error<T>(this->format_error(context, null(), null(), error, 
detail, null(), null()),
+                      this->format_reason(context, null(), null(), error, 
detail, null(), null()))
     {
     }
 
@@ -155,8 +155,8 @@
                  D const&   context2,
                  error_type error,
                  E const&   detail):
-      sbuild::error<T>(format_error(context1, context2, null(), error, detail, 
null(), null()),
-                      format_reason(context1, context2, null(), error, detail, 
null(), null()))
+      sbuild::error<T>(this->format_error(context1, context2, null(), error, 
detail, null(), null()),
+                      this->format_reason(context1, context2, null(), error, 
detail, null(), null()))
     {
     }
 
diff -Naur schroot-1.4.23.orig/sbuild/sbuild-nostream.h 
schroot-1.4.23/sbuild/sbuild-nostream.h
--- schroot-1.4.23.orig/sbuild/sbuild-nostream.h        2011-05-27 
18:01:47.134846621 +0200
+++ schroot-1.4.23/sbuild/sbuild-nostream.h     2012-01-17 15:56:54.369906387 
+0100
@@ -58,7 +58,7 @@
       std::basic_ios<cT, traits>(&nbuf),
       std::basic_ostream<cT, traits>(&nbuf)
     {
-      init(&nbuf);
+      this->init(&nbuf);
     }
 
   private:
diff -Naur schroot-1.4.23.orig/sbuild/sbuild-parse-error.h 
schroot-1.4.23/sbuild/sbuild-parse-error.h
--- schroot-1.4.23.orig/sbuild/sbuild-parse-error.h     2011-06-11 
17:54:38.190135491 +0200
+++ schroot-1.4.23/sbuild/sbuild-parse-error.h  2012-01-17 15:48:44.742942465 
+0100
@@ -46,8 +46,8 @@
     template<typename C>
     parse_error (C const&   context,
                 error_type error):
-      sbuild::error<T>(format_error(context, null(), null(), error, null(), 
null(), null()),
-                      format_reason(context, null(), null(), error, null(), 
null(), null()))
+      sbuild::error<T>(this->format_error(context, null(), null(), error, 
null(), null(), null()),
+                      this->format_reason(context, null(), null(), error, 
null(), null(), null()))
     {
     }
 
@@ -60,8 +60,8 @@
     template<typename D>
     parse_error (error_type error,
                 D const&   detail):
-      sbuild::error<T>(format_error(null(), null(), null(), error, detail, 
null(), null()),
-                      format_reason(null(), null(), null(), error, detail, 
null(), null()))
+      sbuild::error<T>(this->format_error(null(), null(), null(), error, 
detail, null(), null()),
+                      this->format_reason(null(), null(), null(), error, 
detail, null(), null()))
     {
     }
 
@@ -76,8 +76,8 @@
     parse_error (size_t     line,
                 error_type error,
                 D const&   detail):
-      sbuild::error<T>(format_error(line, null(), null(), error, detail, 
null(), null()),
-                      format_reason(line, null(), null(), error, detail, 
null(), null()))
+      sbuild::error<T>(this->format_error(line, null(), null(), error, detail, 
null(), null()),
+                      this->format_reason(line, null(), null(), error, detail, 
null(), null()))
     {
     }
 
@@ -94,8 +94,8 @@
                 std::string const& group,
                 error_type         error,
                 D const&           detail):
-      sbuild::error<T>(format_error(line, group, null(), error, detail, 
null(), null()),
-                      format_reason(line, group, null(), error, detail, 
null(), null()))
+      sbuild::error<T>(this->format_error(line, group, null(), error, detail, 
null(), null()),
+                      this->format_reason(line, group, null(), error, detail, 
null(), null()))
     {
     }
 
@@ -114,8 +114,8 @@
                 std::string const& key,
                 error_type         error,
                 D const&           detail):
-      sbuild::error<T>(format_error(line, group, key, error, detail, null(), 
null()),
-                      format_reason(line, group, key, error, detail, null(), 
null()))
+      sbuild::error<T>(this->format_error(line, group, key, error, detail, 
null(), null()),
+                      this->format_reason(line, group, key, error, detail, 
null(), null()))
     {
     }
 
@@ -130,8 +130,8 @@
     parse_error (std::string const& group,
                 error_type         error,
                 D const&           detail):
-      sbuild::error<T>(format_error(group, null(), null(), error, detail, 
null(), null()),
-                      format_reason(group, null(), null(), error, detail, 
null(), null()))
+      sbuild::error<T>(this->format_error(group, null(), null(), error, 
detail, null(), null()),
+                      this->format_reason(group, null(), null(), error, 
detail, null(), null()))
     {
     }
 
@@ -148,8 +148,8 @@
                 std::string const& key,
                 error_type         error,
                 D const&           detail):
-      sbuild::error<T>(format_error(group, key, null(), error, detail, null(), 
null()),
-                      format_reason(group, key, null(), error, detail, null(), 
null()))
+      sbuild::error<T>(this->format_error(group, key, null(), error, detail, 
null(), null()),
+                      this->format_reason(group, key, null(), error, detail, 
null(), null()))
     {
     }
 

Reply via email to