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()))
{
}