ComparativeGenomicsToolkit / cactus

Official home of genome aligner based upon notion of Cactus graphs
Other
499 stars 109 forks source link

v2.6.1 cannot find libatomic.so.1 #1082

Closed brianabernathy closed 1 year ago

brianabernathy commented 1 year ago

Hello, I have a graph I've re-built across several cactus versions. When rebuilding the graph with the recent release, v2.6.1, it seems to fail due to a missing shared object file. I was testing with the new --viz --odgi --chrom-og --draw options enabled.

    Traceback (most recent call last):
      File "/home/cactus/cactus_env/lib/python3.10/site-packages/toil/worker.py", line 403, in workerScript
        job._runner(jobGraph=None, jobStore=jobStore, fileStore=fileStore, defer=defer)
      File "/home/cactus/cactus_env/lib/python3.10/site-packages/toil/job.py", line 2774, in _runner
        returnValues = self._run(jobGraph=None, fileStore=fileStore)
      File "/home/cactus/cactus_env/lib/python3.10/site-packages/toil/job.py", line 2691, in _run
        return self.run(fileStore)
      File "/home/cactus/cactus_env/lib/python3.10/site-packages/toil/job.py", line 2919, in run
        rValue = userFunction(*((self,) + tuple(self._args)), **self._kwargs)
      File "/home/cactus/cactus_env/lib/python3.10/site-packages/cactus/refmap/cactus_graphmap_join.py", line 735, in vg_to_og
        cactus_call(parameters=['odgi', 'build', '-g', os.path.basename(gfa_path), '-o',
      File "/home/cactus/cactus_env/lib/python3.10/site-packages/cactus/shared/common.py", line 889, in cactus_call
        raise RuntimeError("{}Command {} exited {}: {}".format(sigill_msg, call, process.returncode, out))
    RuntimeError: Command /usr/bin/time -f "CACTUS-LOGGED-MEMORY-IN-KB: %M" odgi build -g chr01.vg.gfa -o chr01.vg.og -t 1 exited 127: stderr=odgi: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
    Command exited with non-zero status 127

The error above repeats for each chr, then the command exits with the following error.

[MainThread] [E] [toil.worker] Exiting the worker because of a failed job

glennhickey commented 1 year ago

That's not good. Which version are you using exactly? The binaries or Docker? Also can you run ldd bin/odgi please?

I can't reproduce this, but that must be because I have this library on my system...

brianabernathy commented 1 year ago

I don't see an option for cactus(-pangenome) to report the version/build number. It is the docker version linked on the release page - quay.io/comparative-genomics-toolkit/cactus:v2.6.1

ldd doesn't see the atomic lib either...

ldd /home/cactus/bin/odgi
    linux-vdso.so.1 (0x00007ffe45b18000)
    libjemalloc.so.2 => /lib/x86_64-linux-gnu/libjemalloc.so.2 (0x00001548c3c0a000)
    libatomic.so.1 => not found
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00001548c39e0000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00001548c38f9000)
    libgomp.so.1 => /lib/x86_64-linux-gnu/libgomp.so.1 (0x00001548c38af000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00001548c388d000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00001548c3665000)
    /lib64/ld-linux-x86-64.so.2 (0x00001548c490d000)
glennhickey commented 1 year ago

Great, thanks! If you run apt install libatomic1 in your container, it shuold start working. I'm hoping to get a patch release out today.