我必须安装一个需要的软件包(space-correlation-sampler)gcc: >=5.3
。在我的系统(Linux,远程服务器)上,gcc版本为4.8.5
,而Conda虚拟环境使用相同的版本。是否可以在虚拟环境中使用其他版本?
是否可以在Conda环境中使用其他gcc版本?
可能是的,除非您(或您的Conda环境)需要或使用某些GCC插件。这些插件特定于特定版本的GCC:针对GCC 4.8编码的插件(例如我的旧版GCC MELT)无法在GCC 6上使用。但另请参阅有关Bismon的这份报告草稿(可能会成为GCC MELT的后续版本) )。
在Linux / x86-64上,用GCC 4.8编译的C代码将与用GCC 10编译的相同代码兼容,因为两者都遵循相同的ABI和调用约定。
对于使用GCC编译的C ++代码,可能存在细微的ABI或调用约定不兼容(与名称处理和异常有关)。
另请注意,Python 2和Python 3具有不同的 外部函数接口。阅读与扩展和嵌入Python解释器有关的章节。
另请参阅程序库HowTo,高级Linux编程和C ++ dlopen mini-HowTo和Linux Assembly HowTo,当然也请参阅Linux From Scratch。
在我的系统(Linux,远程服务器)上,gcc版本为4.8.5
您可以从其源代码编译并安装更新的GCC,并将其安装到系统上。已安装的GCC 4.8可用于从其源代码构建GCC 8(然后将其安装到中/usr/local/bin/gcc
,然后只需明智地配置$PATH
变量即可)。您甚至可以使用不受支持的GCC 5来执行此操作。
在最近的 Debian或Ubuntu上,您将安装类似的依赖项,sudo aptitude build-dep g++
并且您可能还想使用Docker。您可能需要下载几个千兆字节。
一些公司或自由职业者能够(收费)编译为您的系统量身定制的GCC。我知道AdaCore,但是还有许多其他公司或自由职业者在GCC上出售支持。通过电子邮件与我联系以获取更多信息。
PS。在功能强大的AMD Threadripper 2970WX台式机上,我刚刚在10:21.38的时间里使用Debian / Sidmake -j8
并g++ 9.3
在其上构建了GCC 10.1 ,所需的磁盘空间少于7 GB(用于GCC源代码和目标文件)。当然,我禁用了编译器bootstrap。您可以ssh
对系统执行相同的操作(可能要花费一两个小时,因为Linux VPS的内核较少,因此您可能只需要make -j2
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句