问题标签 [singularity-container]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 尝试运行 NVIDIA FleX 时出现“检测到缓冲区溢出”
我使用Singularity 2.6 已经有一段时间了,最近将我的 Singularity 升级到了 3.0(由于技术原因,我无法升级到 3.0.3)。使用 Singularity 3.0,我使用与使用 Singularity 2.6 构建容器时完全相同的定义文件构建新容器。从那以后,我不能再可靠地运行 NVIDIA FleX 并且时不时地出现以下错误。在过去 10 个月左右的时间里,我绝对没有更改我的 NVIDIA FleX 代码中的任何内容,而且我几乎每天都在运行 FleX,从来没有遇到过这样的问题。我想知道,可能是什么问题,试图说的错误是什么?我可能做错了什么或需要改变以防止这种情况发生?
根据我在代码中输入的打印语句,我只知道在我的 FleX 代码中调用UnmapBuffers()函数时会发生这种情况;但自从我写了这段代码以来,我一直在这样做,从来没有遇到过任何问题。虽然这可能不是很有帮助,但这是该函数的作用:
最后,这是我得到的错误:
对于 Singularity 用户:不幸的是,我无法再尝试使用 Singularity 2.6 来查看问题是否消失,因为我使用的是集群并且无法自己安装东西。
请注意,我在构建容器时将 NVIDIA 的 Docker 映像拉入容器中。这是构建容器时我的 Singularity 定义文件的主要部分:
snakemake - snakemake + 奇点,摆脱python依赖
我有一个有点奇怪的问题:考虑容器化工作流的情况,其中整个工作流使用单个奇异容器执行。这仍然需要系统上可以使用 python 来调用snakemake --use-singularity,对吗?我怎样才能摆脱这种依赖呢?我可以在我的容器中安装 python、snakemake 和奇异性并执行吗
这与集群配置一起使用是否安全?
编辑:似乎根本不起作用 - 我无法让具有奇异性的蛇形在另一个容器中工作......
docker - 在 docker 中启用 squashfs
我正在尝试在 docker 容器中运行奇异性。但是,我似乎无法弄清楚或理解如何让“squashfs”功能适用于.simg
奇点图像。
我已经看到一些讨论线程表明这个命令:
cat /proc/filesystems|grep squashfs
应该 return squashfs
,但是当我在我的 docker 容器中执行它时,我只是得到一个空行。我曾尝试查看“安装 squashfs”指南,但它们似乎都涉及修补和升级内核,这有点超出我的深度。
具体来说,我在使用 .simg 时遇到的错误如下:
singularity exec myimage.simg
我也尝试过使用“mount”来安装.simg,但这让我:
mount -o loop,offset=31 myimage.simg /mnt
mount: /mnt: unknown filesystem type 'squashfs'.
我觉得我错过了一些明显的东西。如何将 squashfs 添加到 dockerized 事物中?
path - 奇点容器:将自定义包添加到 $PATH 并将其传递给奇点 exec
我正在使用 PLINK v 1.9(一种遗传学软件,而不是 PuTTY 界面,https: //www.cog-genomics.org/plink/1.9/dev )制作一个奇点容器。我能够在容器中成功编译软件,并且当我进入容器时可以看到 PLINK 文件和函数。为了让我的最终用户更轻松,我正在尝试将软件的主文件夹添加到奇点 $PATH 以便他们可以从命令行调用 plink ,但我无法实现这一点。
到目前为止,我已经尝试过:
- 在我的奇点配方文件的 %runscript 部分分配 SINGULARITYENV_APPEND_PATH=path/to/plink。
- 将 Plink 的源代码文件夹移动到 Singularity 的 /usr/local/bin
- 设置变量 PLINKDIR=/path/to/plink 并将其导出到我的配方文件的 %environment 部分,类似于他们在此处所做的。
这些方法都不起作用。我可以访问这个包的唯一方法是在我的奇异 exec 命令中拼出完整路径。
我只想跑
我的奇点配方文件的内容:
echo 语句不输出任何内容。如何将这样的自定义包(意味着未使用 apt-get 安装)添加到奇异环境中,以便可以使用奇异 exec 从命令行调用它们?任何帮助,将不胜感激!
python - 如何在 Singularity 配方中激活 Anaconda 环境
我正在尝试创建一个奇点图像和配方,它将创建一个 anaconda 环境,然后激活所述环境,以便我可以在该环境中构建项目的 python 轮,因此它在奇点构建完成后 100% 安装并正常运行。
我已经尝试过两者conda activate
并且两者都source activate
得到相同的错误。
这只是我之后必须通过使图像可写来做的事情吗?这将是下一个默认解决方案,但如果配方能够正常工作,那就太好了。
*编辑 1
. activate caiman
返回。
*编辑 2 通过使用较新版本的 Anaconda,未找到的错误消失了。我所做的只是更改了我使用 wget 获得的 Anaconda 发行版,并且我还强制更新以确保更加确定。
singularity-container - 在容器中创建主目录失败
我设法从 DockerHub 构建了一个容器,使用 Sudo 对其进行外壳,成功安装了一些软件,甚至使用 Sudo 运行它。但是,当我尝试以非特权用户的身份对其进行 shell 时,它给了我一个错误。有人可以帮我吗?谢谢你。
错误如下:
singularity-container - 奇点容器:如何在设置中对源代码进行重大更改?
目的是创建一个与Feynhiggs / Higgsbounds / HiggsSignal / 2HDMC / SusHi和平运行的奇点容器。它们是一个强大的组合,但设置起来很繁琐。我希望能够提供这个容器来复制我的结果。
为了做到这一点,需要几个黑客。比如 2HDMC 大部分需要 Higgsbounds 版本 5,但也使用了 HiggsBounds 版本 4 中的一个 legacy 函数,所以我会在编译 HiggsBounds 5 之前将 legacy 函数插入到 HiggsBounds 5 的源代码中。2HDMC 不再维护,但它仍然是唯一能满足我需求的程序。这只是一个例子,几乎所有的包都需要更改源才能合作,尽管它们都打算一起使用。
原则上,我可以将所有这些更改作为替换写入奇点配方sed
,但这可能会创建一个完全不可读的配方文件。或者,我可以构建所有需要更改的文件的 zip,然后用配方替换它们,我认为这会更整洁,但我从未见过这样做。这也可以从改变所在的配方中清楚地看出。
在奇点编译之前是否有破解源代码的标准做法?
ros - 如何在奇异配方中使用更改目录 CD 和源命令
我正在尝试创建一个奇异容器来模拟 Emika Franka 机器人。为此,我需要使用 catkin从 GitHub 存储库构建moveit examples
和。panda_config
但是,由于我了解奇异性如何相对于我的主系统文件夹安装容器,因此我一直遇到一些麻烦。我使用下面的配方通过sudo singularity build --sandbox ros-kinetic-pandasim-xenial/ recipes/ros_kinetic_pandasim_xenial/ros_kinetic_pandasim_xenial.def
命令构建容器。
ros_kinetic_pandasim_xenial 配方
预期行为
我希望将配方 cd 放入 ~/pandasim_ws/ 文件夹,以便我可以执行 catkin 构建。
当前行为
目前,它给了我以下错误:
主要问题
有人可以就奇异性如何相对于我的系统目录安装其容器提供解释或一些文档吗?看起来它使用了用户工作区,因此 cd~/
指向在主机系统内启动容器的用户的主目录。以下/
看起来是根目录。有没有办法 cd 相对于奇异沙盒文件夹?例如$SINGULARITY_PATH
变量或构建参数。
singularity-container - 使用奇异性 2.5.2 拉取的 Docker 容器适用于 3.1.1 exec,但如果我使用 3.1.1 拉取则失败
如果我使用奇异 2.5.2 拉取一个 docker 映像,它在 3.1.1 exec 中运行良好:
如果然后我使用 3.1.1 拉取相同的图像并尝试运行它,我会遇到加载共享库的问题,这些是在容器中使用的(而不是像 #3027 中那样通过奇点本身):
在使用 3.1.1 拉取的容器上,我检查了指示为问题的文件:
当使用 2.5.2 拉取时,这与同一文件夹完全匹配。
我希望使用 3.1.1 提取并使用 3.1.1 执行的图像比使用 2.5.2 提取的图像更好。
docker - 从外部使用 docker/singularity 映像内部的 gcc 编译器进行编译
我想gcc
在 docker/singularity image 中使用来编译程序。使用本地 gcc,我使用gcc tc.c -I PATH_TO_LIB
没有任何错误。要gcc
在图像中使用,我使用以下命令行。
singularity exec gcc_5.1.0.sif gcc tc.c -I PATH_TO_LIB
但问题是 gcc 在库路径中找不到 .h 文件。它返回以下错误。