Package: dialign-t
Severity: minor
Tags: patch
User: pkg-llvm-t...@lists.alioth.debian.org
Usertags: clang-ftbfs

Hello,

Using the rebuild infrastructure, your package fails to build with clang
(instead of gcc).

Detected this kind of error:
http://clang.debian.net/status.php?version=3.4.2&key=UNDEF_REF

Full build log is available here:
http://clang.debian.net/logs/2014-06-16/dialign-t_1.0.2-6_unstable_clang.log

Thanks,
Arthur

-- System Information:
Debian Release: jessie/sid (unstable)
Architecture: amd64 (x86_64)
Kernel: Linux 3.14-2-amd64
Locale: LANG=en_US.UTF-8, LC_CTYPE="en_US.UTF-8"
Shell: /bin/sh linked to /bin/dash
Compiler: Debian clang version 3.5.0-+rc1-2 (tags/RELEASE_35/rc1) (based on 
LLVM 3.5.0)
diff -Naur dialign-t.orig/dialign-t-1.0.2/debian/changelog dialign-t/dialign-t-1.0.2/debian/changelog
--- dialign-t.orig/dialign-t-1.0.2/debian/changelog	2014-08-06 15:44:15.135034437 -0500
+++ dialign-t/dialign-t-1.0.2/debian/changelog	2014-08-06 15:52:44.235043303 -0500
@@ -1,3 +1,13 @@
+dialign-t (1.0.2-7) unstable; urgency=low
+
+  * Fix FTBFS with clang
+    - Fixed the undefined reference error in
+      source/alig.c
+      source/assemble.c
+      source/diag.c
+
+ -- Arthur Marble <art...@info9.net>  Wed, 06 Aug 2014 15:52:44 -0500
+
 dialign-t (1.0.2-6) unstable; urgency=medium
 
   * debian/patches/consistent_declarations.patch: Make sure declarations
diff -Naur dialign-t.orig/dialign-t-1.0.2/debian/patches/clang-ftbfs.diff dialign-t/dialign-t-1.0.2/debian/patches/clang-ftbfs.diff 
--- dialign-t.orig/dialign-t-1.0.2/debian/patches/clang-ftbfs.diff	1969-12-31 18:00:00.000000000 -0600
+++ dialign-t/dialign-t-1.0.2/debian/patches/clang-ftbfs.diff	2014-08-06 15:51:34.219042084 -0500
@@ -0,0 +1,78 @@
+--- a/source/diag.c
++++ b/source/diag.c
+@@ -183,7 +183,7 @@ void fill_tmp_pdist(struct prob_dist *pd
+  * omitScore = 0:  normal 
+  * omitScore = 1:  no score calculation 
+  */ 
+-inline void real_calc_weight(struct diag* dg, struct scr_matrix* smatrix,  
++static inline void real_calc_weight(struct diag* dg, struct scr_matrix* smatrix,
+ 		 struct prob_dist *pdist, char omitScore, long double **tmp_dist, struct alignment *algn ) { 
+    
+   if(dg->multi_dg) {
+@@ -302,7 +302,7 @@ inline void real_calc_weight(struct diag
+   } 
+ } 
+  
+-inline void calc_weight(struct diag* dg, struct scr_matrix* smatrix,  
++void calc_weight(struct diag* dg, struct scr_matrix* smatrix,
+ 		 struct prob_dist *pdist) { 
+   real_calc_weight(dg, smatrix, pdist, 0,NULL,NULL); 
+ } 
+@@ -312,7 +312,7 @@ inline void calc_weight(struct diag* dg,
+ /** 
+  * calculates the overlap weight for the given diag 
+  */ 
+-inline void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix,  
++static inline void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix,
+ 		    struct prob_dist *pdist) { 
+   int sn1 = dg->seq_p1.num; 
+   int sn2 = dg->seq_p2.num; 
+@@ -958,7 +958,7 @@ inline struct simple_diag_col* find_diag
+  * The pointer returned (and the ones included in the struct)  
+  * has to be deallocted explicitely from memory. 
+  */ 
+-inline struct simple_diag_col* find_diags_dialign(struct scr_matrix *smatrix,  
++static inline struct simple_diag_col* find_diags_dialign(struct scr_matrix *smatrix,
+ 				struct prob_dist *pdist, struct seq* seq1,  
+ 				struct seq* seq2, struct alignment *algn, 
+ 				 long double **tmp_dist, int round) { 
+--- a/source/assemble.c
++++ b/source/assemble.c
+@@ -10,7 +10,7 @@
+ 
+ extern void error(char *message);
+ extern void merror(char *msg1, char *msg2);
+-extern inline void calc_weight(struct diag* dg, struct scr_matrix* smatrix, 
++extern void calc_weight(struct diag* dg, struct scr_matrix* smatrix,
+ 			struct prob_dist *pdist);
+ extern inline void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix, 
+ 		    struct prob_dist *pdist);
+@@ -37,7 +37,7 @@ extern void free_alignment(struct alignm
+ extern inline struct algn_pos *find_eqc(struct algn_pos **ap, int seqnum, int pos);
+ extern struct alignment* copy_alignment( struct alignment *o_algn, struct alignment *algn, char doDgc);
+ //extern char adapt_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg);
+-extern inline char align_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg);
++extern char align_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg);
+ //extern inline struct diag_cont* enter_sorted(struct diag_cont* backlog_diags, struct diag_cont *cand);
+ //extern inline char fit_fpos_diag(struct alignment *algn, struct diag* dg);
+ 
+@@ -574,7 +574,7 @@ char simple_aligner(struct seq_col *scol
+  * returns a value <0 if there is an non-conflicting overlap
+  * returns 0 in all other non-conflicting cases
+  */
+-inline char confl_diag(struct alignment *algn, char *layer, struct diag *dg1, struct diag *dg2) {
++static inline char confl_diag(struct alignment *algn, char *layer, struct diag *dg1, struct diag *dg2) {
+   //  if(dg1->multi_dg || dg2->multi_dg) error(" confl_diag(): cannot accept multi dgs!");
+   int s1_1 = dg1->seq_p1.num;
+   int s1_2 = dg1->seq_p2.num;
+--- a/source/alig.c
++++ b/source/alig.c
+@@ -520,7 +520,7 @@ struct alignment* copy_alignment( struct
+  * datastructure (i.e. frontiers). The given diag must be consistent
+  * to the given alignment !
+  */
+-inline char align_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg) {
++char align_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg) {
+ 
+   char alignedSomething = 0;
+   int i,j,k;
diff -Naur dialign-t.orig/dialign-t-1.0.2/debian/patches/series dialign-t/dialign-t-1.0.2/debian/patches/series 
--- dialign-t.orig/dialign-t-1.0.2/debian/patches/series	2014-08-06 15:44:15.135034437 -0500
+++ dialign-t/dialign-t-1.0.2/debian/patches/series	2014-08-06 15:44:40.243034875 -0500
@@ -1,3 +1,4 @@
 prevent_enforcing_arch.patch
 hardening.patch
 consistent_declarations.patch
+clang-ftbfs.diff

Reply via email to