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

Docker issue: No version information available: libhts.so.3: #486

Open
bbowles1 opened this issue May 29, 2024 · 4 comments
Open

Docker issue: No version information available: libhts.so.3: #486

bbowles1 opened this issue May 29, 2024 · 4 comments

Comments

@bbowles1
Copy link

Hello! I've tried to pull two different metagraph Docker images for Metagraph using the following:
docker pull ghcr.io/ratschlab/metagraph:latest
docker pull ghcr.io/ratschlab/metagraph:master

In both cases, I'm able to run the Docker container with a /bin/bash entrypoint, but receive the following when I run any Metagraph commands:

metagraph: /lib/x86_64-linux-gnu/libhts.so.3: no version information available (required by metagraph)

It appears that libhts.so.3 is installed at /usr/lib/x86_64-linux-gnu/libhts.so.1.10.2-3ubuntu0.1, but I'm not sure how to go about providing the version to MetaGraph.

If it's relevant, I'm working with an Apple silicon laptop running MacOSX Sonoma 14.4.1 and Docker engine 24.0.6. Any insights you can offer are very much appreciated!

@bbowles1 bbowles1 changed the title No version information available: metagraph: libhts.so.3: No version information available: libhts.so.3: May 30, 2024
@bbowles1 bbowles1 changed the title No version information available: libhts.so.3: Docker issue: No version information available: libhts.so.3: Jun 1, 2024
@adamant-pwn
Copy link
Contributor

Hi @bbowles1! Does the issue still occur to you? I tried to do the following:

sudo docker pull ghcr.io/ratschlab/metagraph:latest
sudo docker run -it --entrypoint /bin/bash ghcr.io/ratschlab/metagraph:latest

Then, in the docler image, I have

root@825172b7a726:/# metagraph
Usage: metagraph <command> [command specific options]

Available commands:
	build		construct a graph object from input sequence
			files in fast[a|q] formats into a given graph

	clean		clean an existing graph and extract sequences from it
			in fast[a|q] formats

	transform	given a graph, transform it to other formats

	align		align sequences provided in fast[a|q] files to graph

	annotate	given a graph and a fast[a|q] file, annotate
			the respective kmers

	relax_brwt	optimize the tree structure in brwt annotator

	transform_anno	change representation of the graph annotation

	assemble	given a graph, extract sequences from it

	query		annotate sequences from fast[a|q] files

	server_query	annotate received sequences and send annotations back

	stats		print graph statistics for given graph(s) or annotation

General options:
	--advanced 	show other advanced and legacy options [off]
	--version 	print version

So, I can not reproduce the error that you describe at the moment. I tested it on Docker version 26.1.4, and then also downgraded to 24.0.6, but it didn't change anything.

@shenwei356
Copy link

I met the same log, but it seems do not affect.

@bbowles1
Copy link
Author

bbowles1 commented Jul 7, 2024

Hey Adamant, thanks for the quick response! I followed up on your recommendations and unfortunately I'm receiving an error "Illegal instruction" after I run the container and enter a simple metagraph command like you recommended.

This seems to be a MacOS-specific issue, as the Metagraph container works flawlessly when I run it in a Linux environment. On Mac, I see an AMD64 warning "Image may have poor performance, or fail, if run via emulation" when I pull the Docker image. Adding a --platform linux/amd64 flag to the Docker run command to explicitly run the container via emulation does not change the error or resolve my issue.

Since this appears related to MacOS, and you may be unable to replicate the error as a result, I understand if you wish to close this issue. In the meantime, I'm happy to update if I have any further insights into this error. Thanks again for your recommendations.

@bbowles1
Copy link
Author

bbowles1 commented Jul 8, 2024

Checking in with a quick update, I'm also unable to build the Docker image locally. I receive an error related to a missing install.sh:

(base) bbowles@Bradleys-MBP metagraph % docker build .
[+] Building 124.0s (16/22)                                                                                                                      docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                                             0.0s
 => => transferring dockerfile: 3.13kB                                                                                                                           0.0s
 => [internal] load .dockerignore                                                                                                                                0.0s
 => => transferring context: 225B                                                                                                                                0.0s
 => [internal] load metadata for docker.io/library/ubuntu:20.04                                                                                                  1.2s
 => [internal] load build context                                                                                                                                0.1s
 => => transferring context: 38.28kB                                                                                                                             0.1s
 => CACHED [metagraph_dev_env 1/8] FROM docker.io/library/ubuntu:20.04@sha256:0b897358ff6624825fb50d20ffb605ab0eaea77ced0adb8c6a4b756513dec6fc                   0.0s
 => CACHED [stage-2 2/8] RUN apt-get update && apt-get install -y     libatomic1     libcurl4-nss-dev     libgomp1     libhts-dev     libjemalloc2     python3   0.0s
 => [metagraph_dev_env 2/8] RUN export DEBIAN_FRONTEND="noninteractive" && apt-get update && apt-get install -y     autoconf     automake     binutils-dev      89.6s
 => [metagraph_dev_env 3/8] RUN pip3 install parameterized==0.7.1 "cmake>=3.19"                                                                                  3.3s
 => [metagraph_dev_env 4/8] WORKDIR /opt                                                                                                                         0.0s 
 => [metagraph_dev_env 5/8] RUN git clone https://github.com/curl/curl.git     && mkdir curl/_build     && cd curl/_build     && cmake -DBUILD_SHARED_LIBS=on   20.9s 
 => [metagraph_dev_env 6/8] RUN wget https://github.com/samtools/htslib/releases/download/1.10.2/htslib-1.10.2.tar.bz2     && tar -vxjf htslib-1.10.2.tar.bz2    8.2s 
 => [metagraph_dev_env 7/8] RUN mkdir -p /opt/metagraph/build_docker /opt/ccache_docker                                                                          0.3s 
 => [metagraph_dev_env 8/8] RUN chmod o+rwx /opt/metagraph /opt/ccache_docker                                                                                    0.3s 
 => [metagraph_bin 1/3] COPY . /opt/metagraph                                                                                                                    0.1s 
 => [metagraph_bin 2/3] WORKDIR /opt/metagraph                                                                                                                   0.0s 
 => ERROR [metagraph_bin 3/3] RUN make build-sdsl-lite     && make build-metagraph alphabet=Protein     && make build-metagraph alphabet=DNA                     0.1s 
------                                                                                                                                                                
 > [metagraph_bin 3/3] RUN make build-sdsl-lite     && make build-metagraph alphabet=Protein     && make build-metagraph alphabet=DNA:                                
0.088 bash -c 'cd /opt/metagraph/metagraph/external-libraries/sdsl-lite && ./install.sh ${PWD}'
0.092 bash: ./install.sh: No such file or directory
0.093 make: *** [Makefile:72: build-sdsl-lite] Error 127
------
Dockerfile:80
--------------------
  79 |     WORKDIR ${CODE_BASE}
  80 | >>> RUN make build-sdsl-lite \
  81 | >>>     && make build-metagraph alphabet=Protein \
  82 | >>>     && make build-metagraph alphabet=DNA
  83 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c make build-sdsl-lite     && make build-metagraph alphabet=Protein     && make build-metagraph alphabet=DNA" did not complete successfully: exit code: 2

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

3 participants