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
Bug-Debian: https://bugs.debian.org/808455
Forwarded: not-needed
Reviewed-By:
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
# 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;
}
}