Compiling ginac-1.4.1 with gcc-4.3.0 from portage gives following error:
numeric.cpp:422: error: explicit template specialization cannot have a storage
class resolved by patch
Reproducible: Always
This patch solves the problem:
diff -aur ginac.old/numeric.cpp ginac/numeric.cpp
--- ginac.old/numeric.cpp 2008-03-29 16:22:52.000000000 +0100
+++ ginac/numeric.cpp 2008-03-29 17:49:41.000000000 +0100
@@ -408,7 +408,7 @@
* @sa http://www.ginac.de/pipermail/cln-list/2006-October/000248.html
*/
template<>
-static inline bool coerce<int, cln::cl_I>(int& dst, const cln::cl_I& arg)
+inline bool coerce<int, cln::cl_I>(int& dst, const cln::cl_I& arg)
{
static const cln::cl_I cl_max_int =
(cln::cl_I)(long)(std::numeric_limits<int>::max());
@@ -422,7 +422,7 @@
}
template<>
-static inline bool coerce<unsigned int, cln::cl_I>(unsigned int& dst, const
cln::cl_I& arg)
+inline bool coerce<unsigned int, cln::cl_I>(unsigned int& dst, const
cln::cl_I& arg)
{