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

Conda install dependancy: cairo.so #94

Closed
neoformit opened this issue Dec 13, 2021 · 10 comments
Closed

Conda install dependancy: cairo.so #94

neoformit opened this issue Dec 13, 2021 · 10 comments
Labels
bug Something isn't working potential problems for potential problems given different scenarios (How does XXX infulence sumdgeplot?)

Comments

@neoformit
Copy link

The following runs to completion, but emits a warning message:
smudgeplot.py plot kmer_pairs_coverages.tsv -o my_genome

Warning messages:
1: In png(paste0(args$output, "_smudgeplot_log10.png")) :
  unable to load shared object '/home/ubuntu/miniconda3/envs/smudgeplot/lib/R/library/grDevices/libs//cairo.so':
  libXrender.so.1: cannot open shared object file: No such file or directory
2: In png(paste0(args$output, "_smudgeplot_log10.png")) :
  failed to load cairo DLL
null device
          1
Warning message:
In png(paste0(args$output, "_smudgeplot.png")) : failed to load cairo DLL
null device

The double-slash (libs//cairo.so) seems weird/suspicious, because the path with a single-slash does in fact exist:

/home/ubuntu/miniconda3/envs/smudgeplot/lib/R/library/grDevices/libs/cairo.so

@neoformit neoformit added the potential problems for potential problems given different scenarios (How does XXX infulence sumdgeplot?) label Dec 13, 2021
@KamilSJaron
Copy link
Owner

KamilSJaron commented Dec 13, 2021

Hi @neoformit, this is a new one. Is it possible it has nothing to do with smudgeplot?

I tried to look up "failed to load cairo DLL" problems in Linux systems and there are only very few hits out there. Namely:

One of them talks about incompatible package, which might be relevant, the other discourages from using conda to install R in ubuntu (ouch). Not sure if any of them can help.

The libs//cairo.so does look weird. However, I am not sure what is causing it, smudgeplot code is of course not specifying paths to individual packages, that handled by R.

Did you install smudgeplot in an isolated conda environment or did you have there something installed before? If you have, would you mind trying a fresh conda environment (could be that one of the packages you already have there is messing up with the R dependency). However, again, I am not sure if it's going to help, this is really the first time I have seen this error.

@neoformit
Copy link
Author

Thanks for the response @KamilSJaron. Yes - not really a smudgeplot issue but more an issue with the Conda recipe. I'm not sure whether you made that or was it someone else? If not yours I may check it out myself as it's not really your responsibility. I would be interested to know if the Conda install is working on Windows/Mac.

Did you install smudgeplot in an isolated conda environment [ ... ] ?

Yep, fresh env!

@KamilSJaron
Copy link
Owner

Uh, that's a bit painful.

The conda installation worked on all Mac versions I have seen and also plenty of Linux distributions, and I am quite sure that includes also Ubuntu 20.04 LTS, but I am less sure if ever had a windows user...

The conda package was kindly put together by @RomainFeron as a birthday present for me (which was actually a really great one!).

I will take a look at this tomorrow.

@neoformit
Copy link
Author

@KamilSJaron ahh that is painful... thanks for checking it out. Let me know if you have issues reproducing. It could be something up on my end, but I'm working on a fresh Ubuntu 20.04 VM, fresh Miniconda installation and a fresh Conda env.

@KamilSJaron
Copy link
Owner

That's useful to know. How do you run the VM? Is it via virtual box? More details, easier time I will have to reproduce it :-)

@neoformit
Copy link
Author

Ooooh good question - it's on an Openstack Cluster so it's a Hypervisor VM I believe. Also - didn't realise you're in Edinburgh. My mum lives there :)

@neoformit
Copy link
Author

neoformit commented Dec 13, 2021

Just checked this out again - the dependency issue is not on cairo.so but libxrender.so.1... I was reading the error wrong!
It's because I'm running a headless VM that doesn't have Xorg - easily solved with conda install -c conda-forge xorg-libxrender.

I'll see if I can update the Conda recipe to include this - Galaxy will most likely need it. I'm not familiar with Conda recipes but hopefully there's a way. I can also just add xorg-libxrender as a dependency in the Galaxy tool as a last resort.

@KamilSJaron
Copy link
Owner

That's awesome, thanks for solving it. I expect you should be able to adjust the conda recipe on your own via pull request, but feel free to tag me in there so I can give you thumbs up.

If the conda recipe c/won't be changed, I can just add a small note in the installation instructions for this corner case. Anyway, great job.

@chawlaj100
Copy link

conda install -c conda-forge xorg-libxrender

This worked, Thanks buddy

@KamilSJaron KamilSJaron added the bug Something isn't working label Dec 15, 2021
@KamilSJaron
Copy link
Owner

I added it to https://github.com/KamilSJaron/smudgeplot/wiki/installation#reported-errors

Thanks again for reporting the error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working potential problems for potential problems given different scenarios (How does XXX infulence sumdgeplot?)
Projects
None yet
Development

No branches or pull requests

3 participants