Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CentOS binaries: dump-ref-fasta executable built only(?) for CentOS (>= 8) #852

Open
HenrikBengtsson opened this issue Sep 11, 2023 · 3 comments

Comments

@HenrikBengtsson
Copy link

HenrikBengtsson commented Sep 11, 2023

Hello,

I'm validating software tools for missing dynamic libraries. I do this on CentOS 7.9 and Rocky 8.8. Doing so, I noticed that dump-ref-fasta that comes with https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/3.0.7/sratoolkit.3.0.7-centos_linux64.tar.gz relies on a glibc version that is not available on CentOS 7.9 (details below);

[centos7.9]$ dump-ref-fasta --version
dump-ref-fasta: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by dump-ref-fasta)
dump-ref-fasta: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by dump-ref-fasta)

Since this is the only executable out of 42 with this problem, I thought that this might be a mistake in the release.

Details

On CentOS 7:

[centos7.9]$ ldd /path/to/sratoolkit-3.0.7/bin/dump-ref-fasta
/path/to/sratoolkit-3.0.7/bin/dump-ref-fasta: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /path/to/sratoolkit-3.0.7/bin/dump-ref-fasta)
/path/to/sratoolkit-3.0.7/bin/dump-ref-fasta: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /path/to/sratoolkit-3.0.7/bin/dump-ref-fasta)
        linux-vdso.so.1 =>  (0x00007ffebc4c6000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2ada286000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f2ada082000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2ad9d7a000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f2ad9a78000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2ad9862000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f2ad9494000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f2ada4a2000)

As a reference, on Rocky 8.8, it's all fine:

[rocky8]$ dump-ref-fasta --version

dump-ref-fasta : 3.0.7

[rocky8]$ ldd "$(command -v dump-ref-fasta)"
        linux-vdso.so.1 (0x00007fff295eb000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f72f31ce000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f72f2fca000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f72f2c35000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f72f28b3000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f72f269b000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f72f22d6000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f72f33ee000)

Session info

[centos7.9]$ cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
@durbrow
Copy link
Collaborator

durbrow commented Sep 12, 2023

Is this causing you problems? We can help you work around it. We will look into bumping the version of GCC that our build system uses, for a later release. If needed,dump-ref-fasta is not the only way to get the reference sequences. Or you could build dump-ref-fasta from source to get something that is linked to the libstdc++ that is available to you.

@HenrikBengtsson
Copy link
Author

Hi and thanks for the prompt reply.

Is this causing you problems?

Background: I'm reporting this mostly for the bigger community, since anyone on CentOS 7 would get an error whenever using dump-ref-fasta. Some users will give up immediately, some might ask for help, and others might even report upstream. Given the popularity of SRA Toolkit, I figured there might be a lot of hidden pain and wasted efforts out there, and it's better to get fixed at the source. OTH, CentOS 7 is EOL in June 2023, so it won't be for long. OTH OTH, there will be lots of academic systems that won't get around to update in several years.

On my end, we're migrating from CentOS 7 to Rocky 8 for 1700+ users (UCSF Wynton), and I only noticed it now. We haven't got any complaints the last couple of years, so it could be that dump-ref-fasta is not that commonly used.

Or you could build dump-ref-fasta from source to get something that is linked to the libstdc++ that is available to you.

I thought about it. However, given that we'll fully migrate to Rocky 8 at end of October, it's probably not worth patching it for CentOS 7.

We will look into bumping the version of GCC that our build system uses, for a later release.

If I read this correctly, do you mean that you'll fix this in a future release. If so, I think that's sufficient. Even if not fixed, it's now documented here and eventually indexed, so hopefully anyone who runs into this will find this.

@durbrow
Copy link
Collaborator

durbrow commented Sep 12, 2023

Thank you for your attention and support. I wouldn't expect that dump-ref-fasta sees a lot of use; there are other ways to get the same data that are more common. It serves more as a double-check on what reference was used in compressing the reads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants