linkerror with installation

I have problem with installing qiime2-2023.2 with conda on a server running linux system. I ran command conda env create -n qiime-2023.2 --file qiime2-2023.2-py38-linux-conda.yml. But it turned out to report the error info ERROR conda.core.link:_execute(952): An error occurred while installing package 'bioconda::bioconductor-genomeinfodbdata-1.2.9-r42hdfd78af_0'.,and below for the detailed error info. At first I considered it a internet issue so I changed the channels of conda but error info remained. I wonder how I could fix that. Thanks!
Here is the reported error info.

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

Downloading and Extracting Packages

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
ERROR conda.core.link:_execute(952): 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: /home/lizw/anaconda3/envs/qiime-2023.2/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 -- /home/lizw/anaconda3/envs/qiime-2023.2/bin/installBiocDataPackage.sh
+ SCRIPT_DIR=/home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages
+ json=/home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages/dataURLs.json
++ yq '."genomeinfodbdata-1.2.9".fn' /home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages/dataURLs.json
+ FN='"GenomeInfoDbData_1.2.9.tar.gz"'
++ yq '."genomeinfodbdata-1.2.9".urls[]' /home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages/dataURLs.json
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
++ yq '."genomeinfodbdata-1.2.9".md5' /home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages/dataURLs.json
+ MD5='"7cc138cfb74665fdfa8d1c244eac4879"'
+ STAGING=/home/lizw/anaconda3/envs/qiime-2023.2/share/genomeinfodbdata-1.2.9
+ mkdir -p /home/lizw/anaconda3/envs/qiime-2023.2/share/genomeinfodbdata-1.2.9
+ TARBALL='/home/lizw/anaconda3/envs/qiime-2023.2/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
  0     0    0     0    0     0      0      0 --:--:--  0:04:38 --:--:--     0
curl: (28) Failed to connect to bioconductor.org port 443 after 278456 ms: Couldn't connect to server

return code: 28

kwargs:
{}

Traceback (most recent call last):
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/exception_handler.py", line 16, in __call__
    return func(*args, **kwargs)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda_env/cli/main.py", line 49, in do_call
    exit_code = getattr(module, func_name)(args, parser)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/notices/core.py", line 123, in wrapper
    return func(*args, **kwargs)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda_env/cli/main_create.py", line 163, in execute
    result[installer_type] = installer.install(
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda_env/installers/conda.py", line 62, in install
    unlink_link_transaction.execute()
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/core/link.py", line 356, in execute
    self._execute(
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/core/link.py", line 972, 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: /home/lizw/anaconda3/envs/qiime-2023.2/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 -- /home/lizw/anaconda3/envs/qiime-2023.2/bin/installBiocDataPackage.sh
+ SCRIPT_DIR=/home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages
+ json=/home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages/dataURLs.json
++ yq '."genomeinfodbdata-1.2.9".fn' /home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages/dataURLs.json
+ FN='"GenomeInfoDbData_1.2.9.tar.gz"'
++ yq '."genomeinfodbdata-1.2.9".urls[]' /home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages/dataURLs.json
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
+ URLS+=($value)
+ IFS=
+ read -r value
++ yq '."genomeinfodbdata-1.2.9".md5' /home/lizw/anaconda3/envs/qiime-2023.2/bin/../share/bioconductor-data-packages/dataURLs.json
+ MD5='"7cc138cfb74665fdfa8d1c244eac4879"'
+ STAGING=/home/lizw/anaconda3/envs/qiime-2023.2/share/genomeinfodbdata-1.2.9
+ mkdir -p /home/lizw/anaconda3/envs/qiime-2023.2/share/genomeinfodbdata-1.2.9
+ TARBALL='/home/lizw/anaconda3/envs/qiime-2023.2/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
  0     0    0     0    0     0      0      0 --:--:--  0:04:38 --:--:--     0
curl: (28) Failed to connect to bioconductor.org port 443 after 278456 ms: Couldn't connect to server

return code: 28

kwargs:
{}

: <exception str() failed>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lizw/anaconda3/bin/conda-env", line 7, in <module>
    sys.exit(main())
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda_env/cli/main.py", line 60, in main
    return conda_exception_handler(do_call, args, parser)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/exception_handler.py", line 376, in conda_exception_handler
    return_value = exception_handler(func, *args, **kwargs)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/exception_handler.py", line 19, in __call__
    return self.handle_exception(exc_val, exc_tb)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/exception_handler.py", line 62, in handle_exception
    return self.handle_application_exception(exc_val, exc_tb)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/exception_handler.py", line 78, in handle_application_exception
    self._print_conda_exception(exc_val, exc_tb)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/exception_handler.py", line 84, in _print_conda_exception
    print_conda_exception(exc_val, exc_tb)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/exceptions.py", line 1259, in print_conda_exception
    stderrlog.error("\n%r\n", exc_val)
  File "/home/lizw/anaconda3/lib/python3.10/logging/__init__.py", line 1506, in error
    self._log(ERROR, msg, args, **kwargs)
  File "/home/lizw/anaconda3/lib/python3.10/logging/__init__.py", line 1624, in _log
    self.handle(record)
  File "/home/lizw/anaconda3/lib/python3.10/logging/__init__.py", line 1633, in handle
    if (not self.disabled) and self.filter(record):
  File "/home/lizw/anaconda3/lib/python3.10/logging/__init__.py", line 821, in filter
    result = f.filter(record)
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/gateways/logging.py", line 56, in filter
    record.msg = record.msg % new_args
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/__init__.py", line 110, in __repr__
    errs.append(e.__repr__())
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/__init__.py", line 64, in __repr__
    return f"{self.__class__.__name__}: {self}"
  File "/home/lizw/anaconda3/lib/python3.10/site-packages/conda/__init__.py", line 68, in __str__
    return str(self.message % self._kwargs)
ValueError: unsupported format character 'T' (0x54) at index 2054

Hello Zewei Li,

Welcome to the forums! :qiime2:

This looks like there's an issue connecting with the server. Often these problems go away if you wait. Try running the install script again and see if it works now.

If you get the same error, let us know!

1 Like

Hello Colin,
I Appreciate you for your kind reply!
Actually I have tried for many times, and the same error raised every time. The internet issue may not be solved because I am a user in China so there's some limitation with connection. But I can download the package bioconda::bioconductor-genomeinfodbdata-1.2.9-r42hdfd78af_0 and upload it to the server. Could I use the local package for environment building? Thank you for your time!

I understand. We have seen some issues with software repos before.

I'm not sure... I think conda want's to download it's own packages, so I'm not sure if the local copy will help.

You can install Qiime2 on a different computer, then conda pack the full environment, audit it, and redeploy it without internet access.
See: Anaconda | Moving Conda Environments
python - How can I install a conda environment when offline? - Stack Overflow

You can also do this with Docker, if you prefer that: Installing QIIME 2 using Docker — QIIME 2 2021.11.0 documentation

1 Like

Hi Colin,
Thank you for your time! I believe your method will help, but I don't know whether it will be useful with different platform. I have a Mac PC and maybe I can get PC with Windows, but I don't know whether the difference of qiime2 in these platforms will prevent the environment transfer. But I'll try it! Thanks for your advice!

1 Like

As I expected... Mac version qiime2 doesn't work well on linux server, but I'll try windows conda environment transfer because their x86 feature. Thank Colin again for the advice!
My error info listed below.

(base) (base)[wangxy@node1 condaEnv_HuaLab]$ source qiime2-2023.2/bin/activate
/data/condaEnv_HuaLab/qiime2-2023.2/bin/python: /data/condaEnv_HuaLab/qiime2-2023.2/bin/python: cannot execute binary file
bash: xcrun: command not found...
1 Like

I don't think native Windows conda will work for the same reasons as Mac,
but WSL on Windows is real Linux, so that is the best one to try.

Hi Colin,
I appreciate your help! I asked a friend to install linux version qiime2 then he packed the environment. Now I can use qiime2 on the server! Thank you for your useful advice!

1 Like

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