在 conda 包中包含 GLIBC
Including GLIBC in a conda package
我正在学习如何创建 conda 包,我在使用一个可以在本地工作的包时遇到了问题,但是当从 anaconda 下载到不同的服务器时会 return 一个错误:
/lib64/libm.so.6: version `GLIBC_2.29' not found
meta.yaml
如下所示:
package:
name: app
version: 2.4
source:
git_url: https://gitlab.com/user/repo.git
git_tag: v2.4
requirements:
build:
host:
run:
about:
home: https://gitlab.com/user/repo
license: GPL-3
license_family: GPL
summary: blabla.
该应用程序是使用简单的 build.sh
脚本构建的:
#!/bin/bash
set -x
echo $(pwd)
make
BIN=$PREFIX/bin
mkdir -p $BIN
cp app $BIN
我假设 requirements
下的 build: glibc >= 2.29
会完成这项工作,但是当 运行 conda build .
.
时会导致错误
如何在包中包含 GLIBC?这是要手动完成的事情吗?从我可以从 anaconda 下载的包版本,我可以看到其他包也被下载(例如 libgcc-ng
),我在 meta.yaml
或任何地方都没有真正提到。
How can I include GLIBC in the package?
你不能,原因已解释here。
您最好的选择是在具有您需要支持的最低版本 GLIBC 的系统(或在 docker 容器中构建)(即安装在您将要使用的服务器上的版本) 运行你的包裹在)。
我正在学习如何创建 conda 包,我在使用一个可以在本地工作的包时遇到了问题,但是当从 anaconda 下载到不同的服务器时会 return 一个错误:
/lib64/libm.so.6: version `GLIBC_2.29' not found
meta.yaml
如下所示:
package:
name: app
version: 2.4
source:
git_url: https://gitlab.com/user/repo.git
git_tag: v2.4
requirements:
build:
host:
run:
about:
home: https://gitlab.com/user/repo
license: GPL-3
license_family: GPL
summary: blabla.
该应用程序是使用简单的 build.sh
脚本构建的:
#!/bin/bash
set -x
echo $(pwd)
make
BIN=$PREFIX/bin
mkdir -p $BIN
cp app $BIN
我假设 requirements
下的 build: glibc >= 2.29
会完成这项工作,但是当 运行 conda build .
.
如何在包中包含 GLIBC?这是要手动完成的事情吗?从我可以从 anaconda 下载的包版本,我可以看到其他包也被下载(例如 libgcc-ng
),我在 meta.yaml
或任何地方都没有真正提到。
How can I include GLIBC in the package?
你不能,原因已解释here。
您最好的选择是在具有您需要支持的最低版本 GLIBC 的系统(或在 docker 容器中构建)(即安装在您将要使用的服务器上的版本) 运行你的包裹在)。