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

Installation errors on Red Hat 8 #161

Open
astrophys opened this issue Jun 13, 2022 · 7 comments
Open

Installation errors on Red Hat 8 #161

astrophys opened this issue Jun 13, 2022 · 7 comments

Comments

@astrophys
Copy link

I'm trying to install higlass-server on a Red Hat 8 system.

Steps :

  1. I cloned the most recent version of this repo (e.g. cbfe79f)
  2. Installed Miniconda
  3. Sourced /path/to/miniconda/etc/profile.d/conda.sh
  4. Ran conda env create -f environment.yml

It failed with about 4000 lines of output (see attached).

The first 'useful' error I see is something like this :

      gcc: _configtest.c
      _configtest.c:1:5: warning: conflicting types for built-in function ‘exp’ [-Wbuiltin-declaration-mismatch]
       int exp (void);
           ^~~
      gcc -pthread -B /export/apps/opt/higlass-server/1.14.8/en
[higlass-server-issue.txt](https://github.com/higlass/higlass-server/files/8893075/higlass-server-issue.txt)
vs/higlass-server/compiler_compat _configtest.o -o _configtest
      /export/apps/opt/higlass-server/1.14.8/envs/higlass-server/compiler_compat/ld: _configtest.o: in function `main':
      _configtest.c:(.text.startup+0x5): undefined reference to `exp'
      collect2: error: ld returned 1 exit status
      failure.

Question :

  1. What suggestions do you have in resolving this error?
@pkerpedjiev
Copy link
Member

Oh my. That's going to be a doozy to figure out.

Before starting serious debugging, may I ask why you're trying to install higlass server rather than using the higlass docker container or higlass-manage?

@astrophys
Copy link
Author

astrophys commented Jun 14, 2022

Great question. I'm on an HPC system, so Docker isn't applicable because I don't want to have to spawn Docker instances every time a user wants to run this. Instead of using Docker, I used Singularity. Now I do have some real questions about how this code will work in our environment.

Anyhow, I converted docker-context/Dockerfile to Singularity using spython. I then ended up having to make a few edits to the Singularity file (e.g. mkdir /higlass-server before the pip install -r requirements.txt).

At the end of the build, when it is setting up a conda environment, I got :

ERROR: Could not find a version that satisfies the requirement Pillow>=9.0.0 (from versions: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7.0, 1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.7.6, 1.7.7, 1.7.8, 2.0.0, 2.1.0, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1, 2.3.2, 2.4.0, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.8.0, 2.8.1, 2.8.2, 2.9.0, 3.0.0, 3.1.0rc1, 3.1.0, 3.1.1, 3.1.2, 3.2.0, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.4.0, 3.4.1, 3.4.2, 4.0.0, 4.1.0, 4.1.1, 4.2.0, 4.2.1, 4.3.0, 5.0.0, 5.1.0, 5.2.0, 5.3.0, 5.4.0, 5.4.1, 6.0.0, 6.1.0, 6.2.0, 6.2.1, 6.2.2, 7.0.0, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 8.0.0, 8.0.1, 8.1.0, 8.1.1, 8.1.2, 8.2.0, 8.3.0, 8.3.1, 8.3.2, 8.4.0)
ERROR: No matching distribution found for Pillow>=9.0.0
FATAL:   While performing build: while running engine: exit status 1

I sort of assumed that there must have been some conflicting python library versions (which I guess would probably persist going the conda route). I tried both and they both failed, I figured I'd only ask about one to not make the discussion confusing. Attached is the output from my Singularity / docker install attempt and my modified Singularity (added '.txt' suffix so github would accept it) file.

Thanks
singularity-install-fail.txt
Singularity.txt

@pkerpedjiev
Copy link
Member

Thanks for the explanation! That makes sense.

Is there a way to bump the Python version? It looks like it's downgraded to 3.6 in the log file.

Pillow>=9.0.0 definitely exists: https://pypi.org/project/Pillow/

Also, beware that that Dockerfile may be out of date. You may be better off using the one from this repo: https://github.com/higlass/higlass-docker/

That will give you the entire higlass distribution as a container rather than just the server portion.

@astrophys
Copy link
Author

astrophys commented Jun 17, 2022

Thanks for the information. I managed to build (at least it completed without error) a singularity image from dockerhub, via

singularity build higlass.sif docker://higlass/higlass-docker:latest

It looks like there should be a higlass-manage command within the image, but I can't seem to find it within my singularity image.

Question :

  1. What is the path within the image to higlass-manage? I see a path /home/higlass/projects/higlass-server/, but it doesn't look like it is there.

@pkerpedjiev
Copy link
Member

higlass-manage is a separate package that interacts with the Docker container. You can find it here: https://github.com/higlass/higlass-manage/

@astrophys
Copy link
Author

Could I install higlass-manage within the Docker container, or would that be ill advised?

@pkerpedjiev
Copy link
Member

I don't see any reason why you couldn't.

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