Nextomics / NextPolish

Fast and accurately polish the genome generated by long reads.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.