Closed gdevenyi closed 5 months ago
I have installed everything in my WSL with Ubuntu 20.04.06 and module does not seem to work as it says there.
Starting galaxy role install process
- downloading role 'micromamba', owned by mambaorg
- downloading role from https://github.com/mamba-org/ansible-role-micromamba/archive/v1.2.4.tar.gz
- extracting mambaorg.micromamba to /home/egarza/.ansible/roles/mambaorg.micromamba
- mambaorg.micromamba (v1.2.4) was installed successfully
egarza@CAMUS:/mnt/d/apps$ git clone https://github.com/gdevenyi/NeuroAnsible.git
Cloning into 'NeuroAnsible'...
remote: Enumerating objects: 286, done.
remote: Counting objects: 100% (286/286), done.
remote: Compressing objects: 100% (178/178), done.
remote: Total 286 (delta 118), reused 235 (delta 74), pack-reused 0
Receiving objects: 100% (286/286), 71.49 KiB | 739.00 KiB/s, done.
Resolving deltas: 100% (118/118), done.
egarza@CAMUS:/mnt/d/apps$ cd NeuroAnsible/
egarza@CAMUS:/mnt/d/apps/NeuroAnsible$ ls
LICENSE README.md ansible.cfg deploy.yml files inventory roles
egarza@CAMUS:/mnt/d/apps/NeuroAnsible$ ansible-playbook --ask-become-pass deploy.yml
[WARNING]: Ansible is being run in a world writable directory (/mnt/d/apps/NeuroAnsible), ignoring it as an ansible.cfg source. For
more information see https://docs.ansible.com/ansible/devel/reference_appendices/config.html#cfg-in-world-writable-dir
BECOME password:
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
[WARNING]: Could not match supplied host pattern, ignoring: workstations
PLAY [workstations] ****************************************************************************************************************
skipping: no hosts matched
PLAY RECAP *************************************************************************************************************************
egarza@CAMUS:/mnt/d/apps/NeuroAnsible$ ansible-playbook --list-tags deploy.yml
[WARNING]: Ansible is being run in a world writable directory (/mnt/d/apps/NeuroAnsible), ignoring it as an ansible.cfg source. For
more information see https://docs.ansible.com/ansible/devel/reference_appendices/config.html#cfg-in-world-writable-dir
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
[WARNING]: Could not match supplied host pattern, ignoring: workstations
playbook: deploy.yml
play #1 (workstations): workstations TAGS: []
TASK TAGS: [R, afni, ants, civet, cobralab, containers, cpac, fastsurfer, fmriprep, freesurfer, fsl, minc, misc, modules, mrtrix, nvidia, python, resources]```
I may be doing something wrong.
The problem is this:
[WARNING]: Ansible is being run in a world writable directory (/mnt/d/apps/NeuroAnsible), ignoring it as an ansible.cfg source. For
more information see https://docs.ansible.com/ansible/devel/reference_appendices/config.html#cfg-in-world-writable-dir
BECOME password:
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
[WARNING]: Could not match supplied host pattern, ignoring: workstations
I don't know if this is you changing the permissions or some bad defaults for WSL directories.
Its ignoring the config file because of the permissions in the directory you're in, and hence its not using the supplied explicit localhost inventory file.
Try:
ansible-playbook -i ./inventory deploy.yml
It looks to me like you're not running in your home directory, but some "shared" directory with windows, which is the origin of your permission issues.
I suggest using normal linux-compliant directories for linux-tested things.
Ok, I now installed from my linux home. I get a different error now:
BECOME password:
PLAY [workstations] ****************************************************************************************************************
TASK [Gathering Facts] *************************************************************************************************************
ok: [localhost]
TASK [mambaorg.micromamba : Check if micromamba already exists in /usr/local/bin/micromamba] ***************************************
ok: [localhost]
TASK [mambaorg.micromamba : Install bzip2] *****************************************************************************************
ok: [localhost]
TASK [mambaorg.micromamba : Make temporary directory for micromamba] ***************************************************************
changed: [localhost]
TASK [mambaorg.micromamba : Install micromamba] ************************************************************************************
changed: [localhost]
TASK [mambaorg.micromamba : Copy micromamba to destination] ************************************************************************
changed: [localhost]
TASK [mambaorg.micromamba : Remove temporary directory] ****************************************************************************
changed: [localhost]
TASK [mambaorg.micromamba : Check if root_prefix is defined but doesn't exist] *****************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Build first part of arguments] *************************************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Build channel part of arguments] ***********************************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Create a new conda environment] ************************************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Create .condarc file] **********************************************************************************
skipping: [localhost]
TASK [science : Create quarantine paths] *******************************************************************************************
changed: [localhost] => (item=/opt/quarantine/software)
changed: [localhost] => (item=/opt/quarantine/modulefiles)
TASK [science : lmod] **************************************************************************************************************
changed: [localhost]
TASK [science : Fix environment variables for terminals/ssh in /etc/bash.bashrc] ***************************************************
changed: [localhost]
TASK [science : Set MODULEPATH and QUARANTINE_PATH] ********************************************************************************
changed: [localhost]
TASK [science : Copy module linker] ************************************************************************************************
changed: [localhost]
TASK [science : Create AFNI directories] *******************************************************************************************
changed: [localhost] => (item=/opt/quarantine/software/afni/2024-06-04/install)
TASK [science : Install AFNI dependencies] *****************************************************************************************
fatal: [localhost]: FAILED! => changed=false
msg: No package matching 'libgfortran-11-dev' is available
PLAY RECAP *************************************************************************************************************************
localhost : ok=13 changed=10 unreachable=0 failed=1 skipped=5 rescued=0 ignored=0```
Tried to install that library but I cant seem to find it.
https://github.com/gdevenyi/NeuroAnsible#prerequisites
22.04 and 24.04 have been tested with this playbook. 20.04 is unsupported. Please update your WSL.
Hi, so I upgraded to 22.04, here are the new errors:
BECOME password:
PLAY [workstations] ****************************************************************************************************
TASK [Gathering Facts] *************************************************************************************************
ok: [localhost]
TASK [mambaorg.micromamba : Check if micromamba already exists in /usr/local/bin/micromamba] ***************************
ok: [localhost]
TASK [mambaorg.micromamba : Install bzip2] *****************************************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Make temporary directory for micromamba] ***************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Install micromamba] ************************************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Copy micromamba to destination] ************************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Remove temporary directory] ****************************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Check if root_prefix is defined but doesn't exist] *****************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Build first part of arguments] *************************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Build channel part of arguments] ***********************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Create a new conda environment] ************************************************************
skipping: [localhost]
TASK [mambaorg.micromamba : Create .condarc file] **********************************************************************
skipping: [localhost]
TASK [science : Create quarantine paths] *******************************************************************************
ok: [localhost] => (item=/opt/quarantine/software)
ok: [localhost] => (item=/opt/quarantine/modulefiles)
TASK [science : lmod] **************************************************************************************************
ok: [localhost]
TASK [science : Fix environment variables for terminals/ssh in /etc/bash.bashrc] ***************************************
ok: [localhost]
TASK [science : Set MODULEPATH and QUARANTINE_PATH] ********************************************************************
ok: [localhost]
TASK [science : Copy module linker] ************************************************************************************
ok: [localhost]
TASK [science : Create AFNI directories] *******************************************************************************
ok: [localhost] => (item=/opt/quarantine/software/afni/2024-06-04/install)
TASK [science : Install AFNI dependencies] *****************************************************************************
changed: [localhost]
TASK [science : Link GSL library for AFNI to work] *********************************************************************
changed: [localhost]
TASK [science : Download AFNI installer] *******************************************************************************
changed: [localhost]
TASK [science : Run AFNI Installer] ************************************************************************************
changed: [localhost]
TASK [science : Install module] ****************************************************************************************
changed: [localhost]
TASK [science : Create freesurfer directories] *************************************************************************
changed: [localhost] => (item=/opt/quarantine/software/freesurfer/7.4.1)
changed: [localhost] => (item=/opt/quarantine/software/freesurfer/7.4.1/install)
TASK [science : install freesurfer 7.4.1] ******************************************************************************
changed: [localhost]
TASK [science : Install module] ****************************************************************************************
changed: [localhost]
TASK [science : install freesurfer license] ****************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: If you are using a module and expect the file to exist on the remote, see the remote_src option
fatal: [localhost]: FAILED! => changed=false
msg: |-
Could not find or access 'files/license.txt'
Searched in:
/home/egarza/NeuroAnsible/roles/science/files/files/license.txt
/home/egarza/NeuroAnsible/roles/science/files/license.txt
/home/egarza/NeuroAnsible/roles/science/tasks/files/files/license.txt
/home/egarza/NeuroAnsible/roles/science/tasks/files/license.txt
/home/egarza/NeuroAnsible/files/files/license.txt
/home/egarza/NeuroAnsible/files/license.txt on the Ansible Controller.
If you are using a module and expect the file to exist on the remote, see the remote_src option
...ignoring
TASK [science : Create ANTs directories] *******************************************************************************
changed: [localhost] => (item=/opt/quarantine/software/ANTs/2.5.2/install)
TASK [science : Install ANTs] ******************************************************************************************
changed: [localhost]
TASK [science : Move ANTs install files] *******************************************************************************
changed: [localhost]
TASK [science : Install module] ****************************************************************************************
changed: [localhost]
TASK [science : Create ANTs directories] *******************************************************************************
changed: [localhost] => (item=/opt/quarantine/software/fsl/6.0.7.11/install)
changed: [localhost] => (item=/opt/quarantine/software/fsl/6.0.7.11/src)
TASK [science : download fsl] ******************************************************************************************
changed: [localhost]
TASK [science : install fsl] *******************************************************************************************
changed: [localhost]
TASK [science : Install module] ****************************************************************************************
changed: [localhost]
TASK [science : add apptainer ppa] *************************************************************************************
changed: [localhost] => (item=ppa:apptainer/ppa)
TASK [science : Install apptainer dependencies] ************************************************************************
changed: [localhost]
TASK [science : Create fmriprep directories] ***************************************************************************
changed: [localhost] => (item=/opt/quarantine/software/fmriprep/23.2.2/install)
changed: [localhost] => (item=/opt/quarantine/software/fmriprep/20.2.7/install)
TASK [science : Build fmriprep singularity container] ******************************************************************
fatal: [localhost]: FAILED! => changed=true
cmd:
- apptainer
- build
- /opt/quarantine/software/fmriprep/23.2.2/install/fmriprep
- docker://nipreps/fmriprep:23.2.2
delta: '0:00:00.019506'
end: '2024-06-04 14:54:39.515305'
msg: non-zero return code
rc: 255
start: '2024-06-04 14:54:39.495799'
stderr: 'FATAL: Unable to create build: failed to create build parent dir: stat /scratch: no such file or directory'
stderr_lines: <omitted>
stdout: ''
stdout_lines: <omitted>
PLAY RECAP *************************************************************************************************************
localhost : ok=28 changed=19 unreachable=0 failed=1 skipped=10 rescued=0 ignored=1```
You don't have an expected scratch directory. I've pushed an update to make it.
Closing this, there is nothing special or unique to WSL, this is a regular install and needs no special support.
This should work, need someone to test.