Bug#865527: libloki-dev: Recompile package in order to upgrade its ABI

2017-06-22 Thread Philipp Büttgenbach
Package: libloki-dev
Version: 0.1.7-3
Severity: important

Dear Maintainer,

after the upgrade to stretch (and g++ version 6) I suddenly got linker errors.
After recompiling the deb-packages and installing them, the linker errors
disappeared.  I conclude, that this package should be recompiled in order to
upgrade its ABI.


Kind regards,

Philipp



-- System Information:
Debian Release: 9.0
  APT prefers proposed-updates
  APT policy: (500, 'proposed-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 4.9.0-3-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), 
LANGUAGE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libloki-dev depends on:
ii  libloki0.1.7  0.1.7-3

libloki-dev recommends no packages.

Versions of packages libloki-dev suggests:
ii  libloki-doc  0.1.7-3

-- no debconf information



Bug#864450: libboost1.55-dev: Boost.Parameter -- add python 3 support

2017-06-08 Thread Philipp Büttgenbach
Package: libboost1.55-dev
Version: 1.55.0+dfsg-3
Severity: wishlist

Dear Maintainer,

enclosed I send a patch which adds python 3 support to
/usr/include/boost/parameter/python.hpp.


Kind regards,

Philipp







-- System Information:
Debian Release: 8.6
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 4.3.0-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libboost1.55-dev depends on:
ii  libstdc++-4.9-dev [libstdc++-dev]  4.9.2-10

libboost1.55-dev recommends no packages.

Versions of packages libboost1.55-dev suggests:
ii  libboost-atomic1.55-dev   1.55.0+dfsg-3
ii  libboost-chrono1.55-dev   1.55.0+dfsg-3
ii  libboost-context1.55-dev  1.55.0+dfsg-3
ii  libboost-coroutine1.55-dev1.55.0+dfsg-3
ii  libboost-date-time1.55-dev1.55.0+dfsg-3
ii  libboost-exception1.55-dev1.55.0+dfsg-3
ii  libboost-filesystem1.55-dev   1.55.0+dfsg-3
ii  libboost-graph-parallel1.55-dev   1.55.0+dfsg-3
ii  libboost-graph1.55-dev1.55.0+dfsg-3
ii  libboost-iostreams1.55-dev1.55.0+dfsg-3
ii  libboost-locale1.55-dev   1.55.0+dfsg-3
ii  libboost-log1.55-dev  1.55.0+dfsg-3
ii  libboost-math1.55-dev 1.55.0+dfsg-3
ii  libboost-mpi-python1.55-dev   1.55.0+dfsg-3
ii  libboost-mpi1.55-dev  1.55.0+dfsg-3
ii  libboost-program-options1.55-dev  1.55.0+dfsg-3
ii  libboost-python1.55-dev   1.55.0+dfsg-3
ii  libboost-random1.55-dev   1.55.0+dfsg-3
ii  libboost-regex1.55-dev1.55.0+dfsg-3
ii  libboost-serialization1.55-dev1.55.0+dfsg-3
ii  libboost-signals1.55-dev  1.55.0+dfsg-3
ii  libboost-system1.55-dev   1.55.0+dfsg-3
ii  libboost-test1.55-dev 1.55.0+dfsg-3
ii  libboost-thread1.55-dev   1.55.0+dfsg-3
ii  libboost-timer1.55-dev1.55.0+dfsg-3
ii  libboost-wave1.55-dev 1.55.0+dfsg-3
ii  libboost1.55-doc  1.55.0+dfsg-3
ii  libboost1.55-tools-dev1.55.0+dfsg-3
pn  libmpfrc++-dev
pn  libntl-dev

-- no debconf information
--- /usr/include/boost/parameter/python.hpp	2014-09-19 07:39:34.0 +0200
+++ boost/parameter/python.hpp	2017-06-03 13:49:59.643583271 +0200
@@ -41,8 +41,12 @@
   inline PyObject* unspecified_type()
   {
   static PyTypeObject unspecified = {
+#if PY_MAJOR_VERSION > 2
+PyVarObject_HEAD_INIT(nullptr, sizeof(PyTypeObject))
+#else
   PyObject_HEAD_INIT(NULL)
   0,/* ob_size*/
+#endif
   "Boost.Parameter.Unspecified",/* tp_name*/
   PyType_Type.tp_basicsize, /* tp_basicsize   */
   0,/* tp_itemsize*/
@@ -65,11 +69,18 @@
   0,/* tp_doc */
   };
 
+#if PY_MAJOR_VERSION > 2
+if (0 == Py_TYPE()) {
+Py_TYPE() = _Type;
+PyType_Ready();
+}
+#else
   if (unspecified.ob_type == 0)
   {
   unspecified.ob_type = _Type;
   PyType_Ready();
   }
+#endif
 
   return (PyObject*)
   }
@@ -732,4 +743,3 @@
 }}} // namespace boost::parameter::python
 
 #endif // BOOST_PARAMETER_PYTHON_060209_HPP
-


Bug#864442: libboost1.55-dev: Boost.Units -- unit name is siemens and not siemen

2017-06-08 Thread Philipp Büttgenbach
Package: libboost1.55-dev
Version: 1.55.0+dfsg-3
Severity: minor

Dear Maintainer,

there is a typo in /usr/include/boost/units/systems/si/io.hpp: the unit name is
siemens and not siemen.


Kind regards,

Philipp



-- System Information:
Debian Release: 8.6
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 4.3.0-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libboost1.55-dev depends on:
ii  libstdc++-4.9-dev [libstdc++-dev]  4.9.2-10

libboost1.55-dev recommends no packages.

Versions of packages libboost1.55-dev suggests:
ii  libboost-atomic1.55-dev   1.55.0+dfsg-3
ii  libboost-chrono1.55-dev   1.55.0+dfsg-3
ii  libboost-context1.55-dev  1.55.0+dfsg-3
ii  libboost-coroutine1.55-dev1.55.0+dfsg-3
ii  libboost-date-time1.55-dev1.55.0+dfsg-3
ii  libboost-exception1.55-dev1.55.0+dfsg-3
ii  libboost-filesystem1.55-dev   1.55.0+dfsg-3
ii  libboost-graph-parallel1.55-dev   1.55.0+dfsg-3
ii  libboost-graph1.55-dev1.55.0+dfsg-3
ii  libboost-iostreams1.55-dev1.55.0+dfsg-3
ii  libboost-locale1.55-dev   1.55.0+dfsg-3
ii  libboost-log1.55-dev  1.55.0+dfsg-3
ii  libboost-math1.55-dev 1.55.0+dfsg-3
ii  libboost-mpi-python1.55-dev   1.55.0+dfsg-3
ii  libboost-mpi1.55-dev  1.55.0+dfsg-3
ii  libboost-program-options1.55-dev  1.55.0+dfsg-3
ii  libboost-python1.55-dev   1.55.0+dfsg-3
ii  libboost-random1.55-dev   1.55.0+dfsg-3
ii  libboost-regex1.55-dev1.55.0+dfsg-3
ii  libboost-serialization1.55-dev1.55.0+dfsg-3
ii  libboost-signals1.55-dev  1.55.0+dfsg-3
ii  libboost-system1.55-dev   1.55.0+dfsg-3
ii  libboost-test1.55-dev 1.55.0+dfsg-3
ii  libboost-thread1.55-dev   1.55.0+dfsg-3
ii  libboost-timer1.55-dev1.55.0+dfsg-3
ii  libboost-wave1.55-dev 1.55.0+dfsg-3
ii  libboost1.55-doc  1.55.0+dfsg-3
ii  libboost1.55-tools-dev1.55.0+dfsg-3
pn  libmpfrc++-dev
pn  libntl-dev

-- no debconf information
--- /usr/include/boost/units/systems/si/io.hpp	2014-09-19 07:39:41.0 +0200
+++ io.hpp	2017-06-08 18:44:19.827316128 +0200
@@ -34,7 +34,7 @@
 inline std::string name_string(const reduce_unit::type&) { return "katal"; }
 inline std::string symbol_string(const reduce_unit::type&) { return "kat"; }
 
-inline std::string name_string(const reduce_unit::type&) { return "siemen"; }
+inline std::string name_string(const reduce_unit::type&) { return "siemens"; }
 inline std::string symbol_string(const reduce_unit::type&) { return "S"; }
 
 // gray and sievert are indistinguishable


Bug#814751: copyright-update: Encode copyright sign to make regexp match

2016-02-14 Thread Philipp Büttgenbach
Package: copyright-update
Version: 2013.0602-1
Severity: normal

Dear Maintainer,

The copyright sign should be encoded according to the file's encoding to
make the regexp match.

Enclosed I send you a dirty hack which fixed the error for me; a proper
fix should try to guess the file's encoding.


Kind regards,

Philipp



-- System Information:
Debian Release: 8.0
Architecture: i386 (i686)

Kernel: Linux 3.16.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages copyright-update depends on:
ii  perl  5.20.1-4

copyright-update recommends no packages.

copyright-update suggests no packages.

-- no debconf information
--- /usr/bin/copyright-update	2013-06-03 03:04:14.0 +0200
+++ scripts/copyright-update	2016-02-14 22:50:29.188090341 +0100
@@ -42,6 +42,9 @@
 use File::Find;
 use charnames q(:full);
 
+use Encode;
+use Encode::Guess;
+
 IMPORT: # This is just a syntactic sugar: actually no-op
 {
 #   Import following environment variables
@@ -779,7 +782,7 @@
 	# Perl Unicode also would accpt x{a9}/, but \N{} is more readable
 	# http://en.wikipedia.org/wiki/Copyright_symbol
 
-	my $ch   = "\N{COPYRIGHT SIGN}";
+	my $ch   = encode("UTF-8", "\N{COPYRIGHT SIGN}");
 	my $sign = '(?:' . $ch . '|\([Cc]\))';
 	my $ = '\d{4}';
 	my $copy = '(?:(?i)Copyright):?[ \t]+' . $sign . '[ \t]+' . $;


Bug#736985: libeigen3-dev: Spline Module: A call to Spline::derivative fails to compile if dimension=1

2014-01-28 Thread Philipp Büttgenbach
Package: libeigen3-dev
Version: 3.1.0-1
Severity: normal
Tags: patch

Dear Maintainer,

the bug can be demonstrated using Hauke's example from
http://forum.kde.nl/viewtopic.php?f=74t=98871 (see enclosed file). The call to
Spline2d::derivative1 is an extension of Hauke's example inserted
by me.  This call makes this example fail to compile:

---8-8-8-8-8-8-8-8-8-8
$ LANG=C g++ -I/usr/include/eigen3/ eigen-spline-example-from-hauke.cpp
In file included from /usr/include/eigen3/Eigen/Core:300:0,
 from eigen-spline-example-from-hauke.cpp:4:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h: In instantiation of
'static void Eigen::PlainObjectBaseDerived::_check_template_params() [with
Derived = Eigen::Arraydouble, 1, -1, 0, 1, 2]':
/usr/include/eigen3/Eigen/src/Core/Array.h:127:7:   required from
'Eigen::Array_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols::Array()
[with _Scalar = double; int _Rows = 1; int _Cols = -1; int _Options = 0; int
_MaxRows = 1; int _MaxCols = 2]'
/usr/include/eigen3/unsupported/Eigen/src/Splines/Spline.h:339:70:   required
from 'typename Eigen::SplineTraitsEigen::SplineScalar, Dim, Degree,
DerivativeOrder::DerivativeType Eigen::SplineScalar, Dim,
Degree::derivatives(Eigen::SplineScalar, Dim, Degree::Scalar,
Eigen::DenseIndex) const [with int DerivativeOrder = 1; _Scalar = double; int
_Dim = 1; int _Degree = -1; typename Eigen::SplineTraitsEigen::SplineScalar,
Dim, Degree, DerivativeOrder::DerivativeType = Eigen::Arraydouble, 1, -1, 0,
1, 2; Eigen::SplineScalar, Dim, Degree::Scalar = double; Eigen::DenseIndex =
int]'
eigen-spline-example-from-hauke.cpp:37:98:   required from here
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:654:7: error:
'INVALID_MATRIX_TEMPLATE_PARAMETERS' is not a member of
'Eigen::internal::static_assertionfalse'
---8-8-8-8-8-8-8-8-8-8

This bug can be fixed by changing in
/usr/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h the
DerivativeType from ColMajor to RowMajor (see enclosed patch for details).
With this change everything compiles fine:

---8-8-8-8-8-8-8-8-8-8
$ LANG=C g++ -I/usr/include/eigen3/ -include SplineFwd.h eigen-spline-example-
from-hauke.cpp  echo $?
0
---8-8-8-8-8-8-8-8-8-8









-- System Information:
Debian Release: 7.3
  APT prefers proposed-updates
  APT policy: (500, 'proposed-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

libeigen3-dev depends on no packages.

libeigen3-dev recommends no packages.

Versions of packages libeigen3-dev suggests:
ii  libeigen3-doc  3.1.0-1
#include vector
#include iostream

#include Eigen/Core
#include unsupported/Eigen/Splines

using namespace Eigen;

double uvalue(double x, double low, double high)
{
  return (x - low)/(high-low);
}

VectorXd uvalues(VectorXd xvals)
{
  const double low = xvals.minCoeff();
  const double high = xvals.maxCoeff();
  for (int i=0; ixvals.size(); ++i)
  {
xvals(i) = uvalue(xvals(i), low, high);
  }
  return xvals;
}

int main(int argc, char* argv[])
{
  typedef Splinedouble,1 Spline2d;

  const VectorXd xvals = (VectorXd(5)  1,2,3,4,6).finished();
  const VectorXd yvals = xvals.array().square();
  const Spline2d spline = SplineFittingSpline2d::Interpolate(yvals.transpose(), 3, uvalues(xvals).transpose());

  const double step = 0.1;
  for (double x = 1; x  6 + 0.5*step; x += step)
  {
	const double uv = uvalue(x, xvals.minCoeff(), xvals.maxCoeff());
std::cout  (  x  ,  spline(uv).transpose()  ,  spline.derivatives1(uv)  )\n;
  }
  std::cout  std::endl;
}
--- /usr/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h	2012-06-23 19:29:21.0 +0200
+++ ./SplineFwd.h	2014-01-10 00:54:22.872994299 +0100
@@ -82,7 +82,7 @@
   typedef Array_Scalar,Dynamic,Dynamic,RowMajor,NumOfDerivativesAtCompileTime,OrderAtCompileTime BasisDerivativeType;
   
   /** \brief The data type used to store the spline's derivative values. */  
-  typedef Array_Scalar,_Dim,Dynamic,ColMajor,_Dim,NumOfDerivativesAtCompileTime DerivativeType;
+  typedef Array_Scalar,_Dim,Dynamic,RowMajor,_Dim,NumOfDerivativesAtCompileTime DerivativeType;
 };
 
 /** \brief 2D float B-spline with dynamic degree. */


Bug#669635: libgmm++-dev: fails to compile with g++-4.7 in c++11-mode

2012-04-20 Thread Philipp Büttgenbach
Package: libgmm++-dev
Version: 4.1.1-9
Severity: normal

Dear Maintainer,

g++-4.7 introduces user defined literals in c++11-mode. That breaks libgmm++.

I've attached a patch to fix this problem.


Kind regards,

Philipp



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- no debconf information
--- gmm_except.h.orig	2012-04-20 17:19:39.0 +0200
+++ /usr/include/gmm/gmm_except.h	2012-04-20 17:21:41.146109947 +0200
@@ -76,7 +76,7 @@
   }
 # define GMM_THROW_(type, errormsg) {	\
 std::stringstream msg;		\
-msg  Error in __FILE__  , line \
+msg  Error in   __FILE__  , line \
 	 __LINE__ GMM_PRETTY_FUNCTION  : \n		\
 	 errormsg  ends;		\
 throw (type)(msg.str());		\
@@ -91,7 +91,7 @@
   }
 # define GMM_THROW_(type, errormsg) {	\
 std::stringstream msg;		\
-msg  Error in __FILE__  , line \
+msg  Error in   __FILE__  , line \
 	 __LINE__ GMM_PRETTY_FUNCTION  : \n		\
 	 errormsgends;		\
 ::abort();\
@@ -148,7 +148,7 @@
 
 #define GMM_WARNING_MSG(level_, thestr)  {			   \
   std::stringstream msg;   \
-  msg  Level   level_   Warning in __FILE__  , line  \
+  msg  Level   level_   Warning in   __FILE__  , line  \
__LINE__  :   thestr  ends;		   \
std::cerr  msg.str()  std::endl;\
 }
@@ -210,7 +210,7 @@
 #define GMM_TRACE_MSG(level_, thestr)  {			   \
 GMM_TRACE_MSG_MPI {		   \
   std::stringstream msg;   \
-  msg  Trace   level_   in __FILE__  , line  \
+  msg  Trace   level_   in   __FILE__  , line  \
__LINE__  :   thestr   \
ends;		   \
   std::cout  msg.str()  std::endl;			   \