Linux下解决./configure ,make,make install的报错(2)

这样的话,你可以用gcc32这个老的版本命令来编译。如果不行的话,请用您的包管理器来安装旧版本的gcc(通常是称之为compat-gcc或 者gcc-<versionbumber>)安装之后,您会通过上边的命令上面边命令检测到已经安装的gcc。让./configure make make install 使用gcc版本的方法如下:

CC=”/usr/bin/gcc32″ ./configure

CC=”/usr/bin/gcc32″ make

CC=”/usr/bin/gcc32″ make install

注意:大多数情况下,您可以不带/usr/bin ,只输入gcc即可。然而,一些不标准的Makefikes可能采取不同的方法。因此,写全路径是最安全的方法。当然,具体/usr/bin/gcc32要用您具体的路径代替

有时候make报的错只是由于一个bug引起的。尝试获得最新版的软件(使用CVS或者SVN或者源,或者下载每日快照)并且常识编译查看时候他们已经修复了bug。

make报的错还可能由特定库/程序的错误版本造成的。特别是特别新或者旧的软件会遇到这个问题。查看以下软件的依赖(他们通常在软件的网站上显示 出来)拿那些包的版本与你系统里的包的版本对比(他们通常可以用系统的包管理器查看)如果电脑中的包版本比网站要求的版本的高,你可能在编译一个老版本的 软件。如果你确实需要编译他,尝试降低依赖。然而,寻找其他方法来安装软件或者找一个替代品是最好的方法。如果您系统的特定软件版本比要求的版本低,您可 以或者编译一个bleeding-edge包,或者您的发行版太旧了,或者都有包括。。。你应该常识更新需要的库/软件,或者编译一个老版本的程序。还 有,查看是否有针对您发行版的包存在着。安装这样的包比常识安装这些错误会很麻烦的。

还有就是在网络中搜索您特定的错误,如果您找不到任何有用的东西,可以省略行号(他们根据版本号不一样),版本号码(你可以用“*”来代替他们,如 果他们包含在文件内部)非字母的字符比如说引号,他们影响搜索引擎的搜索。你可以在很多mailing列表上找到很多信息。一些情况下,还会有源代码的补 丁。可以这样来打补丁

patch -Npl -i <patchfile>

注意当你打补丁时你应该在源代码路径中

三:  Make install 错误

这些错误理解起来很容易,但是我还是列一下吧~通常有两大失败原因

1.

你没有root权限。尝试用sudo make install命令或者使用su命令成为root用户。

sudo make install

提示输入密码时,输入您自己的密码或者系统管理员的密码

su

这样就可以成为root用户,提示输入密码时,要输入系统管理员的密码。这样成为root之后,只需要运行make install命令即可。然后Ctrl+D或者exit,logout命令来退出。对于sudo来讲的话,它只用root权限来运行一次命令,并不会以 root身份登录的。

2.

您编译的包没有安装目标。这样,您就需要将编译好的二进制文件放到bin文件夹中。在源代码路径下运行ls命令,可执行文件应该会以亮绿色显示的。您需要将这些文件拷贝到/usr/bin或者/usr/local/bin 中,至于哪个就是看您爱好了。命令大致如下

cp <executeablefile> /usr/bin

然后,如果使用多次,可能会是您的/usr目录看起来一团糟。您可以将可执行文件所在的路径添加到您的PATH路径中。进入到可执行文件的路径,执行pwd命令查看全路径名

然后将pwd命令的输出放到这个命令中

export PATH=”$PATH:<pwdoutput>”

现在,运行可执行文件,它就开始工作了。将上述命令添加到您的/etc/profile文件中,这样可永久保存。

我同意这样做不太好,不够简洁和方便。但是有时候开发者没有时间开创建一个安装目标。我们不应该对此感到气氛。。。想想他们为了让我们使用有用和有趣的程序而做出的努力吧

其他问题:

这是一些其他常见的问题,并附上解决办法:

1.一切正常,但是当我要运行我刚才安装的软件时,bash提示找不到。这通常是由于make install将每个东西都安装在了/usr/local或者/opt/<packagename>.检查一下make install 将文件复制到了哪里。可以将可执行文件的路径添加到PATH路径中(下面的例子假设您装包安装在了/usr/local)

export PATH=”$PATH:/usr/local/bin”

当然,您可以用相应的路径来代替/usr/local/bin文件夹。如果希望不用再输入的的话,将输入命令添加到您的/etc/profile中,这样您就不需要重复输入了另外,你可以在configure的时候,控制包安装在哪个目录。。。比如说:

./configure –prefix=/usr

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/24478.html