bioconda-recipes: Missing ttf-dejavu/fontconfig dependencies for fastqc
If fontconfig or ttf-dejavu are not installed, fastqc can produce the following error:
java.lang.Error: Probable fatal error:No fonts found
which is identical to the error described here: https://stackoverflow.com/questions/14066525/java-lang-error-probable-fatal-errorno-fonts-found. This issue is at least encountered in the snakemake container used by snakemake-wrappers.
I think this error is not necessarily specific to fastqc, but likely a more general dependency of openjdk which is currently missing.
We can easily fix it for fontconfig by adding the dependency to the fastqc or openjdk recipes. However, for ttf-dejavu there does not seem to be an existing package as far as I can see. I have no experience with creating non-R/Python packages, so was wondering if someone would be prepared to build a ttf-dejavu package or otherwise provide me with pointers on how to do so.
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Reactions: 1
- Comments: 47 (42 by maintainers)
Commits related to this issue
- Fixing openjdk version for fastqc container Updating openjdk to come from conda-forge explicitly, rather than default. The openjdk in default is old and does not include fonts; the conda-forge versio... — committed to bioconda/bioconda-recipes by charlesreid1 6 years ago
- FastQC: Update the openjdk dependency. The "defaults" build was bumped, leading to the defaults version of openjdk be installed, instead of the conda-forge one. See #5026. To prevent the next build ... — committed to bioconda/bioconda-recipes by cbrueffer 6 years ago
- FastQC: Update the openjdk dependency. (#9675) The "defaults" build was bumped, leading to the defaults version of openjdk be installed, instead of the conda-forge one. See #5026. To prevent the n... — committed to bioconda/bioconda-recipes by cbrueffer 6 years ago
- FastQC: Update the openjdk dependency. (#9675) The "defaults" build was bumped, leading to the defaults version of openjdk be installed, instead of the conda-forge one. See #5026. To prevent the n... — committed to jvolkening/bioconda-recipes by cbrueffer 6 years ago
- auto-generated SHA256 hashes (#9684) * bl * bl * remove strange smatools version * remove old smatools version * rebase * fix samtools * add new package to blacklist * fix prophy... — committed to bioconda/bioconda-recipes by jvolkening 6 years ago
- update ea-utils and wgsim (#9694) * bl * bl * remove strange smatools version * remove old smatools version * rebase * fix samtools * add new package to blacklist * fix prophyle ... — committed to bioconda/bioconda-recipes by jvolkening 6 years ago
- Add minimal font requirements to permit image saving. Java image writing (which rtg rocplot uses to save ROC images) doesn't work unless java has some minimal font requirements. See also: https://gi... — committed to Lenbok/bioconda-recipes by Lenbok 5 years ago
- rtg-tools: update to 3.10.1 (#13144) * rtg-tools: update to 3.10.1 * Add requirement for zlib to test openjdk workaround. In mulled test environment openjdk isn't pulling in zlib when it shoul... — committed to bioconda/bioconda-recipes by Lenbok 5 years ago
@bgruening - here’s a minimal example
Dockerfile
:Building:
Click to expand log
Then running a test:
Click to expand log
So the channel order should be correct I think, but I’m still getting the error.
Note - that if I explicitly add
conda-forge::openjdk
to theDockerfile
conda install command, everything is fine:Click to expand log
So it seems that this can be fixed fairly easily by explicitly requiring the conda-forge version of openjdk. Could this be added to the bioconda FastQC recipe or something?
Resolved by gh-8588 and gh-8610.
To clarify this, FastQC doesn’t seem to need the fonts themselves to be present, just the entries in the fontconfig cache. When
fc-cache
is run after font removal, the FastQC errors return.Ok, still having some issues here. I first thought that the channels order was causing this, but thats not the case:
Here’s my
environment.yaml
and I create the environment like this:https://github.com/nf-core/eager/blob/dev/environment.yml
conda env create -f environment.yml
Unfortunately, when calling
fastqc
in there, I reproducibly get this error:cf https://github.com/nf-core/eager/issues/67
I’m afraid the fastqc 0.11.7–pl5.22.0_0 container suffer from the same problem.
Solved this problem on Ubuntu using:
sudo apt install ttf-dejavu
Hope this gets sorted at some point.@rspreafico it looks like the fastqc container was last modified in May, while the missing fonts were added to the conda-forge openjdk in June. #6518 bumps the build number for fastqc. Once merged this should result in a new container containing an updated open-jdk that you can test.