FeTS-AI / Challenge

The repo for the FeTS Challenge
https://www.synapse.org/#!Synapse:syn28546456
47 stars 29 forks source link

No url found for submodule path 'GANDLF' in .gitmodules #194

Open ManuelNickel opened 1 month ago

ManuelNickel commented 1 month ago

Dear FeTS-AI team,

following the instructions on how to install the infrastructure for Task 1, I encountered the following error for step 8, the pip install step:

~/Challenge/Task_1$ pip install .
Processing ~/Challenge/Task_1
  Preparing metadata (setup.py) ... done
Collecting openfl@ git+https://github.com/intel/openfl.git@f4b28d710e2be31cdfa7487fdb4e8cb3a1387a5f (from fets-challenge==2.0)
  Cloning https://github.com/intel/openfl.git (to revision f4b28d710e2be31cdfa7487fdb4e8cb3a1387a5f) to /tmp/pip-install-tglnj1g1/openfl_bf417e151ecd4f06983321e60bc4d466
  Running command git clone --filter=blob:none --quiet https://github.com/intel/openfl.git /tmp/pip-install-tglnj1g1/openfl_bf417e151ecd4f06983321e60bc4d466
  Running command git rev-parse -q --verify 'sha^f4b28d710e2be31cdfa7487fdb4e8cb3a1387a5f'
  Running command git fetch -q https://github.com/intel/openfl.git f4b28d710e2be31cdfa7487fdb4e8cb3a1387a5f
  Running command git checkout -q f4b28d710e2be31cdfa7487fdb4e8cb3a1387a5f
  Resolved https://github.com/intel/openfl.git to commit f4b28d710e2be31cdfa7487fdb4e8cb3a1387a5f
  Preparing metadata (setup.py) ... done
Collecting GANDLF@ git+https://github.com/CBICA/GaNDLF.git@e4d0d4bfdf4076130817001a98dfb90189956278 (from fets-challenge==2.0)
  Cloning https://github.com/CBICA/GaNDLF.git (to revision e4d0d4bfdf4076130817001a98dfb90189956278) to /tmp/pip-install-tglnj1g1/gandlf_c4f0036a896d455eae2d9f7d2fd57d46
  Running command git clone --filter=blob:none --quiet https://github.com/CBICA/GaNDLF.git /tmp/pip-install-tglnj1g1/gandlf_c4f0036a896d455eae2d9f7d2fd57d46
  Running command git rev-parse -q --verify 'sha^e4d0d4bfdf4076130817001a98dfb90189956278'
  Running command git fetch -q https://github.com/CBICA/GaNDLF.git e4d0d4bfdf4076130817001a98dfb90189956278
  Running command git checkout -q e4d0d4bfdf4076130817001a98dfb90189956278
  Resolved https://github.com/CBICA/GaNDLF.git to commit e4d0d4bfdf4076130817001a98dfb90189956278
  Running command git submodule update --init --recursive -q
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting fets@ git+https://github.com/FETS-AI/Algorithms.git@fets_challenge (from fets-challenge==2.0)
  Cloning https://github.com/FETS-AI/Algorithms.git (to revision fets_challenge) to /tmp/pip-install-tglnj1g1/fets_a6232463deb046dfa00c89ef47b688d0
  Running command git clone --filter=blob:none --quiet https://github.com/FETS-AI/Algorithms.git /tmp/pip-install-tglnj1g1/fets_a6232463deb046dfa00c89ef47b688d0
  Running command git checkout -b fets_challenge --track origin/fets_challenge
  Switched to a new branch 'fets_challenge'
  Branch 'fets_challenge' set up to track remote branch 'fets_challenge' from 'origin'.
  Resolved https://github.com/FETS-AI/Algorithms.git to commit 60e0b8761229edde18e3d707e3e3e5eb0c0fb80f
  Running command git submodule update --init --recursive -q
  fatal: No url found for submodule path 'GANDLF' in .gitmodules
  error: subprocess-exited-with-error

  × git submodule update --init --recursive -q did not run successfully.
  │ exit code: 128
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git submodule update --init --recursive -q did not run successfully.
│ exit code: 128
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Looking at Algorithms/.gitmodules, I noticed that the GANDLF submodule has been renamed to GANDLF_module a while back.

I got around this by manually cloning openfl, GANDFL and fets from the repos as listed in Challenge/Task_1/setup.py within the install_requires block, checking out the corresponding commits and pip installing these into the env. Then, I commented out the install_requires block and ran pip install . on Challenge/Task_1 again.

My conda env was then still missing the correct GLIB version, erroring out with libstdc++.so.6: version GLIBCXX_3.4.30' not found. conda install -c conda-forge libgcc=5.2.0 fixed this for me.

Lastly, when installing torchvision, one needs to pin it to an older version, as the newer ones do not provide the required torch.ao module:

pip install torchvision==0.9.1

So, easy fix. Just leave this here in case someone else stumbles upon this. 🙂

Best, Manu

kta-intel commented 1 month ago

Thanks @ManuelNickel !

PandeyRishiV commented 4 weeks ago

For me cloning gandalf wasnt enough, I cloned gandalf and ended with a error that said

ERROR: Could not find a version that satisfies the requirement torch==1.8.2 (from gandlf) (from versions: 1.7.1, 1.8.0, 1.8.1, 1.9.0, 1.9.1, 1.10.0, 1.10.1, 1.10.2, 1.11.0, 1.12.0, 1.12.1, 1.13.0, 1.13.1, 2.0.0, 2.0.1, 2.1.0, 2.1.1, 2.1.2, 2.2.0, 2.2.1, 2.2.2, 2.3.0, 2.3.1) ERROR: No matching distribution found for torch==1.8.2

I found the file with this requirement, located in
Challenge\Task_1\GaNDLF\tutorials\classification_pathmnist_notebook\classification_tutorial.ipynb and changed it to 1.8.1

Was finally able to install GANDLF using pip. Putting this here incase any one else goes through the same error

Also, As above mentioned, Clone Algorithms (comment them out from setup.py), and renaming GANDALF_modules to GANDALF and then installing with pip, worked for me @ManuelNickel I guess thats what you suggested as well