Package: lcalc Severity: minor Usertags: clang-ftbfs User: pkg-llvm-t...@lists.alioth.debian.org Tag: patch
Hello, Using the rebuild infrastructure, your package fails to build with clang (instead of gcc). Thanks, Arthur
diff -Naur lcalc.orig/lcalc-1.23+dfsg/debian/changelog lcalc/lcalc-1.23+dfsg/debian/changelog --- lcalc.orig/lcalc-1.23+dfsg/debian/changelog 2014-05-18 22:01:55.817738552 -0500 +++ lcalc/lcalc-1.23+dfsg/debian/changelog 2014-05-21 23:11:45.965611744 -0500 @@ -1,3 +1,16 @@ +lcalc (1.23+dfsg-3) unstable; urgency=low + + * Fix FTBFS with clang: + - Fixed error: C++ requires a type specifier for all declarations, + error: variable length array of non-POD element type in + include/L.h + include/Lcomplex.h + include/Ldokchitser.h + include/Lexplicit_formula.h + include/Lgamma.h + + -- Arthur Marble <art...@info9.net> Wed, 21 May 2014 23:11:43 -0500 + lcalc (1.23+dfsg-2) unstable; urgency=medium * Add patch fix_pari_include.patch: diff -Naur lcalc.orig/lcalc-1.23+dfsg/debian/patches/clang-ftbfs.diff lcalc/lcalc-1.23+dfsg/debian/patches/clang-ftbfs.diff --- lcalc.orig/lcalc-1.23+dfsg/debian/patches/clang-ftbfs.diff 1969-12-31 18:00:00.000000000 -0600 +++ lcalc/lcalc-1.23+dfsg/debian/patches/clang-ftbfs.diff 2014-05-21 23:06:15.701619120 -0500 @@ -0,0 +1,161 @@ +--- a/include/Lcomplex.h ++++ b/include/Lcomplex.h +@@ -135,7 +135,7 @@ namespace std + template<typename _Up> + complex<_Tp>& operator/=(const complex<_Up>&); + +- friend reset(complex<_Tp>& C) { ++ friend void reset(complex<_Tp>& C) { + reset(C._M_real); + reset(C._M_imag); + } +--- a/include/Lgamma.h ++++ b/include/Lgamma.h +@@ -77,7 +77,7 @@ Complex exp_recycle(); + //n=0 should just give log_GAMMA(z)... thus making log_GAMMA + //code obsolete. But leave log_GAMMA intact anyways. + template <class ttype> +-precise(ttype) log_GAMMA (ttype z,int n=0) ++precise(ttype) log_GAMMA (ttype z,int n) + { + int M; + precise(ttype) log_G,r,r2,y; +@@ -230,7 +230,7 @@ Complex GAMMA (ttype z1, ttype2 delta) + //value exp_w which holds exp(-w) + //computes G(z,w), so there's an extra w^(-z) factor. + template <class ttype> +-Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false) ++Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle) + { + + Complex G; +@@ -334,7 +334,7 @@ Complex inc_GAMMA (ttype z,ttype w, cons + + + template <class ttype> +-ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction ++ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via continued fraction + { + + ttype G; +@@ -424,7 +424,7 @@ ttype cfrac_GAMMA (ttype z,ttype w, ttyp + } + + template <class ttype> +-ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series ++ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via asymptotic series + { + + if(my_verbose>3) cout << "called asympt_GAMMA("<<z<<","<<w<<")"<< endl; +@@ -446,7 +446,7 @@ ttype asympt_GAMMA (ttype z,ttype w, tty + + + template <class ttype> +-ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w) ++ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle) //computes g(z,w) + { + + ttype g; +@@ -604,7 +604,7 @@ ttype comp_inc_GAMMA (ttype z,ttype w,tt + } + + template <class ttype> +-Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme") ++Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method) + { + Complex SUM=0; + +--- a/include/L.h ++++ b/include/L.h +@@ -491,7 +491,7 @@ public: + + //#include "Ldirichlet_series.h" //for computing Dirichlet series + Complex partial_dirichlet_series(Complex s, long long N1, long long N2); +- Complex dirichlet_series(Complex s, long long N); ++ Complex dirichlet_series(Complex s, long long N=-1); + + //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series + //void compute_taylor_series(int N, int K, Complex s_0, Complex *series); +--- a/include/Ldokchitser.h ++++ b/include/Ldokchitser.h +@@ -1,6 +1,8 @@ + #ifndef Ldokchitser_H + #define Ldokchitser_H + ++#include <vector> ++ + //finding the explicit taylor series for \phi(t) using Dokchitser algo + + #define MYDIGITS 5 // estimate of precision ... will be set using the precision variable +@@ -69,7 +71,8 @@ phi_series(int precision) + + // compute the values m[j] for the respective lambda_k[j] + +- Complex m[N+1]; ++ std::vector<Complex> m; ++ m.resize(N+1); + for (j=1;j<=N;j++) + m[j] = -2*lambda_k[j] + 2; + +@@ -77,8 +80,18 @@ phi_series(int precision) + // compute sum_{k=1}^a log Gamma((s+m[j]+2*lambda[k])/2) for each j + + int n,fact_n; +- Complex log_Gamma[N+1][a+1][MYDIGITS+1]; +- Complex sum_log_Gamma[N+1][MYDIGITS+1]; ++ std::vector<std::vector<std::vector<Complex> > log_Gamma; ++ log_Gamma.resize(N+1); ++ for (j=1;j<=N;j++) ++ { ++ log_Gamma[j].resize(a+1); ++ for (k=1;k<=a;k++) ++ log_Gamma[j][k].resize(MYDIGITS+1); ++ } ++ ++ std::vector<std::vector<Complex> > sum_log_Gamma; ++ sum_log_Gamma.resize(N+1); ++ for (j=1;j<=N;j++) sum_log_Gamma[j].resize(MYDIGITS+1); + + for (j=1;j<=N;j++) + for (n=0;n<=MYDIGITS;n++) +@@ -103,8 +116,19 @@ phi_series(int precision) + + // compute the exponential taylor series for gamma = exp(sum_log_Gamma) + +- Complex exp_sum_log_Gamma[N+1][MYDIGITS+1][MYDIGITS+1]; // symmetric functions +- Complex gamma[N+1][MYDIGITS+1]; // gamma(s+m[j]) for j = 1 to N ++ std::vector<std::vector<std::vector<Complex> > > exp_sum_log_Gamma; ++ exp_sum_log_Gamma.resize(N+1); ++ for (j=1;j<=N;j++) ++ { ++ exp_sum_log_Gamma[j].resize(MYDIGITS+1); ++ for (k=1;k<=MYDIGITS;k++) ++ exp_sum_log_Gamma[j][k].resize(MYDIGITS+1); ++ } ++ ++ std::vector<std::vector<Complex> > gamma; ++ gamma.resize(N+1); ++ for (j=1;j<=N;j++) gamma[j].resize(MYDIGITS+1); ++ + Complex temp_gamma[MYDIGITS+1]; + Complex temp_mult_gamma[MYDIGITS+1]; + Complex temp_exp_sum_log_Gamma[MYDIGITS+1]; +--- a/include/Lexplicit_formula.h ++++ b/include/Lexplicit_formula.h +@@ -1,4 +1,5 @@ + // This file mainly due to Kevin McGown, with modifications by Michael Rubinstein ++#include <vector> + + #ifndef Lexplicit_formula_H + #define Lexplicit_formula_H +@@ -24,8 +25,8 @@ template <class ttype> + int L_function <ttype>:: + dirichlet_coeffs_log_diff(int num_coeffs, Complex *c) + { +- +- Complex b[num_coeffs+1]; ++ std::vector<Complex> b; ++ b.resize(num_coeffs+1); + int j, n, d1, ind; + Complex total, total2, temp; diff -Naur lcalc.orig/lcalc-1.23+dfsg/debian/patches/series lcalc/lcalc-1.23+dfsg/debian/patches/series --- lcalc.orig/lcalc-1.23+dfsg/debian/patches/series 2014-05-18 22:01:55.817738552 -0500 +++ lcalc/lcalc-1.23+dfsg/debian/patches/series 2014-05-18 22:33:33.473696172 -0500 @@ -2,3 +2,4 @@ pari_2.7.patch Makefile.patch fix_pari_include.patch +clang-ftbfs.diff
-- debian-science-maintainers mailing list debian-science-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers