我无法在Redhat(CentOS)中使用Debian(Ubuntu)的C 程序
I am unable to run a C++ program in Debian(Ubuntu) that works in Redhat(Centos)
tldr:在ubuntu debian的Centos Redhat中编译C 程序遇到困难。我应该在这两个之间知道什么可以使用同一编译器编译的C 程序?
您好,我正在尝试编译并运行种系(http://www1.cs.columbia.edu/~gusev/germline/)。它在Redhat CentOS中正常工作,但是因为Centos对我所切换的大多数事情都不像Ubuntu那样受到支持。现在该程序不起作用。它完全有可能使用某种唯一的RedHat功能,但是我使用相同的编译器(G )在两个环境中对其进行编译。
我一直在拔头发,只是试图让这件事可以在Ubuntu上工作,因为它可以很好地使用,但是到目前为止旋转(永远不会结束)。无论我使用哪种二进制文件(在Centos中编译并复制,我刚才提到的失败的测试二进制文件等),该程序总是会冻结。
有点长,对不起。我的主要问题是:我可以尝试其他C 编译器替代方案吗?我可能缺少任何红帽C 库。或在其C 实现的主要差异,这会导致此?
我看了该软件。它的输入代码有点脆弱,在这种情况下,我不确定Ubuntu或Red Hat的C 库是否有障碍,但是可以轻松地修复该程序以在这两个方面工作。
在文件 PEDIndividualsExtractor.cpp
中,在函数 void PEDIndividuasExtractor::loadInput()
中,更改行:
while (!stream.eof() )
to:
while (stream)
和重新编译。
使用while(!stream.eof())
是一个常见的错误。如果语句stream.eof()
是正确的,则没有必要意味着带有流的最后一个操作成功。
这是一些BASH脚本,可以用GNU g++4.6
编译包装:
wget http://www1.cs.columbia.edu/~gusev/germline/germline-1-5-1.tar.gz
tar -xzvf germline-1-5-1.tar.gz
cd germline-1-5-1/
perl -p -i.bak -e's/!stream.eof()/stream/g' PEDIndividualsExtractor.cpp
perl -p -i.bak -e's/!stream_sample.eof()/stream_sample/g' HMIndividualsExtractor.cpp
make all
cat test/generated.out
您应该指定第一个错误的确是什么,您没有提供足够的信息来说明问题是什么,但是我猜却丢失了依赖性。
任何不错的软件包都带有依赖项列表,您是否检查过并检查了要求吗?
在没有要求和依赖项列表的情况下,在这种情况下的一个好的经验法则是检查第一个错误是什么并解决了。例如,如果第一个错误说"丢失foolib.h",则需要为该机器安装" hoodib"。
- 做
make all
作为自己的步骤,然后检查所有内容都可以。 - 运行
make tests
,然后检查以查看哪些测试失败。
这些是您的第一步,可能会让您大部分时间到达那里。
正如上面所述,您需要检查编译器版本之间的编译器版本与Ubuntu和Redhat之间的相同。每当gcc
中有主要版本升级时,我都有一些(次要)问题。
如果您只需要在Ubuntu上使用该程序,则可以使用--static
配置程序来编译静态可执行文件,然后将可执行文件复制到Ubuntu。
或者,您可以使用ldd
命令查找.so
文件,链接到并将这些.so
文件链接到动态可执行文件的同一目录,然后将它们放在Ubuntu上运行。您还可以将.so
文件放在另一个目录中,并使用LD_LIBRARY_PATH
来帮助可执行文件查找.so
文件。
- 在Ubuntu 16.04上安装Cilk时出现问题
- 如何在Ubuntu中使用cmake设置qt4
- 链接阶段在Ubuntu上失败,但在MacOS上失败
- 无法将 GLFW 库与 Ubuntu 18.04 上的头文件链接
- 无法在Ubuntu上将共享库与Eclipse链接
- 树莓上的 Libtorch 无法加载 pt 文件,但在 ubuntu 上工作
- 将项目从 Debian 8 Xenomai 2.x 迁移到 Debain 9 Xenomai 3.x
- 无法安装 R 包 "nloptr"(Ubuntu 16.04 上的 R3.6.2) - C++编译器问题
- 使用 ubuntu 终端在 c++ 上运行线程类的问题
- 如何在 Ubuntu 上安装 OpenCV for C/C++
- 估计 Ubuntu C++内存使用情况
- 如何在 Debian 10 上安装 CPP 手册页?
- 在 Ubuntu 中创建自动安装程序
- 分段 Linux Ubuntu 中的 g++ 错误,但在 Windows 中的 g++/MingW 中,在 C++ 中打
- OpenGL 在 VMWare Fusion 版本 10.1.3 上安装的虚拟机 (Ubuntu 16.04) 上崩溃
- 我无法在Redhat(CentOS)中使用Debian(Ubuntu)的C 程序
- Qt debian/ubuntu:无法编译,错误:找不到 -lGL
- 从Ubuntu到Debian运行一个可执行文件
- 使用qt-creator在debian ubuntu 11.10(oneric)中安装QxOrm
- Is there Boost 1.5.3 package for Debian/Ubuntu?