Control: tags -1 + patch

[Chris Lamb 2015-12-20]
> roboptim-core fails to build from source in unstable/amd64:

It still fail to build.

>   dh_install: libroboptim-core2-plugin-base missing files 
> (usr/lib/*/roboptim-core/*.so.2*), aborting
>   debian/rules:26: recipe for target 'binary' failed
>   make: *** [binary] Error 255

The files in that directory is no longer named *.so.2*, but only *.so.  I thus
suggest changing the .install file to look like this:

  usr/lib/*/roboptim-core/*.so*

There is a new failure caused by a new C++ compiler.  The attached patch solve
this problem.  The changes were fetched from upstream, so upgrading to a new
upstream version might be a good idea too.

With these two changes in place, the package build in unstable.

Btw, is this package still being maintained?  No RC fixes for a long time and
last maintainer upload 2014-06-26 make me uneasy about this.

-- 
Happy hacking
Petter Reinholdtsen
Description: Fix build problems with the recent C++ compiler
 Fix C++ resolver issues breaking the build.  The changes are fetched
 from upstream, where the solution was already in place 2016-10-23.
Author: Petter Reinholdtsen <p...@debian.org>
Bug-Debian: https://bugs.debian.org/808455
Forwarded: not-needed
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2016-10-23

--- roboptim-core-2.0.orig/include/roboptim/core/terminal-color.hh
+++ roboptim-core-2.0/include/roboptim/core/terminal-color.hh
@@ -26,32 +26,25 @@
 #  include <unistd.h>
 # endif // _WIN32
 
-# ifdef _WIN32
-#  define ROBOPTIM_CORE_FILTER_TTY()			\
-  do							\
-    {							\
-      return o;						\
-    }							\
-  while (0)
-# else
-#  define ROBOPTIM_CORE_FILTER_TTY()			\
-  do							\
-    {							\
-      if (o == std::cout && !isatty (fileno (stdout)))	\
-	return o;					\
-      if (o == std::cerr && !isatty (fileno (stderr)))	\
-	return o;					\
-      if (o != std::cout && o != std::cerr)		\
-	return o;					\
-    }							\
-  while (0)
-#endif // _WIN32
+# define ROBOPTIM_CORE_FILTER_TTY()		\
+  if (!roboptim::fg::isTtyStream (o))		\
+    return o
 
 
 namespace roboptim
 {
   namespace fg
   {
+    inline bool isTtyStream (const std::ostream& o)
+    {
+# ifdef _WIN32
+      return false;
+# else
+      return !((o.rdbuf () == std::cout.rdbuf () && !isatty (fileno (stdout))) ||
+               (o.rdbuf () == std::cerr.rdbuf () && !isatty (fileno (stderr))) ||
+               (o.rdbuf () != std::cout.rdbuf () && o.rdbuf () != std::cerr.rdbuf ()));
+#endif // _WIN32
+    }
     inline std::ostream& reset (std::ostream& o)
     {
       ROBOPTIM_CORE_FILTER_TTY ();
--- roboptim-core-2.0.orig/include/roboptim/core/solver-factory.hxx
+++ roboptim-core-2.0/include/roboptim/core/solver-factory.hxx
@@ -144,7 +144,7 @@ namespace roboptim
 	std::stringstream sserror;
 	sserror << "libltdl failed to close plug-in: "
 		<< lt_dlerror ();
-	std::cerr << sserror << std::endl;
+	std::cerr << sserror.str() << std::endl;
       }
 
     if (lt_dlexit ())
@@ -152,7 +152,7 @@ namespace roboptim
 	std::stringstream sserror;
 	sserror << "libltdl failed to call ``create'': "
 		<< lt_dlerror ();
-	std::cerr << sserror << std::endl;
+	std::cerr << sserror.str() << std::endl;
       }
   }
 
-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to