QIIME2 native installation error on MacOS

Hey all,

Up until today I had an older version of QIIME2 installed on my M1 MacBook until I encountered an error that went along the lines of "plug-in not available" whenever I tried to trim sequences in the form of an artifact. Googling led me to believe a re-installation of the most recent version of QIIME2 would fix my issue.

When trying to install the latest version (2023.5) natively using miniconda everything seems to go fine until I try to "execute transaction," wherein I'll get the following error message:

% CONDA_SUBDIR=osx-64 conda env create -n qiime2-2023.5 --file qiime2-2023.5-py38-osx-conda.yml

Collecting package metadata (repodata.json): done
Solving environment: done

Downloading and Extracting Packages

Executing transaction: done                                                     
ERROR conda.core.link:_execute(945): An error occurred while installing package 'bioconda::bioconductor-genomeinfodbdata-1.2.9-r42hdfd78af_0'.                  
Rolling back transaction: done                                                  
class: LinkError                                                                
message:                                                                        
post-link script failed for package bioconda::bioconductor-genomeinfodbdata-1.2.9-r42hdfd78af_0                                                                 
location of failed script: /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/.bioconductor-genomeinfodbdata-post-link.sh                                          
==> script messages <==                                                         
<None>                                                                          
==> script output <==                                                           
stdout:                                                                         
stderr: QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.              
++ dirname -- /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/installBiocDataPackage.sh                                                                         
+ SCRIPT_DIR=/Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages                                                                
+ json=/Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages/dataURLs.json
++ yq '."genomeinfodbdata-1.2.9".fn' /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages/dataURLs.json
+ FN='"GenomeInfoDbData_1.2.9.tar.gz"'
+ IFS=
+ read -r value
++ yq '."genomeinfodbdata-1.2.9".urls[]' /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages/dataURLs.json
+ URLS+=($value)
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
++ yq '."genomeinfodbdata-1.2.9".md5' /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages/dataURLs.json
+ MD5='"7cc138cfb74665fdfa8d1c244eac4879"'
+ STAGING=/Users/qiime2/miniconda3/envs/qiime2-2023.5/share/genomeinfodbdata-1.2.9
+ mkdir -p /Users/qiime2/miniconda3/envs/qiime2-2023.5/share/genomeinfodbdata-1.2.9
+ TARBALL='/Users/qiime2/miniconda3/envs/qiime2-2023.5/share/genomeinfodbdata-1.2.9/"GenomeInfoDbData_1.2.9.tar.gz"'
+ SUCCESS=0
+ for URL in '${URLS[@]}'
++ echo '"https://bioconductor.org/packages/3.16/data/annotation/src/contrib/GenomeInfoDbData_1.2.9.tar.gz"'
++ tr -d '"'
+ URL=https://bioconductor.org/packages/3.16/data/annotation/src/contrib/GenomeInfoDbData_1.2.9.tar.gz
++ echo '"7cc138cfb74665fdfa8d1c244eac4879"'
++ tr -d '"'
+ MD5=7cc138cfb74665fdfa8d1c244eac4879
+ curl -L https://bioconductor.org/packages/3.16/data/annotation/src/contrib/GenomeInfoDbData_1.2.9.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   416  100   416    0     0   1528      0 --:--:-- --:--:-- --:--:--  1529
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (7) Failed to connect to mghp.osn.xsede.org port 443 after 1486 ms: Couldn't connect to server

return code: 7

kwargs:
{}

Traceback (most recent call last):
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/exception_handler.py", line 17, in __call__
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda_env/cli/main.py", line 56, in do_call
    exit_code = getattr(module, func_name)(arguments, parser)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/notices/core.py", line 124, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda_env/cli/main_create.py", line 162, in execute
    result[installer_type] = installer.install(
                             ^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda_env/installers/conda.py", line 63, in install
    unlink_link_transaction.execute()
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/core/link.py", line 349, in execute
    self._execute(
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/core/link.py", line 965, in _execute
    raise CondaMultiError(
conda.CondaMultiErrorclass: LinkError
message:
post-link script failed for package bioconda::bioconductor-genomeinfodbdata-1.2.9-r42hdfd78af_0
location of failed script: /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/.bioconductor-genomeinfodbdata-post-link.sh
==> script messages <==
<None>
==> script output <==
stdout: 
stderr: QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.
++ dirname -- /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/installBiocDataPackage.sh
+ SCRIPT_DIR=/Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages
+ json=/Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages/dataURLs.json
++ yq '."genomeinfodbdata-1.2.9".fn' /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages/dataURLs.json
+ FN='"GenomeInfoDbData_1.2.9.tar.gz"'
+ IFS=
+ read -r value
++ yq '."genomeinfodbdata-1.2.9".urls[]' /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages/dataURLs.json
+ URLS+=($value)
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
++ yq '."genomeinfodbdata-1.2.9".md5' /Users/qiime2/miniconda3/envs/qiime2-2023.5/bin/../share/bioconductor-data-packages/dataURLs.json
+ MD5='"7cc138cfb74665fdfa8d1c244eac4879"'
+ STAGING=/Users/qiime2/miniconda3/envs/qiime2-2023.5/share/genomeinfodbdata-1.2.9
+ mkdir -p /Users/qiime2/miniconda3/envs/qiime2-2023.5/share/genomeinfodbdata-1.2.9
+ TARBALL='/Users/qiime2/miniconda3/envs/qiime2-2023.5/share/genomeinfodbdata-1.2.9/"GenomeInfoDbData_1.2.9.tar.gz"'
+ SUCCESS=0
+ for URL in '${URLS[@]}'
++ echo '"https://bioconductor.org/packages/3.16/data/annotation/src/contrib/GenomeInfoDbData_1.2.9.tar.gz"'
++ tr -d '"'
+ URL=https://bioconductor.org/packages/3.16/data/annotation/src/contrib/GenomeInfoDbData_1.2.9.tar.gz
++ echo '"7cc138cfb74665fdfa8d1c244eac4879"'
++ tr -d '"'
+ MD5=7cc138cfb74665fdfa8d1c244eac4879
+ curl -L https://bioconductor.org/packages/3.16/data/annotation/src/contrib/GenomeInfoDbData_1.2.9.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   416  100   416    0     0   1528      0 --:--:-- --:--:-- --:--:--  1529
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (7) Failed to connect to mghp.osn.xsede.org port 443 after 1486 ms: Couldn't connect to server

return code: 7

kwargs:
{}

: <exception str() failed>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/qiime2/miniconda3/bin/conda-env", line 7, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda_env/cli/main.py", line 69, in main
    return conda_exception_handler(do_call, args, parser)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/exception_handler.py", line 389, in conda_exception_handler
    return_value = exception_handler(func, *args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/exception_handler.py", line 20, in __call__
    return self.handle_exception(exc_val, exc_tb)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/exception_handler.py", line 63, in handle_exception
    return self.handle_application_exception(exc_val, exc_tb)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/exception_handler.py", line 79, in handle_application_exception
    self._print_conda_exception(exc_val, exc_tb)
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/exception_handler.py", line 85, in _print_conda_exception
    print_conda_exception(exc_val, exc_tb)
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/exceptions.py", line 1264, in print_conda_exception
    stderrlog.error("\n%r\n", exc_val)
  File "/Users/qiime2/miniconda3/lib/python3.11/logging/__init__.py", line 1518, in error
    self._log(ERROR, msg, args, **kwargs)
  File "/Users/qiime2/miniconda3/lib/python3.11/logging/__init__.py", line 1634, in _log
    self.handle(record)
  File "/Users/qiime2/miniconda3/lib/python3.11/logging/__init__.py", line 1643, in handle
    if (not self.disabled) and self.filter(record):
                               ^^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/logging/__init__.py", line 830, in filter
    result = f.filter(record)
             ^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/gateways/logging.py", line 57, in filter
    record.msg = record.msg % new_args
                 ~~~~~~~~~~~^~~~~~~~~~
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/__init__.py", line 110, in __repr__
    errs.append(e.__repr__())
                ^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/__init__.py", line 64, in __repr__
    return f"{self.__class__.__name__}: {self}"
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/qiime2/miniconda3/lib/python3.11/site-packages/conda/__init__.py", line 68, in __str__
    return str(self.message % self._kwargs)
               ~~~~~~~~~~~~~^~~~~~~~~~~~~~
ValueError: unsupported format character 'T' (0x54) at index 2104

After googling the issue for hours I found little to no help or solutions (at least any that resolved the actual issue). The command above results in an environment that contains no packages and does not work. I was hoping someone might be able to tell me what else I can do to get QIIME2 up and running again.

So far I've tried:

  • Turning my firewall off
  • Waiting to see if it was a temporary issue
  • Restarting my computer
  • Un-installing and re-installing miniconda and anaconda
  • Clearing miniconda entirely
  • Trying a different user profile on my computer
  • Changing the yml file to exclude bioconductor-genomeinfodbdata-1.2.9-r42hdfd78af_0

Let me know where the issue might stem from.

3 Likes

@grigsby I'm running into the same issue.

2 Likes

This appears to be an issue with this package on bioconductor (outside of Qiime2):
https://support.bioconductor.org/p/9153734/

I'm also on OSX and practicing patience :person_in_lotus_position:

Previous installs of Qiime2 into existing conda-environments should still work.

EDIT: @jolespin, here's the Failed to connect to mghp.osn.xsede.org you also got

1 Like

Managed a successful installation on a linux a few weeks ago. But just got around to updating my mac and i get the same issues above with the bioconductor.

Tried to revert to an older version and no luck with that.

1 Like

This solved my issue last time but it didn't work this time for some reason: ValueError: unsupported format character 'T' (0x54) at index 3312 when creating environment from environment file - #9 by jolespin

@jolespin it is unlikely anything will work at this time. The issue as mentioned in this link posed by @colinbrislawn is that this website that hosts the necessary packages is currently down.

been playing about. Not exactly how i fixed it but i did this:

  • removed anaconda
  • reinstalled anaconda
  • changed my channel setting to flexible (was strict) with conda config --set channel_priority flexible
  • tried the qiime2 installation again and i now have a working version

that or they just fixed the link for bioconductor and everything works as usual

3 Likes

It doesn't seem to be back up (hard to tell, that page the person in that external forum post linked to is strange looking). Maybe they also host the packages elsewhere? I suspect the most important step there was the third one assuming things aren't back up to normal.

changed my channel setting to flexible (was strict) with conda config --set channel_priority flexible

2 Likes

This solution fixed it for me, many thanks! Hopefully the actual issue gets fixed soon.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.