[med-svn] [Git][med-team/fasta3][master] Start working on fix to build with gcc-15

Andreas Tille (@tille) gitlab at salsa.debian.org
Tue Sep 23 21:25:07 BST 2025



Andreas Tille pushed to branch master at Debian Med / fasta3


Commits:
eb3bb13a by Andreas Tille at 2025-09-23T22:22:27+02:00
Start working on fix to build with gcc-15

- - - - -


3 changed files:

- debian/changelog
- + debian/patches/gcc-15.patch
- debian/patches/series


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,11 @@
+fasta3 (36.3.8i.14-Nov-2020-4) UNRELEASED; urgency=medium
+
+  * Team upload.
+  * Fix build with gcc-15
+    Closes: #1096607
+
+ -- Andreas Tille <tille at debian.org>  Tue, 23 Sep 2025 20:39:27 +0200
+
 fasta3 (36.3.8i.14-Nov-2020-3) unstable; urgency=medium
 
   * Team upload.


=====================================
debian/patches/gcc-15.patch
=====================================
@@ -0,0 +1,307 @@
+Author: Andreas Tille <tille at debian.org>
+Last-Update: 2025-09-23
+Bug-Debian: https://bugs.debian.org/1096607
+Description: Fix gcc-15 build issues
+
+--- a/src/mmgetaa.c
++++ b/src/mmgetaa.c
+@@ -81,17 +81,22 @@ aranlib_mb(char *str, int cnt, fseek_t s
+ 
+ /* mmap()ed functions */
+ #ifdef USE_MMAP
+-int agetlibm(); void aranlibm();
+-int lgetlibm(); void lranlibm();
+-void vranlibm();
+-int gcg_getlibm();
++int agetlibm(unsigned char *seq, int maxs, char *libstr, int n_libstr, fseek_t *libpos, int *lcont, struct lmf_str *m_fd, long *l_off);
++void aranlibm(char *str, int cnt, fseek_t libpos, char *libstr, struct lmf_str *m_fd);
++int lgetlibm(unsigned char *seq, int maxs, char *libstr, int n_libstr, fseek_t *libpos, int *lcont, struct lmf_str *m_fd, long *l_off);
++void lranlibm(char *str, int cnt, fseek_t seek, char *libstr, struct lmf_str *m_fd);
++void vranlibm(char *str, int cnt, fseek_t libpos, char *libstr, struct lmf_str *m_fd);
++int gcg_getlibm(unsigned char *seq, int maxs, char *libstr, int n_libstr, fseek_t *libpos, int *lcont, struct lmf_str *m_fd, long *l_off);
+ 
+-int (*getlibam[])()={
+-  agetlibm,lgetlibm, NULL, NULL,NULL,agetlibm,gcg_getlibm
++typedef int (*getlib_func_t)(unsigned char *, int, char *, int, fseek_t *, int *, struct lmf_str *, long *);
++typedef void (*ranlib_func_t)(char *, int, fseek_t, char *, struct lmf_str *);
++
++getlib_func_t getlibam[] = {
++    agetlibm, lgetlibm, NULL, NULL, NULL, agetlibm, gcg_getlibm
+ };
+ 
+-void (*ranlibam[])()={
+-  aranlibm,lranlibm,NULL,NULL,NULL,vranlibm,vranlibm
++ranlib_func_t ranlibam[] = {
++    aranlibm, lranlibm, NULL, NULL, NULL, vranlibm, vranlibm
+ };
+ #endif
+ 
+--- a/src/altlib.h
++++ b/src/altlib.h
+@@ -85,7 +85,7 @@ void qranlib(char *, int, fseek_t, char
+ extern int ncbl2_getliba(unsigned char *, int, char *, int, fseek_t *, int *,
+ 	    struct lmf_str *, long *);
+ extern void ncbl2_ranlib(char *, int, fseek_t, char *, struct lmf_str *);
+-void ncbl2_closelib();
++void ncbl2_closelib(struct lmf_str *m_fptr);
+ #endif
+ 
+ #ifdef MYSQL_DB
+--- a/src/mm_file.h
++++ b/src/mm_file.h
+@@ -58,7 +58,7 @@ typedef int64_t MM_OFF;
+ #include "defs.h"
+ #endif
+ 
+-extern unsigned long adler32();
++extern unsigned long adler32(unsigned long, const unsigned char *, unsigned int);
+ 
+ struct lmf_str {
+   FILE *libf;		/* sequence file being read */
+--- a/src/ncbl2_mlib.c
++++ b/src/ncbl2_mlib.c
+@@ -851,7 +851,7 @@ struct lmf_str
+   if (date_str!=NULL) free(date_str);
+ 
+ #ifdef DEBUG
+-    fprintf(stderr,"*** INFO [%s:%d] - %s format: BL2 (%s)  max_cnt: %d, totlen: %lld, maxlen %ld\n",
++    fprintf(stderr,"*** INFO [%s:%d] - %s format: BL2 (%s)  max_cnt: %d, totlen: %ld, maxlen %ld\n",
+ 	    __FILE__,__LINE__,
+ 	    m_fptr->lb_name,m_fptr->mm_flg ? "mmap" : "fopen", 
+ 	    m_fptr->max_cnt,m_fptr->tot_len,m_fptr->max_len);
+@@ -1102,7 +1102,7 @@ ncbl2_getliba(unsigned char *seq,
+   if (m_fd->mm_flg) sptr = (unsigned char *)m_fd->mmap_addr;
+   else {
+     if ((tmp=fread(seq,(size_t)1,(size_t)seq_len,m_fd->libf))!=(size_t)seq_len) {
+-      fprintf(stderr,"*** ERROR [%s:%d] - could not read sequence record: %lld %ld != %ld\n",
++      fprintf(stderr,"*** ERROR [%s:%d] - could not read sequence record: %ld %ld != %ld\n",
+ 	      __FILE__,__LINE__, *libpos,tmp,seq_len);
+       goto error; 
+     }
+@@ -1147,7 +1147,7 @@ ncbl2_getliba(unsigned char *seq,
+   seq[seqcnt]= EOSEQ;
+   return (seqcnt);
+   
+-error:	fprintf(stderr,"*** ERROR [%s:%d] - error reading %s at %lld\n",__FILE__,__LINE__,libstr,*libpos);
++error:	fprintf(stderr,"*** ERROR [%s:%d] - error reading %s at %ld\n",__FILE__,__LINE__,libstr,*libpos);
+   fflush(stderr);
+   return (-1);
+ }
+@@ -1431,7 +1431,7 @@ ncbl2_getlibn(unsigned char *seq,
+     if (!m_fd->mm_flg) {
+       if ((tmp=fread(seq,(size_t)1,(size_t)seqcnt,m_fd->libf))!=(size_t)seqcnt) {
+ 	fprintf(stderr,
+-		"*** ERROR [%s:%d] - could not read sequence record: %s %lld %ld != %ld: %d\n",
++		"*** ERROR [%s:%d] - could not read sequence record: %s %ld %ld != %ld: %d\n",
+ 		__FILE__,__LINE__,libstr, *libpos,tmp,seqcnt,*seq);
+ 	goto error; 
+       }
+@@ -1451,7 +1451,7 @@ ncbl2_getlibn(unsigned char *seq,
+     seqcnt = ((maxs+3)/4)-1;
+     if (!m_fd->mm_flg) {
+       if ((tmp=fread(seq,(size_t)1,(size_t)(seqcnt),m_fd->libf))!=(size_t)(seqcnt)) {
+-	fprintf(stderr,"*** ERROR [%s:%d] - could not read sequence record: %lld %ld/%ld\n",
++	fprintf(stderr,"*** ERROR [%s:%d] - could not read sequence record: %ld %ld/%ld\n",
+ 		__FILE__,__LINE__, *libpos,tmp,seqcnt);
+ 	goto error;
+       }
+@@ -1675,7 +1675,7 @@ ncbl2_getlibn(unsigned char *seq,
+     return (4*seqcnt);
+   }
+   
+-error:	fprintf(stderr,"*** ERROR [%s:%d] - reading %s at %lld\n",__FILE__,__LINE__,libstr,*libpos);
++error:	fprintf(stderr,"*** ERROR [%s:%d] - reading %s at %ld\n",__FILE__,__LINE__,libstr,*libpos);
+   fflush(stderr);
+   return (-1);
+ }
+--- a/src/pssm_asn_subs.c
++++ b/src/pssm_asn_subs.c
+@@ -27,9 +27,31 @@
+ 
+ #include "defs.h"
+ 
+-int parse_pssm_asn();
+-int parse_pssm2_asn();
++struct asn_bstruct {
++  FILE *fd;
++  unsigned char *buf;
++  unsigned char *abp;
++  unsigned char *buf_max;
++  int len;
++};
+ 
++int parse_pssm_asn(FILE *afd, long *gi, char *name, char *acc, char *descr, unsigned char **query, int *nq, int *n_rows, int *n_cols, double ***wfreqs, double ***freqs, int  ***iscores, int *pseudo_cnts, char *matrix, int *gap_open_p, int *gap_ext_p, double *lambda_p);
++int
++parse_pssm2_asn(struct asn_bstruct *asnp,
++                long *gi,
++                char *name,
++                char *acc,
++                char *descr,
++                unsigned char **query,
++                int *nq,
++                int *n_rows,
++                int *n_cols,
++                double ***wfreqs,
++                double ***freqs,
++                int ***iscores,
++                int *pseudo_cnts,
++                char *matrix,
++                double *lambda_p);
+ int
+ parse_pssm_asn_fa(FILE *afd, int *n_rows, int *n_cols,
+ 		  unsigned char **query, double ***wfreqs, double ***freqs, int ***iscores,
+@@ -140,14 +162,6 @@ int pssm_aa_order[20] = { 1,  /*A*/
+ #define ASN_OBJ_INT 160
+ #define ASN_OBJ_STR 161
+ 
+-struct asn_bstruct {
+-  FILE *fd;
+-  unsigned char *buf;
+-  unsigned char *abp;
+-  unsigned char *buf_max;
+-  int len;
+-};
+-
+ #define ASN_BUF 4096
+ 
+ void *
+@@ -656,7 +670,7 @@ unsigned char *
+ get_astr_userfld_data(struct asn_bstruct *asnp) {
+   double real;
+   long ival;
+-  int bool;
++  int bool_val;
+ 
+   ABPP = chk_asn_buf(asnp, 32);
+ 
+@@ -675,7 +689,7 @@ get_astr_userfld_data(struct asn_bstruct
+     break;
+   case ASN_USERFLD_D_BOOL :
+     ABP_INC2;
+-    ABPP = get_astr_bool(asnp, &bool) + 2;
++    ABPP = get_astr_bool(asnp, &bool_val) + 2;
+     break;
+   case ASN_USERFLD_D_OS :
+     ABP_INC2;
+--- a/src/compacc2e.c
++++ b/src/compacc2e.c
+@@ -2566,7 +2566,7 @@ save_best(struct buf_head *lib_bhead_p,
+     /* need to look for frame 0 if TFASTA, then save stats at frame 6 */
+     if (fdata) {
+       fprintf(fdata,
+-	      "%-12s %6d %d %.5f %.5f %4d %4d %4d %2d %2d %4d %4d %4d %2d %2d %5d %8lld\n",
++	      "%-12s %6d %d %.5f %.5f %4d %4d %4d %2d %2d %4d %4d %4d %2d %2d %5d %8ld\n",
+ 	      rbuf_dp->mseq->libstr, rbuf_dp->seq->n1,rbuf_dp->frame,rbuf_rp->rst.comp,rbuf_rp->rst.H,
+ 	      rbuf_rp->rst.score[0],rbuf_rp->rst.score[1],rbuf_rp->rst.score[2],
+ 	      t_valid_stat, rbuf_rp->rst.alg_info,
+@@ -2719,7 +2719,7 @@ save_best2(struct buf_head *lib_bhead_p,
+ 
+   /*
+ #ifdef DEBUG
+-  fprintf(stderr," save_best2: lib_bhead_p->buf2_data[0]->mseq->index/lseek: %d,%lld\n",
++  fprintf(stderr," save_best2: lib_bhead_p->buf2_data[0]->mseq->index/lseek: %d,%ld\n",
+ 	  lib_bhead_p->buf2_data[0].mseq->index,lib_bhead_p->buf2_data[0].mseq->lseek);
+ #endif
+   */
+@@ -2750,7 +2750,7 @@ save_best2(struct buf_head *lib_bhead_p,
+       if (rbuf_rp->rst.score[0] == -BIGNUM) continue;
+ 
+       fprintf(fdata,
+-	      "%-12s %6d %d %.5f %.5f %4d %4d %4d %2d %2d %4d %4d %4d %2d %2d %5d %8lld\n",
++	      "%-12s %6d %d %.5f %.5f %4d %4d %4d %2d %2d %4d %4d %4d %2d %2d %5d %8ld\n",
+ 	      rbuf_dp->mseq->libstr, rbuf_dp->seq->n1,rbuf_dp->frame,rbuf_rp->rst.comp,rbuf_rp->rst.H,
+ 	      rbuf_rp->rst.score[0],rbuf_rp->rst.score[1],rbuf_rp->rst.score[2],
+ 	      rbuf_rp->is_valid_stat, rbuf_rp->rst.alg_info,
+--- a/src/lsim4.h
++++ b/src/lsim4.h
+@@ -4,7 +4,7 @@
+ 
+ /* global definitions, #defines, for lsim4.c */
+ 
+-typedef int bool;
++#include <stdbool.h>
+ 
+ void *ckalloc(size_t amount, size_t size);
+ 
+--- a/src/dropfx2.c
++++ b/src/dropfx2.c
+@@ -49,6 +49,8 @@
+ #define XTERNAL
+ #include "upam.h"
+ 
++void *ckalloc(size_t amount);
++
+ /* this must be consistent with upam.h */
+ #define MAXHASH 32
+ #define NMAP MAXHASH+1
+@@ -1222,9 +1224,7 @@ int sconn (struct savestr **v, int n,
+ }
+ 
+ void
+-kssort (v, n)
+-struct savestr *v[];
+-int     n;
++kssort (struct savestr *v[], int n)
+ {
+    int     gap, i, j;
+    struct savestr *tmp;
+@@ -1286,7 +1286,6 @@ lx_band(const unsigned char *prot_seq,
+ 	int width,         /* width for band alignment */
+ 	struct f_struct *f_str)
+ {
+-  void *ckalloc();
+   int i, j, bd, bd1, x1, sp, p1=0, p2=0, end_prot;
+   int sc, del, best = 0, cd,ci, e1, e2, e3, cd1, cd2, cd3, f, gg;
+   register int *wt;
+@@ -1473,9 +1472,12 @@ typedef struct st_s { int C, I, D;} *st_
+ /* static int gop, gext, shift; */
+ 
+ void *ckalloc(size_t);
+-static match_ptr small_global(), global();
+-static int local_align(), find_best();
+-static void init_row2(),  init_ROW();
++static match_ptr small_global(int x, int y, int ex, int ey, int **wgts, int gop, int gext, int shift, unsigned char *dnap, unsigned char *pro, int N1, int N2, struct smgl_str *smgl_sp);
++static match_ptr global(int x, int y, int ex, int ey, int **wgts, int gop, int gext, int shift, unsigned char *dnap, unsigned char *pro, int N1, int N2, st_ptr *up_stp, st_ptr *dn_stp, st_ptr *tp_stp, struct smgl_str *smgl_sp);
++static int local_align(int *x, int *y, int *ex, int *ey, int **wgts, int gop, int gext, int shift, const unsigned char *dnap, int ld, const unsigned char *pro,  int lp, st_ptr up, st_ptr down);
++static int find_best(st_ptr up, st_ptr down, int *m1, int *m2, int ld, int y, int gop);
++static void init_row2(int *row, int ld);
++static void init_ROW(st_ptr row, int ld);
+ 
+ int
+ pro_dna(const unsigned char *prot_seq,	/* array with prot. seq. numbers*/
+--- a/src/dropfz3.c
++++ b/src/dropfz3.c
+@@ -40,6 +40,8 @@
+ #include "upam.h"
+ #include "uascii.h"
+ 
++void *ckalloc(size_t amount);
++
+ #define NT_N 16
+ 
+ /* globals for fasta */
+@@ -1425,7 +1427,6 @@ int lx_band(const unsigned char *prot_se
+ 	    int width,         /* width for band alignment */
+ 	    struct f_struct *f_str)
+ {
+-  void *ckalloc();
+   int i, j, bd, bd1, x1, x2, sp, p1=0, p2=0, end_prot;
+   struct sx_s *last, *tmp;
+   int sc, del, best = 0, cd,ci, e1, e2, e3, cd1, cd2, cd3, f, gg;
+@@ -1596,10 +1597,12 @@ typedef struct { int i,j;} state;
+ typedef state *state_ptr;
+ 
+ 
+-void *ckalloc();
+-static match_ptr small_global(), global();
+-static int local_align(), find_best();
+-static void init_row2(), init_ROW();
++static match_ptr small_global(int x, int y, int ex, int ey, int **wgts, int gop, int gext, unsigned char *dnap, unsigned char *pro, int N1, int N2, struct f_struct *f_str);
++static match_ptr global(int x, int y, int ex, int ey, int **wgts, int gop, int gext, unsigned char *dnap, unsigned char *pro, int N1, int N2, struct f_struct *f_str);
++static int local_align(int *x, int *y, int *ex, int *ey, int **wgts, int gop, int gext, const unsigned char *dnap, int ld, const unsigned char *pro, int lp, struct f_struct *f_str);
++static int find_best(st_ptr up, st_ptr down, int *m1, int *m2, int ld, int y, int gop);
++static void init_row2(int *row, int ld);
++static void init_ROW(st_ptr row, int ld);
+ 
+ int
+ pro_dna(const unsigned char *prot_seq,  /* array with prot. seq. numbers*/


=====================================
debian/patches/series
=====================================
@@ -1,3 +1,4 @@
 Makefile.patch
 local_tests
 adjust-scripts
+gcc-15.patch



View it on GitLab: https://salsa.debian.org/med-team/fasta3/-/commit/eb3bb13a712c79d4851ee9480e99680175c68380

-- 
View it on GitLab: https://salsa.debian.org/med-team/fasta3/-/commit/eb3bb13a712c79d4851ee9480e99680175c68380
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20250923/6c95a288/attachment-0001.htm>


More information about the debian-med-commit mailing list