Does anyone know how to force `wave` to build an i...
# modules
j
Does anyone know how to force
wave
to build an image using a new conda package build? I have a tool where build
1.2-0
results in intermittent segfaults, but in
1.2-1
I fixed some compilation flags to sort them out. But I don't seem to be able to build the correct container
p
Use the Wave CLI and request the full build version
wave --conda bioconda::package=1.23-buildjakh223sd
type thing
j
And then leave the nf-core module version string as-is?
p
I guess 🤔 Can put it the same in both if you want, probably doesn't hurt
j
Any idea where one finds the full build version?
p
for conda you mean?
j
Yes
p
can fetch it from the anaconda site, eg: https://anaconda.org/channels/bioconda/packages/multiqc/files
multiqc-1.33-pyhdfd78af
in this case
which would be
bioconda::multiqc=1.33-pyhdfd78af
off the top of my head.. maybe you also include the
_1
, can't remember now
j
I live in the happy world where all connection to
<http://anaconda.org|anaconda.org>
is blocked at the organisation level 🥲 But I found it by doing a dry run of
conda install
👍🏻 1
🫠 2
😬 1
Actually, it looks like each platform has its own build ID?
fastk - bioconda Anaconda.org.png
p
oof yeah I was looking at MultiQC which is
noarch
That figures though, as they're all different builds
But the wave container is also arch-specific
So I guess just request the one for
linux-64
, and don't put it in the module's conda
environment.yml
j
I'll give that a try but it doesn't seem to have liked my attempts so far
Copy code
wave --conda bioconda::fastk=1.2-h71df26d_1 --conda-channels bioconda,conda-forge --await --freeze

Container provisioning did not complete successfully
- Reason: Container build did not complete successfully
- Find out more here: <https://wave.seqera.io/view/builds/bd-51a692ba6b11f4e1_1>
Copy code
13.62 error    libmamba Could not solve for environment specs
13.62     The following package could not be installed
13.62     └─ fastk 1.2-h71df26d_1*  does not exist (perhaps a typo or a missing channel).
Is there a flag to force re-computation even if there is a cached image?
p
Does that conda command work for you locally? Maybe try messing with it there first - I have done it in the past but it was a while ago, so maybe I messed up the syntax
There's no flag. We have talked about it a bunch and it might even be on the roadmap now. Not as simple as it seems as it breaks reproducibility for anyone using the old image
👍 1
j
Actually, it doesn't
Copy code
conda create -n test bioconda::fastk-1.2-h45d7555           (base)
Retrieving notices: done
Channels:
 - conda-forge
 - bioconda
Platform: osx-arm64
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - fastk-1.2-h45d7555
Same with the
_1
prefix
Ah, the formula is
bioconda::fastk=1.2=h45d7555_1
So if I build the
linux-64
Wave build, will that provision the other builds for the other platforms?
p
No, every wave request is specific to one platform
There's a CLI flag to request other images for other platforms
👍 1
j
Ah, so by default in nf-core we only provide amd64 images?
p
Historically, yes
We're transitioning to a different answer right now 😅
#C09V4RAHV0X
🎉 1