在Linux系统中,make命令是一个非常重要的工具,其主要作用是编译程序。在编译过程中,经常会出现make执行报错的问题,这不仅会浪费我们大量的时间和精力,还会影响我们的工作效率。本文将介绍一些常见的make执行报错问题以及解决方法。
1. “make: command not found”
这是最常见的错误之一,如果你的系统没有安装make,则通常会出现这个错误。在大多数Linux发行版中,在没有安装make的情况下,你需要使用以下命令进行安装:
sudo apt-get install make
sudo yum install make
sudo pacman -S make
如果你的系统已经安装了make,但是仍然出现了这个错误,你可以尝试查看你的$PATH环境变量是否设置正确。可以通过运行以下命令来查看:
如果$PATH环境变量中没有包含/usr/bin目录,那么你需要手动添加。
2. “make:[xxx] Error xx”
这是另一个常见的make执行错误。其出现的原因可能是编译过程中出现了错误,例如源代码存在问题、缺少依赖项或Makefile文件中存在错误等。
你需要检查Makefile文件中是否存在语法错误。如果有,必须修复。
你需要检查编译过程中是否存在依赖项缺失的情况。例如,如果你正在编译一个C程序,但是缺少了gcc编译器,则需要安装它。可以通过以下命令进行安装:
sudo apt-get install gcc
sudo yum install gcc
sudo pacman -S gcc
如果你使用的软件包管理器不同,则需要相应地更改命令。
另外,你还需要检查一下是否存在Makefile文件中的错误。比如,有些Makefile文件可能会使用制表符代替空格,这可能会导致错误。在这种情况下,你可以通过使用以下命令来将制表符转换为空格:
expand -t 4 Makefile > Makefile_new
mv Makefile_new Makefile
3. “make: Circular xxx
在make执行过程中,这个错误通常会出现在循环依赖的情况下。循环依赖指的是两个或多个目标之间存在依赖关系,但是这些依赖关系又彼此相互依赖。
为了解决这个问题,你需要找出Makefile文件中的循环依赖项并修复它们。一种解决方法是重新组织目标的排列顺序,以便避免循环依赖。
4. “make:No rule to make target ‘xxx’, needed by ‘xxx’. Stop.”
这个错误通常表示你缺少某个目标文件或依赖项。在这种情况下,你需要检查Makefile文件中的依赖关系,并确保所有必要的目标和依赖项都存在于系统中。
如果缺少某个目标文件,则必须手动创建它。如果缺少某个依赖项,则必须安装它。
5. “make:[xxx] Killed”
这个错误通常出现在你尝试编译大规模的项目,或者你的系统资源不足的情况下。在这种情况下,你需要增加你系统的虚拟内存,以增加可用的系统资源。
可以使用以下命令来检查当前系统的虚拟内存限制:
如果虚拟内存限制太低,你可以通过运行以下命令来增加它:
ulimit -v xxx
其中xxx是你想要增加的虚拟内存限制的值。
当你在Linux系统中遇到make执行报错的问题时,你需要仔细检查错误信息并找到问题所在。以上提到的解决方法可以帮助你快速修复make执行中的错误,并使你的编译工作更加高效和稳定。
相关问题拓展阅读:
linux下载make install出错,怎么办?

linux下载make install出错,解决办法:
# 执行下列命令:
$ tar jxvf scim-python-${version}.tar.bz2
$ cd scim-python-${version}
$ ./configure –prefix=/usr
$ sudo make install
# 重新登录桌面系统。
但是当我执行到make命令是提示:
make:没有指兆贺厅明目标并且找不到 makefile。 停止。
这是什么问题,怎么解决,希望详细点!
linux下载make install出错,解决程序方案:
起始
执行 make menuconfig 有错误发生。错误:*** Unable to find the ncurses libraries or the,*** required header files.,*** ‘make menuconfig’ requires the ncurselibraries.** Install ncurses (ncurses-devel) and try again.***make: 错误 1make: 错误2可以看出,是因为找不到 ncurses 导致的错误。那么尝试安装 ncurses,$sudo apt-get install ncurses。
信息:
正在读取软件包列表… 完成,正在分析软件包的依赖关系树,读取状态信息… 完成,现在没有可用的软件包 ncurses , 但是它被其他的软件包引用了。这可能意味着这个缺失的软件包可能已被废弃,或者只能在其他发布源中找到,E : 软件包 ncurses 还没有可供安装的候选者,根据 … nfig-archum。
再试:
$sudo apt-get install libncurses*
信息:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
读取状态信息… 完成
注意,根据正则表达式“libncurses*” 选中了 libncurses4
注意,根族隐据正则表达式“libncurses*” 选中了 libncurses5
注意,根据正则表达式“libncurses*” 选中了 libncurses-ruby1.8
注意,根据正则表达式“libncurses*” 选中了 libncurses-ryby1.9
注意,根据正则表达式“libncurses*” 选中了 libncurses-dev
注意,根拍亩据正则表达式“libncurses*” 选中了 libncursesw5-dbg
注意,根据正则表达式“libncurses*” 选中了 libncursesw5-dev
注意,根据正则表达式“libncurses*” 选中了 libncurses-ruby
注意,根据正则表达式“libncurses*” 选中了 libncurses5-dbg
注意,根据正则表达式“libncurses*” 选中了 libncurses5-dev
注意,根据正则表达式“libncurses*” 选中了 libncursesw5
已经不需要下列自动安装的软件包:
linux make执行报错的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux make执行报错,如何解决Linux中make执行报错问题,linux下载make install出错,怎么办?的信息别忘了在本站进行查找喔。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
make: *** /lib/modules/2.6.18-53.el5xen/build: 没有那个文件或目录。 停止。我在linux下make一驱动程序时出现了这种情况,build文件提示损坏
朋友你没有安装内核源码,找一下按转盘,rpm 安装一下,即可!
终端中Make命令提示未找到命令
需要额外安装一个xcode包才能使用make命令,如果没有安装的话,就不能使用这个命令。把源文件名字改成了2administrator@ylmfos:~/下载/1$ ./configurechecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for a thread-safe mkdir -p... /bin/mkdir -pchecking for gawk... gawkchecking whether make sets $(MAKE)... nochecking whether to enable maintainer-specific portions of Makefiles... nochecking build system type... i686-pc-linux-gnuchecking host system type... i686-pc-linux-gnuchecking if this is a FreeBSD 4 or earlier system... nochecking for g++... g++checking whether the C++ compiler works... noconfigure: error: in `/home/administrator/下载/1:configure: error: C++ compiler Cannot create executablesSee ` for more detailsadministrator@ylmfos:~/下载/1$ makebash: make: 未找到命令administrator@ylmfos:~/下载/1$
Linux redhat 9.03 如何安装wine
从网站或是在CD-ROM上找到的Linux软件包,大部分为rpm、tar、gz、tgz、bz、bz2等格式。 下面我们编介绍一下它们的安装方法。 一、RPM格式文件的安装RPM 是RedHat Package Manager(RedHat软件包管理工具)的缩写。 现在主流的Linux发行版本都采用了这一公认的开放式行业标准了(包括Red Hat Linux、Open Linux、S.u.S.E Linux、Turbo Linux等发行版本)。 RPM文件在Linux系统中的安装是很简单的。 下面我们举例说明一下:假设我们有一个RPM文件“”,这是一个服务器端的邮件收发系统。 在Terminal中,其安装指令为:提问rpm -i 的常用参数包括:-e 卸载相关的应用程序-vh 显示安装进度-U 升级软件包-qpl 列出RPM软件包的信息-qf 查找指定文件属于哪个软件包-Va 校验所有的RPM软件包其它参数可察看RPM的帮助文档。 在X Windows中安装RPM文件更为简单。 在文件管理器中找到一个RPM文件,用鼠标右击它,在弹出的菜单中就会有专为RPM文件准备的三个指令:show Info(显示描述信息)、Upgrade(升级)、Install(安装)。 选择相应的指令即可。 有时在安装RPM软件包时会出现一些错误。 其中最为常见的便是试图安装一个已经安装好的软件、所要安装的软件包需要其它软件或系统库文件的支持等,情形与Windows差不多。 对于后者的错误,应该首先安装这些软件或系统库文件。 二、tar、、tar.Z、tgz、bz2软件包的安装方法这几类软件包实质上是将一些文件打包之后,再进行压缩处理(tar文件未压缩)而成的。 所以在安装和使用之前要进行解包处理。 各种文件的解包指令如下:1、解 tar xf 2、解 tar zxf 3、解.Z tar zxf .Z4、解 tar zxf 5、解2 bumzip2 2通过解包后会得到一些文件,通常会存放在一个目录下。 进入此文件目录用“ls -F -color”指令看一下所得到的文件。 一般视软件的作者不同会有两种情况:1、文件为已经编译好的程序,用上面的察看文件命令会以带“*”标记的亮绿色显示。 2、更多的则是需要由你自己编译的源代码。 对于已经编译好的程序来说直接运行便可以了。 而得到的是源代码的话,就需要我们自己编译来得到可运行的程序。 编译源代码也是很简单的。 首先阅读一下目录中的Redme、Install等相关文档,然后执行一下指令:./configuremakemake install(只有root身份才能执行此命令)编译完成之后便会在当前目录或src子目录下得到软件的可执行程序。 //////////整个安装过程可以分为以下几步:///////////////////1) 取得应用软件:通过下载、购买光盘的方法获得;2)解压缩文件:一般tar 包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。 如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。 如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;3) 阅读附带的INSTALL文件、README文件;4) 执行“./configure”命为编译做好准备;5) 执行“make”命令进行软件编译;6) 执行“make install”完成安装;7) 执行“make clean”删除安装时产生的临时文件。 1.首先,使用tar -xzvf来解开这包,如:#tar -xzvf apache_1_3_6_这样就会在当前目录中创建了一个新目录(目录名与包的文件名类似),用来存放解压了的 内容。 如本例中就是apache_1.3.62.进入这个目录,再用ls命令查看一下所包含的文件,如:#cd apache_1.3.6#ls你观察一下这个目录中包含了以下哪一个文件:configure、Makefile还是Imake。 1)如果是configure文件,就执行:#./configure#make#make install2)如果是Makefile文件,就执行:#make#make install3)如果是Imake文件,就执行:#xmkmf#make#make install3.如果没有出现什么错误提示的话,就搞定了。 至于软件安装到什么地方,通常会在安装时出现。 否则就只能查阅一下README.如果遇到错误提示,也别急,通常是十分简单的问题:1)没有安装C或C++编译器;确诊方法:执行命令gcc(C++则为g++),提示找不到这个命令。 解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:#rpm -ivh gcc* (哈哈,我们用到了第二种安装方式)2)没有安装make工具;确诊方法:执行命令make,提示找不到这个命令。 解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:#rpm -ivh make*3)没有安装autoconf工具;确诊方法:执行命令make,提示找不到这个命令。 解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:#rpm -ivh autoconf*4)缺少某些链接库;确诊方法:在make时,提示需要某些文件。 解决方法:安装包含这个文件的包,这就需要积累了。 第二部分:搞定是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。 1.安装软件:执行rpm -ivh rpm包名,如:#rpm -ivh 2.升级软件:执行rpm -Uvh rpm包名。 3.反安装:执行rpm -e rpm包名。 4.查询软件包的详细信息:执行rpm -qpi rpm包名5.查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名6.查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名2. 卸载:我同样只需简单的一句话,就可以说完。 执行:rpm –e 软件名不过要注意的是,后面使用的是软件名,而不是软件包名。 例如,要安装这个包时,应执行:rpm –ivh 而当卸载时,则应执行:rpm –e software。 另外,在Linux中还提供了象GnoRPM、kpackage等图形化的RPM工具,使得整个过程会更加简单。 这 些软件的具体应用,笔者会另行文介绍。 五、搞定使用deb打包的应用程序这是Debian Linux提供的一个包管理器,它与RPM十分类似。 但由于RPM出现得更早,所以在各种版本的Linux都常见到。 而debian的包管理器dpkg则 只出现在Debina Linux中,其它Linux版本一般都没有。 我们在此就简单地说明一下:1. 安装dpkg –i deb软件包名如:dpkg –i 2. 卸载dpkg –e 软件名如:dpkg –e software到此,就一切大功告成了
发表评论