cryoem / eman2

A scientific image processing software suite with a focus on CryoEM and CryoET
143 stars 50 forks source link

Dependency installation issue #565

Open mcleanm opened 1 year ago

mcleanm commented 1 year ago

Hi,

I tried following the instructions located here for installing eman2 from source, but ran into issues during dependency installation with mamba.

Everything under "Initial setup (one time)" worked until step 5, when the mamba command that creates a new conda env and installs the dependencies from eman-deps could not resolve conflicts. See end of post for the terminal logs. I also tried using an analogous conda command to install dependencies, which errored out

I am on linux, running Ubuntu 18.04.6 LTS. I also tried this on two different systems, running Ubuntu 16.04.7 LTS and Ubuntu 20.04.3 LTS, but faced similar errors.

I ran the first bit under "Reporting Problems" (conda info -a, conda list, conda list --explicit) and have the terminal output. (Couldn't run the rest of the script since I haven't yet cloned any of the source code). Please let me know to whom I can send this to receive any troubleshooting help.

Any help is appreciated, thank you!

(base) e2user@cryoem1:~$ mamba create -n eman2 eman-deps=33.1 -c cryoem -c conda-forge
Looking for: ['eman-deps=33.1']
[...]
warning  libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
[...]
Could not solve for environment specs
The following package could not be installed
└─ eman-deps 33.1**  is uninstallable because it requires
   └─ fftw * mpi_openmpi_* but there are no viable options
      ├─ fftw 3.3.10 would require
      │  └─ openmpi >=4.1.1,<5.0a0 , which conflicts with any installable versions previously reported;
      ├─ fftw 3.3.10 would require
      │  └─ openmpi >=4.1.2,<5.0a0 , which conflicts with any installable versions previously reported;
      ├─ fftw 3.3.10 would require
      │  └─ openmpi >=4.1.4,<5.0a0 , which conflicts with any installable versions previously reported;
      ├─ fftw [3.3.8|3.3.9] would require
      │  └─ openmpi >=4.0.5,<5.0.0a0 , which conflicts with any installable versions previously reported;
      ├─ fftw 3.3.8 would require
      │  └─ openmpi >=3.1.3,<3.2.0a0 , which conflicts with any installable versions previously reported;
      ├─ fftw 3.3.8 would require
      │  └─ openmpi >=4.0.1,<5.0.0a0 , which conflicts with any installable versions previously reported;
      ├─ fftw 3.3.8 would require
      │  └─ openmpi >=4.0.4,<5.0.0a0 , which conflicts with any installable versions previously reported;
      └─ fftw 3.3.9 would require
         └─ openmpi >=4.1.0,<5.0a0 , which conflicts with any installable versions previously reported.

Different error when using conda instead to setup the environment:

(base) e2user@cryoem1:~$ conda create -n eman2 eman-deps=33.1 -c cryoem -c conda-forge
Collecting package metadata (current_repodata.json): failed

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/exceptions.py", line 1132, in __call__
        return func(*args, **kwargs)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/cli/main.py", line 69, in main_subshell
        exit_code = do_call(args, p)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/cli/conda_argparse.py", line 122, in do_call
        return getattr(module, func_name)(args, parser)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/notices/core.py", line 121, in wrapper
        return func(*args, **kwargs)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/cli/main_create.py", line 41, in execute
        install(args, parser, 'create')
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/cli/install.py", line 264, in install
        unlink_link_transaction = solver.solve_for_transaction(
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/solve.py", line 134, in solve_for_transaction
        unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/solve.py", line 177, in solve_for_diff
        final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/solve.py", line 282, in solve_final_state
        ssc = self._collect_all_metadata(ssc)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/common/io.py", line 84, in decorated
        return f(*args, **kwds)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/solve.py", line 449, in _collect_all_metadata
        index, r = self._prepare(prepared_specs)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/solve.py", line 1064, in _prepare
        reduced_index = get_reduced_index(self.prefix, self.channels,
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/index.py", line 267, in get_reduced_index
        new_records = SubdirData.query_all(spec, channels=channels, subdirs=subdirs,
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/subdir_data.py", line 139, in query_all
        create_cache_dir()
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/subdir_data.py", line 708, in create_cache_dir
        cache_dir = join(PackageCacheData.first_writable().pkgs_dir, "cache")
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 182, in first_writable
        package_cache = cls(pkgs_dir)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 82, in __call__
        package_cache_instance = super().__call__(pkgs_dir)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 95, in __init__
        self._urls_data = UrlsData(pkgs_dir)
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 489, in __init__
        self._urls_data = [line.strip().decode("utf-8") for line in fh]
      File "/u/e2user/miniconda3/lib/python3.10/site-packages/conda/core/package_cache_data.py", line 489, in <listcomp>
        self._urls_data = [line.strip().decode("utf-8") for line in fh]
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
shadowwalkersb commented 1 year ago

I can't reproduce this on Ubuntu 20. Both, mamba and conda commands work.