问题标签 [software-collections]

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.

0 投票
1 回答
155 浏览

software-collections - 如何在 Oracle Linux 6 上安装 SCL?

我想使用 SCL,但找不到安装发布文件的方法。是否可以在 Oracle Linux 6 上安装 SCL,如果可以,如何安装?

0 投票
1 回答
215 浏览

c++ - How can I replace a given -Ldir1 by -Ldir2, in a linking command line generated by cmake

I have a CMakeLists.txt. I use it for generating a makefile with ccmake. Then upon make, my sources are compiled ok. At link time, the command line produced is essentially

The two spots specifying the search path

should actually point to

How can I fix this?


I have devtoolset-3 in my system, but I do not know where this search path is set, or how to change it. I actually expected that to take place automatically after executing

(in my .bashrc), the same way the correct version /opt/rh/devtoolset-6/root/usr/bin/c++ is detected without me doing anything else.

Of course, I get many linking time errors due to version mismatches.

The only place where I see the search path set is in line

in CMakeLists.txt, and LIBDIR_MY points to dir3, which is correctly added in the linking command line. But I found no place where .../devtoolset-3/... is added.

Possible origins of -L:

  1. link_directories in CMakeLists.txt: checked.
  2. target_link_libraries: Where? What is the expected file name pattern to look for?
  3. link_libraries: Where? What is the expected file name pattern to look for?
  4. CMAKE_LIBRARY_PATH: Checked. It is not set.
  5. A find_package command: See below
  6. Somewhere else?

This How do I add a library path in cmake? does not add to my question.


Update 1:

There was in fact a find_package(mylib) (actually, with a different name) in CMakeLists.txt. Going to the dir of mylib and issuing find . -name “*” -type f -exec grep /opt/rh/devtoolset-3 {} \; there were two files that matched:

  1. build/CMakeCache.txt: two occurrences of devtoolset-3

    It appears to me that this stems from file CMake/cmake-modules/FindPETSc.cmake (possibly invoked by line find_package (PETSc REQUIRED) in CMakeLists.txt), which has a line

    and many prior lines

    /li>

Notes: I do not know where in that file devtoolset-3 is first detected and set.

  1. build/include/summit/mylibConfig.cmake. I still could not track down what made devtoolset-3 appear here.
0 投票
1 回答
4366 浏览

c++ - (如何)我可以在 Centos/RHEL 上使用新的 C++ 11 ABI 和 devtoolset-7 吗?

我的目标是在 Centos 7 上使用 gcc 7.2(和 clang 6)来构建与 Centos 7 目标兼容的可执行文件,而无需安装 devtoolset,但 * 使用较新的 C++ ABI *。

较新的 ABI 修复了库中的几个缺陷,如果不更改 ABI,这些缺陷将无法修复。例如 list::size O(1) Vs O(n),字符串没有 COW。

我在下面的问题中推测了为什么这可能不可能的答案。 -D_GLIBCXX_USE_CXX11_ABI=1 对 CentOS 7 上的 devtoolset-7 无效

0 投票
1 回答
259 浏览

php - PHP 的 SCL 存储库是否保持最新?

我注意到 PHP 的 SCL 版本仍然是 7.1.8,而最新的 PHP 7.1 版本是 7.1.15。

这是该系列的网站:https ://www.softwarecollections.org/en/scls/rhscl/rh-php71/

这里是软件包: http: //mirror.centos.org/centos/7/sclo/x86_64/rh/rh-php71/

SCL 存储库是否保持最新,或者 7.1.8 是将发布 PHP 7.1 SCL 的最新版本?

0 投票
1 回答
3620 浏览

g++ - devtoolset-6 正在使用系统 libstdc++ 并且无法链接

我有一个用 gcc6 编译的第三方库,我需要链接它。所以我卸载了标准的 GCC 包并安装了 Software Collections devtoolset-6 包(Centos 7.4)

但是,我收到很多类似于此的链接错误:

这似乎是因为 devtoolset 没有附带使用新编译器编译的 libstd++ 版本,因此链接器在 /usr/lib64 中找到标准版本,该版本使用 gcc4 编译,因此与编译的 libcomsd 不兼容与 gcc6。

有没有办法让所有这些工作?一些用 gcc6 编译的 libstd++ 包?

0 投票
1 回答
3657 浏览

ansible - scl enable rh-mariadb102 bash 不适用于 Ansible 剧本

我是 stackoverflow 的新手……这似乎是一个与非常有趣的社区分享知识和寻找解决方案的好地方。

我对 Ansble 和“scl”“mysql_install_dir”命令有疑问。

当我手动执行“scl enable rh-mariadb102 bash && mysql_install_dir ...”时,当我在服务器的控制台中正确执行时,它可以完美地工作。

但是当我尝试在 Ansible 上构建任务时:

它返回错误:

"使用\"scl enable rh-mariadb102 'service ...'\"调用"

这似乎 Ansible 不能很好地执行 scl enable 命令......或类似的东西。

以前有人遇到过这个问题吗?

感谢您的帮助,抱歉英语不好。

0 投票
1 回答
3171 浏览

python - 如何通过 systemd 使用用户的 pipenv?Python 是通过 SCL 安装的

在 CentOS 7 服务器上,我通过 SCL 安装了 Python 3.6。(https://www.softwarecollections.org/en/scls/rhscl/rh-python36/

我在 .bashrc 中有这一行来启用 SCL 的 Python 3.6

我已经安装了 pipenv:

我通过命令行运行 Python 程序:

所有这些都很好。我有一个使用用户 pipenv 的 Flask 应用程序。我正在尝试创建一个 systemd 单元文件来启动/停止/重新加载 Flask Web 应用程序。如何让 sytemd 单元文件使用通过 SCL 的 Python 和 pip 安装的用户 pipenv?

我尝试从 root 执行命令行,但出现此错误:

但是,我可以通过加载用户的 bash shell 通过 su -c 执行命令:

但这条线似乎很尴尬。我可以在 systemd 单元文件的 ExecStart 行中使用的正确行是什么?为了使用用户的 pipenv,应该包含哪些环境变量?

0 投票
1 回答
1091 浏览

python - 如何让 celery 与 SCL python 和 systemd 一起工作?

我有一个使用 celery 执行后台任务的 Python 应用程序。我使用 SCL 提供的 Python 解释器。

我能够为应用程序创建一个 systemd 单元文件:如何通过 systemd 使用用户的 pipenv?Python 是通过 SCL 安装的

但我不明白如何为 celery 放置一个类似的 sytstemd 单元文件。

我试过了:

当我启动 systemd 单元时,在日志中我看到 celery 应用程序启动了。几秒钟后,服务失败。

这是一个日记条目:

我也尝试过 Type=oneshot 和 Type=simple 。他们都没有工作。我怀疑这与 SCL 有关。

有没有办法让 celery 应用程序与 SCL 和 systemd 一起使用?

0 投票
0 回答
266 浏览

centos - Centos 6:软件集合未正确安装

在 centos 6(使用 Docker 的centos:6)上,我已经安装centos-release-sclscl-utils-build通过yum,但尝试运行scl给出

bash:scl:找不到命令

find / -name scl什么都不返回,所以我认为这不是路径问题。

任何帮助将非常感激

0 投票
3 回答
3336 浏览

centos - 为 CentOS 安装过时的 Devtoolset 集合

目前 Devtoolset-5(和更早的版本)无法使用yum(只有 Devtoolset-6 和 7 可用)从 Software Collection Repository (centos-release-scl) 安装。不过,这个集合可以作为 rpm 包的列表下载。是否可以为 启用此类 EOL 集合yum,或者是否有另一种方法可以正确安装它们?