It's a problem in boost which is fixed in 1.50. TIME_UTC is a C11 macro
that colides with boost::TIME_UTC. In Boost 1.50, this constant was renamed
to TIME_UTC_.
You should update your Build-Depends (upstream has already fixed this).
Unfortunately changing the build-depends to point at boost 1.50 or 1.53 results in a different error.

In file included from /usr/include/boost/filesystem.hpp:15:0,
                from /performous-0.7.0.new/game/fs.hh:3,
                from /performous-0.7.0.new/game/controllers.cc:9:
/usr/include/boost/filesystem/config.hpp:16:5: error: #error Compiling Filesystem version 3 file with BOOST_FILESYSTEM_VERSION defined != 3

So I decided to take a different approach. Rather than trying to move to a newer boost I decided to try and deal with the problem with 1.49. It seems that the renaming of the enum value has been backported to 1.49 by debian but performous doesn't know this. I edited the code to unconditionally use the new name

I also changed the build-depends to 1.49 explicitly so the package will continue to build after the boost-defaults are changed and versioned the build-depends on the version that backported the enum fix.

I will be uploading this fix to Raspbian jessie along with a raspbian specific change for an issue that I could not reproduce in debian. I have no immediate plans to upload this as a NMU but I may change my mind on that later.

Patch (including NMU changelog) is attached.

Note: i'm just a guy who stubled across this bug while working on a deriviative, I have no relation to the package.
diff -Nru performous-0.7.0/debian/changelog performous-0.7.0/debian/changelog
--- performous-0.7.0/debian/changelog   2012-11-23 14:33:35.000000000 +0000
+++ performous-0.7.0/debian/changelog   2013-06-03 22:17:18.000000000 +0000
@@ -1,3 +1,14 @@
+performous (0.7.0-1.1) unstable; urgency=low
+
+  * debian/control: Set build-depends to 1.49 explicitly due to build failure 
with 
+    newer boost versions.
+  * debian/patches/backported_TIME_UTC_change.patch Adjust code to take 
account of
+    debian backport of TIME_UTC -> TIME_UTC_ name change.
+  * debian/control: Version boost build-depencies on version that introduced
+    the backported name change.
+
+ -- Peter Michael Green <plugw...@debian.org>  Mon, 03 Jun 2013 22:07:38 +0000
+
 performous (0.7.0-1) unstable; urgency=low
 
   [ Miriam Ruiz ]
diff -Nru performous-0.7.0/debian/control performous-0.7.0/debian/control
--- performous-0.7.0/debian/control     2012-11-21 17:48:38.000000000 +0000
+++ performous-0.7.0/debian/control     2013-06-03 22:06:46.000000000 +0000
@@ -6,9 +6,9 @@
 Build-Depends: debhelper (>= 9),
  cmake (>= 2.6), pkg-config, help2man, gettext,
  libgl1-mesa-dev, libsdl1.2-dev, libcairo2-dev, librsvg2-dev,
- libboost-thread-dev (>= 1.36), libboost-serialization-dev (>= 1.36),
- libboost-program-options-dev (>= 1.36), libboost-regex-dev (>= 1.36),
- libboost-filesystem-dev (>= 1.36),
+ libboost-thread1.49-dev (>= 1.49.0-4), libboost-serialization1.49-dev (>= 
1.49.0-4),
+ libboost-program-options1.49-dev (>= 1.49.0-4), libboost-regex1.49-dev (>= 
1.49.0-4),
+ libboost-filesystem1.49-dev (>= 1.49.0-4),
  libavcodec-dev, libavformat-dev, libswscale-dev,
  libmagick++-dev, libsamplerate0-dev, libxml++2.6-dev,
  libasound2-dev, libjack-dev, libpulse-dev, portaudio19-dev,
diff -Nru performous-0.7.0/debian/patches/backported_TIME_UTC_change.patch 
performous-0.7.0/debian/patches/backported_TIME_UTC_change.patch
--- performous-0.7.0/debian/patches/backported_TIME_UTC_change.patch    
1970-01-01 00:00:00.000000000 +0000
+++ performous-0.7.0/debian/patches/backported_TIME_UTC_change.patch    
2013-06-03 22:16:27.000000000 +0000
@@ -0,0 +1,24 @@
+Description: Deal with backported TIME_UTC name change in debian
+ For compatibility with new eglibc debian has backported the TIME_UTC -> 
TIME_UTC_ name change.
+ name change to boost 1.49. So use the new name unconditionally rather than 
only
+ when building with boost 1.50+
+Author: Peter Michael Green <plugw...@debian.org>
+
+--- performous-0.7.0.orig/game/xtime.hh
++++ performous-0.7.0/game/xtime.hh
+@@ -21,11 +21,11 @@ namespace {
+       }
+       boost::xtime now() {
+               boost::xtime time;
+-#if (BOOST_VERSION / 100 % 1000 >= 50)
++//#if (BOOST_VERSION / 100 % 1000 >= 50)
+               boost::xtime_get(&time, boost::TIME_UTC_);
+-#else
+-              boost::xtime_get(&time, boost::TIME_UTC);
+-#endif
++//#else
++//            boost::xtime_get(&time, boost::TIME_UTC);
++//#endif
+               return time;
+       }
+       double seconds(boost::xtime const& time) {
diff -Nru performous-0.7.0/debian/patches/series 
performous-0.7.0/debian/patches/series
--- performous-0.7.0/debian/patches/series      2012-11-20 23:01:24.000000000 
+0000
+++ performous-0.7.0/debian/patches/series      2013-06-03 22:14:24.000000000 
+0000
@@ -2,3 +2,4 @@
 boost_filesystem_v2.patch
 libav0.8.diff
 
+backported_TIME_UTC_change.patch

Reply via email to