[Debian-med-packaging] Bug#789829: Debian packaged seqprep fails on i386 architecture (Was: Bug#789829: seqprep: FTBFS on *i386: pe_*.txt checksum mismatch)
Andreas Tille
tille at debian.org
Sun Sep 27 19:50:04 UTC 2015
Hi Graham,
thanks for this patch. Unfortunately I can not build seqprep at all
on amd64 (neither with nor without the patch):
...gcc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c -Wall -Werror -O0 -g SeqPrep.c -o SeqPrep.o
SeqPrep.c:108:5: error: 'spcount' is static but used in inline function 'update_spinner' which is not static [-Werror]
spcount++;
^
SeqPrep.c:90:12: error: 'spcount' is static but used in inline function 'update_spinner' which is not static [-Werror]
switch(spcount % 4){
^
In file included from SeqPrep.c:10:0:
utils.h:80:13: error: inline function 'rev_qual' declared but never defined [-Werror]
inline void rev_qual( char q[], int len );
^
How did you managed to build at all?
Kind regards
Andreas.
On Sun, Sep 27, 2015 at 11:52:43AM +0200, Graham Inggs wrote:
> Hi All
>
> I was able to get seqprep to pass the tests on i386 by replacing all
> instances of the 'float' datatype in SeqPrep.c with 'double'. See
> attached patch.
>
> Would it be reasonable to apply this patch to all architectures?
>
> Regards
> Graham
> --- a/SeqPrep.c
> +++ b/SeqPrep.c
> @@ -150,12 +150,12 @@
> int min_ol_adapter = DEF_OL2MERGE_ADAPTER;
> int min_ol_reads = DEF_OL2MERGE_READS;
> unsigned short int min_read_len =DEF_MIN_READ_LEN;
> - float min_match_adapter_frac = DEF_MIN_MATCH_ADAPTER;
> - float min_match_reads_frac = DEF_MIN_MATCH_READS;
> - float max_mismatch_adapter_frac = DEF_MAX_MISMATCH_ADAPTER;
> - float max_mismatch_reads_frac = DEF_MAX_MISMATCH_READS;
> + double min_match_adapter_frac = DEF_MIN_MATCH_ADAPTER;
> + double min_match_reads_frac = DEF_MIN_MATCH_READS;
> + double max_mismatch_adapter_frac = DEF_MAX_MISMATCH_ADAPTER;
> + double max_mismatch_reads_frac = DEF_MAX_MISMATCH_READS;
>
> - float read_frac_thresh = DEF_READ_GAP_FRAC_CUTOFF;
> + double read_frac_thresh = DEF_READ_GAP_FRAC_CUTOFF;
> unsigned short max_mismatch_adapter[MAX_SEQ_LEN+1];
> unsigned short max_mismatch_reads[MAX_SEQ_LEN+1];
> unsigned short min_match_adapter[MAX_SEQ_LEN+1];
> @@ -316,10 +316,10 @@
>
> //Calculate table matching overlap length to min matches and max mismatches
> for(i=0;i<MAX_SEQ_LEN+1;i++){
> - max_mismatch_reads[i] = floor(((float)i)*max_mismatch_reads_frac);
> - max_mismatch_adapter[i] = floor(((float)i)*max_mismatch_adapter_frac);
> - min_match_reads[i] = ceil(((float)i)*min_match_reads_frac);
> - min_match_adapter[i] = ceil(((float)i)*min_match_adapter_frac);
> + max_mismatch_reads[i] = floor(((double)i)*max_mismatch_reads_frac);
> + max_mismatch_adapter[i] = floor(((double)i)*max_mismatch_adapter_frac);
> + min_match_reads[i] = ceil(((double)i)*min_match_reads_frac);
> + min_match_adapter[i] = ceil(((double)i)*min_match_adapter_frac);
> }
> //get length of forward and reverse primers
> int forward_primer_len = strlen(forward_primer);
> _______________________________________________
> Debian-med-packaging mailing list
> Debian-med-packaging at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging
--
http://fam-tille.de
More information about the Debian-med-packaging
mailing list