NextPolish 1.4.0 does not complile with GCC 10 (under Debian 11)
pvstodghill opened this issue · comments
Describe the bug
The latest release of NextPolish does not compile with GCC 10, the default version of GCC under Debian 11 (Bullseye). It does compile using GCC 9. And, it compiled using GCC 8, the default version of GCC under Debian 10 (Buster). This bug appears to have been previous reported (#41).
Error message
/usr/bin/ld: ./libbwa.a(rope.o):/mnt/NextPolish/util/bwa/rle.h:33: multiple definition of `rle_auxtab'; ./libbwa.a(bwtindex.o):/mnt/NextPolish/util/bwa/rle.h:33: first defined here /usr/bin/ld: ./libbwa.a(rle.o):/mnt/NextPolish/util/bwa/rle.h:33: multiple definition of `rle_auxtab'; ./libbwa.a(bwtindex.o):/mnt/NextPolish/util/bwa/rle.h:33: first defined here collect2: error: ld returned 1 exit status make[2]: *** [Makefile:30: bwa] Error 1 make[2]: Leaving directory '/mnt/NextPolish/util/bwa' make[1]: *** [Makefile:19: bwa_] Error 2 make[1]: Leaving directory '/mnt/NextPolish/util' make: *** [Makefile:18: all] Error 2
Operating system
No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
GCC
GCC 10
gcc (Debian 10.2.1-6) 10.2.1 20210110 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
GCC 9
gcc-9 (Debian 9.3.0-22) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Python
Python 3.9.2
NextPolish
nextPolish v1.4.0
To Reproduce
Starting from a vanilla Debian 11 installation, e.g.,
docker run -ti debian:bullseye /bin/bash
Here are the commands to reproduce + abbreviated output,
# apt-get clean # apt-get update [...] # apt-get install --yes procps git unzip build-essential python-is-python3 python3-pip python3-psutil time zlib1g-dev libncurses-dev libbz2-dev liblzma-dev gcc-9 [...] # pip install paralleltask [...] # rm -rf NextPolish # tar zxf NextPolish.tgz # cd NextPolish # gcc --version gcc (Debian 10.2.1-6) 10.2.1 20210110 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # make [...] /usr/bin/ld: ./libbwa.a(rope.o):/mnt/NextPolish/util/bwa/rle.h:33: multiple definition of `rle_auxtab'; ./libbwa.a(bwtindex.o):/mnt/NextPolish/util/bwa/rle.h:33: first defined here /usr/bin/ld: ./libbwa.a(rle.o):/mnt/NextPolish/util/bwa/rle.h:33: multiple definition of `rle_auxtab'; ./libbwa.a(bwtindex.o):/mnt/NextPolish/util/bwa/rle.h:33: first defined here collect2: error: ld returned 1 exit status make[2]: *** [Makefile:30: bwa] Error 1 make[2]: Leaving directory '/mnt/NextPolish/util/bwa' make[1]: *** [Makefile:19: bwa_] Error 2 make[1]: Leaving directory '/mnt/NextPolish/util' make: *** [Makefile:18: all] Error 2 # cd .. # rm -rf NextPolish # tar zxf NextPolish.tgz # cd NextPolish # gcc-9 --version gcc-9 (Debian 9.3.0-22) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # make CC=gcc-9 [...] make[1]: Leaving directory '/mnt/NextPolish/util' # ./nextPolish --version nextPolish v1.4.0 #
Hi, thank you for your report.
It seems the error is caused by compiling bwa
, so you can install bwa by yourself, and then copy it to NextPolish/bin
.
Agreed. I should have looked in the BWA issues first. This bug has already been reported there. On this issue you will also find some patches that address the issue and which you might want to consider incorporating into your tree.
Thanks for your work on NextPolish. We are very, very pleased with the results.
Nice and thanks.