[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