Linux下configure错误详解
configure:error:Ccompilercannotcreateexecutab。。。

在测试环境安装php的imagick扩展在执行./configure生成编译文件时出现报错如下:
通过查看config.log发现有报错,在网上经验教程里发现前面的报错不管,直奔最后的报错即可,发现是缺少libbfd-2.27-28.base.el7_5.1.so 文件,到/usr/lib64下查看确实无此文件,但是有libbfd-2.27-34.base.el7.so文件,于是创建软链接ln -s libbfd-2.27-34.base.el7.so libbfd2.27-28.base.el7_5.1.so,再执行如果还有此类报错再按此方法解决即可。
Linux下串口编程遇到的接收数据错误及原因

Linux下串口编程遇到的接收数据错误及原因Linux下串口編程遇到的接收數据錯誤及原因近日在调试串口的时候发现,另一设备向我ARM板的串口发送0x0d,我接收之后变成了0x0a,这是问题一;另外当对方向我发送一串数据,如果其中有0x11,那么我总是漏收此数,这是问题二。
由于问题莫名其妙,以为是笔记本的USB转232线缆的问题,换,问题依旧。
以为是对方设备的问题,采用串口调试助手模拟通讯设备与ARM板通讯,问题依旧。
无奈才去查看资料,最终得以解决,现总结如下:1.串口操作需要的头文件#include <stdio.h> //标准输入输出定义#include <stdlib.h> //标准函数库定义#include <unistd.h> //Unix标准函数定义#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h> //文件控制定义#include <termios.h> //POSIX中断控制定义#include <errno.h> //错误号定义2.打开串口串口位于/dev中,可作为标准文件的形式打开,其中:串口1 /dev/ttyS0串口2 /dev/ttyS1代码如下:int fd;fd = open(“/dev/ttyS0”, O_RDWR);if(fd == -1){Perror(“串口1打开失败!”);}//else//fcntl(fd, F_SETFL, FNDELAY);除了使用O_RDWR标志之外,通常还会使用O_NOCTTY和O_NDELAY这两个标志。
O_NOCTTY:告诉Unix这个程序不想成为“控制终端”控制的程序,不说明这个标志的话,任何输入都会影响你的程序。
config和YUM的指令使用

1、 configure,这一步一般用来生成Makefile,为下一步的编译做准备,你可以通过在configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在/usr 下面,执行文件就会安装在/usr/bin (而不是默认的/usr/local/bin),资源文件就会安装在/usr/share(而不是默认的/usr/local/share)。
同时一些软件的配置文件你可以通过指定–sys-config= 参数进行设定。
有一些软件还可以加上–with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。
2、make,这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。
如果在make 过程中出现error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。
3、make insatll,这条命令来进行安装(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。
-----Linux的用户可能知道,在Linux下安装一个应用程序时,一般先运行脚本configure,然后用make来编译源程序,在运行make install,最后运行make clean删除一些临时文件。
使用上述三个自动工具,就可以生成configure脚本。
运行configure脚本,就可以生成Makefile文件,然后就可以运行make、make install和make clean。
Linux命令详解(三).configure、make、makeinstall命令

Linux命令详解(三).configure、make、makeinstall命令这些都是典型的使⽤GNU的AUTOCONF和AUTOMAKE产⽣的程序的安装步骤⼀、基本信息 1、./configure 是⽤来检测你的安装平台的⽬标特征的。
⽐如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
2、make 是⽤来编译的,它从Makefile中读取指令,然后编译。
3、make install是⽤来安装的,它也从Makefile中读取指令,安装到指定的位置。
注意:AUTOMAKE和AUTOCONF是⾮常有⽤的⽤来发布C程序的东西。
⼆、详细解释 1、configure命令 这⼀步⼀般⽤来⽣成 Makefile,为下⼀步的编译做准备,你可以通过在 configure 后加上参数来对安装进⾏控制,⽐如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下⾯,执⾏⽂件就会安装在 /usr/bin (⽽不是默认的 /usr/local/bin),资源⽂件就会安装在/usr/share(⽽不是默认的/usr/local/share)。
同时⼀些软件的配置⽂件你可以通过指定 –sys-config= 参数进⾏设定。
有⼀些软件还可以加上–with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。
2、make 这⼀步就是编译,⼤多数的源代码包都经过这⼀步进⾏编译(当然有些perl或python编写的软件需要调⽤perl或python来进⾏编译)。
如果在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后⼀⾏),然后你可以向开发者提交 bugreport(⼀般在 INSTALL ⾥有提交地址),或者你的系统少了⼀些依赖库等,这些需要⾃⼰仔细研究错误代码。
linux expect syntax error

linux expect syntax error【解决Linux expect语法错误问题】简介:Linux expect是一个自动化交互脚本工具,通过模拟用户输入和对输出的响应,实现自动化任务的执行。
在使用Linux expect时,可能会遇到语法错误的问题。
本文将以解决Linux expect语法错误问题为主题,从原因分析到解决方案,一步一步回答,并提供相关案例和建议。
正文:第一步: 理解Linux expect语法错误的原因在使用Linux expect过程中,语法错误可能由多种原因引起。
常见的原因包括:1. 语法错误: 在编写expect脚本时,可能会因为拼写错误、缺少符号或使用错误的语法结构等而导致语法错误。
2. 脚本执行错误: expect脚本在执行过程中,可能会遭遇未预料到的输入或输出,从而导致语法错误。
3. 环境配置问题: Linux expect脚本依赖于正确的环境配置,如安装expect工具、设置正确的环境变量等。
如果这些配置存在问题,也可能导致语法错误。
第二步: 分析并定位语法错误一旦遇到语法错误,我们需要通过分析和定位错误来解决问题。
下面是一些常见的方法:1. 仔细检查脚本: 检查脚本中可能存在的拼写错误、符号错误以及语法结构错误等。
特别注意与引号配对使用的情况。
2. 运行脚本进行调试: 可以尝试直接运行脚本并观察错误提示信息。
根据提示信息,定位错误的具体位置。
3. 查看脚本日志: 在脚本中添加日志记录功能,以便在执行过程中输出相关信息。
通过查看日志,可以追踪错误发生的原因。
第三步: 解决语法错误一旦定位并分析了语法错误,我们可以针对具体情况采取相应的解决措施。
下面是一些常见的解决方案:1. 修正语法错误: 找到并修复脚本中存在的语法错误。
可以参考相关文档或教程提供的正确语法进行修改。
2. 调整脚本逻辑: 如果脚本在执行过程中遭遇未预料到的输入或输出,可以通过调整脚本逻辑来解决语法错误。
Linux系统编译安装常见错误处理方法

5.Configure: error: libjpeg.(a|so) not found
# yum install libjpeg libjpeg-devel
6.Configure: error: libpng.(also) not found.
# yum install libpng libpng-devel
13.Configure: error: Cannot find ldap.h
# yum install openldap-devel
本篇文章来源于 Linux公社网站() 原文链接:/Linux/2011-04/34622.htm
再php:~/:./configure …… --with-gd=/usr/local/gd2 ……
1) Configure: error: xml2-config not found. Please check your libxml2 installation.
Solutions :
Solutions :
Quote: # yum install unixODBC-devel
12) Configure: error: Cannot find pspell
Solutions :
Quote: # yum install pspell-devel
13) configure: error: mcrypt.h not found. Please reinstall libmcrypt.
7) Configure: error: freetype.h not found.
Solutions :
Quote: #yum install freetype-devel
bluez编译移植

Dbus移植步骤1.进入dbus的目录运行./configure --host=arm-linux--prefix=/bluetooth/dbus2.出现错误can not run test program while cross compiling[mystic@moolenaar]$ . checking for getpeereid... nochecking abstract socket namespace... configure: error: cannot run test program while cross compilingSee `config.log' for more details.执行./configure时要在宿主系统中运行一些测试程序,因为是交叉编译所以这个测试是一定通不过的。
不过没问题,我们可以在configure 时指定cache-file文件来屏障掉测试程序,在下面编译glib包时会遇到同样的问题。
处理方法:在源码包根目录下执行[mystic@moolenaar]$ echo ac_cv_have_abstract_sockets=yes >arm-linux.cache或者自己新建一个文件,vim arm-linux.cache在里面输入:ac_cv_have_abstract_sockets=yes[mystic@moolenaar]$ ./configure --host=arm-linux--prefix=/bluetooth/dbus --cache-file=arm-linux.cache参数解释:--prefix指定编译好的文件存放的路径,默认会放到/usr/bin下--host 指定编译器的类型,这里指定为arm-linux交叉编译,默认是本机的gcc编译--cache 指定测试的信息写的地方,这里是写到了arm-linux.cache里面一会会提示缺少xml库,下载libxlm2,解压后:./configure –-prefix=/bluetooth/libxml –-host=arm-linuxmake ->make install编译完成后一定要检查libxml/lib下的库文件的格式是否是ARM的,否则不能用。
dpkg --configure -a

dpkg --configure -a
linux系统安装软件是有时会碰到“dpkg 被中断,您必须手工运行sudo dpkg –configure -a解决此问题”,然而按照提示运行却并没能很好的解决问题。
其实导致这个问题的主要原因是因为
/var/lib/dpkg/updates文件下的文件有问题,可能是其他软件安装过程或是其他原因导致的,这里删除掉然后重建即可。
sudo rm /var/lib/dpkg/updates/*
sudo apt-get update
sudo apt-get upgrade
解释:[*]sudo apt-get update指令会重新建立这些资料,所以不必担心删除后会出问题;
[*]sudo apt-get upgrade会更新你的电脑里面已安装的软件的明细,根据软件的明细更新软件到最新版。
PS:“dpkg ”是“Debian Packager ”的简写。
为“Debian”专门开发的套件管理系统,方便软件的安装、更新及移除。
所有源自“Debian”的“Linux ”发行版都使用“dpkg”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux下./configure错误详解说明:sudo apt-get install package-name 更新你指定的软件包sudo apt-get update 获取更新列表sudo apt-get dist-upgrade 开始更新./configure的问题错误:C compiler cannot create executables原因:解决:sudo apt-get gcc libc6-dev错误:checking for C compiler default output... configure: error: C compiler cannot create executables 原因:解决:sudo apt-get install libc6-dev错误:configure: error: C++ preprocessor "/lib/cpp" fails sanity check原因:gcc的组件没装全解决:apt-get install build-essential错误:Can't find X includes. Please check your installation and add the correct paths!原因:没有X的包含文件解决:安装xlibs-dev即可错误:Qt (>= Qt 3.0) (headers and libraries) not found. Please check your installation!原因:查找提供qt的lib&&headers的软件包,并安装之解决:apt-get install libqt3-headers libqt3-mt-dev错误:in the prefix, you've chosen, are no KDE headers installed. This will fail.So, check this please and use another prefix!原因:install a KDE application in a Gnome environment。
解决:which basically means its going to want to install a lot of KDE specific packages to work. This 'configure:error'is due to it expecting you to be running KDE and again refers to some 'headers'.sudo apt-get updatesudo apt-get install kdelibs4-dev kdelibs4c2a错误:./admin/cvs.sh: 585: autoconf: not found原因:解决:apt-get install autoconf错误:*** GTK >= 2.4.0 not installed! ***原因:没装GTK解决:apt-get build-dep gedit错误:heching for gtk-config... nochecking for GTK - version = 1.2.0... no*** The gtk-config script installed by GTK could not be found*** If GTK was installed in PREFIX, make sure PREFIX/bin is in*** your path, or set the GTK_CONFIG enviroment variable to the*** full path to gtk-config.configure: error: Cannot find GTK: Is gtk-config in path?原因:解决:sudo apt-get install libgtk1.2-dev问题:eclipse中encoding不支持中文解决:编辑/var/lib/locales/supported.d/local,加一行zh_CN.GBK GBK,执行sudo locale-gen 错误:gnome.h: No such file or directory错误:No package 'libpanelapplet-2.0' found原因:解决:sudo apt-get install gnome-panel问题:eva不弹出输入法解决:sudo apt-get install scim-qtimm问题:No package 'gtk+-2.0' foundNo package 'gtksourceview-1.0' foundNo package 'libgnomeui-2.0' foundNo package 'libglade-2.0' foundNo package 'libgnomeprintui-2.2' found解决:sudo apt-get install libgtk2.0-dev libgtksourceview-dev libgnomeui-dev libglade2-dev libgnomeprint2.2-dev问题:No package 'libpanelapplet-2.0' found解决:sudo apt-get install libpanelappletmm-2.6-dev编译安装Pidgin 的步骤1. 下载Pidgin 的源代码包pidgin-2.1.1.tar.bz2 (官方最新的版本)。
wget /sourceforge/pidgin/pidgin-2.1.1.tar.bz22. 安装编译Pidgin 所需的依赖:sudo apt-get install libgtk2.0-dev libxml2-dev gettext libnss-dev libnspr-dev3. 解压源代码包tar jxvf pidgin-2.1.1.tar.bz2cd pidgin-2.1.14. 编译./configure (建议使用–help 查询需要用到的参数)makesudo make install如果在./configure 这一步出现错误错误一:configure: error:You must have the GTK+ 2.0 development headers installed to compile Pidgin.If you only want to build Finch then specify –disable-gtkui when running configure.解决:sudo apt-get install libgtk2.0-dev错误二:configure: error:You must have libxml2 >= 2.6.0 development headers installed to build.解决:sudo apt-get install libxml2-dev错误三:configure: error:The msgfmt command is required to build libpurple. If it is installed on your system, ensure that it is in your path. If it is not, install GNU gettext to continue.解决:sudo apt-get install gettext如果在使用GTalk 或MSN 时出现错误错误:SSL Library/Libraries……… : None (MSN and Google Talk will not workwithout SSL!)解决:sudo apt-get install libnss-dev libnspr-devUbuntu编译时找不到Makefile的解决办法ZDNet 软件频道更新时间:2007-09-26作者:korn 来源:赛迪网本文关键词:Ubuntu Proftp如果是需要编译的环境,推荐安装"build essential"包,#sudo apt-get install "build-essential"在用./configure ,make , makeinstall ,方法安装软件是,经常会发生发生各种错误,而导致无法生成makefile 文件。
现在我把我安装过程中遇到的问题以及解决办法写下来,希望对大家有点帮助。
以我安装pidgin-2.0.0为例#./configure 出现错误:configure: error: C compiler cannot create executables按照错误提示安装缺少的包#sudo apt-get install libc6-dev再次#./configure出现错误checking for GLIB... nonoconfigure: error:You must have the GLib 2.0 development headers installed to build.根据错误提示,用新得立搜索GLib 2.0 或者用命令#sudo apt-cache search GLib 2.0发现有个包libglib2.0-dev - Development files for the GLib library 。
选择安装;#sudo apt-get install libglib2.0-dev这里原文为libglib2.0-0-dev,似乎有误。
#./configure #又出现错误checking for X... nochecking for GTK... nonoconfigure: error:You must have the GTK+ 2.0 development headers installed to compile Pidgin. If you only want to build Finch then specify --disable-gtkui when running configure.用如上同样的方法查找到缺少的包并安装sudo apt-get install libgtkmm2.0-dev./configure 出现错误checking for LIBXML... nonoconfigure: error:You must have libxml2 >= 2.6.0 development headers installed to build.于是安装sudo apt-get install libxml2-dev经过上面包的安装,在次./configure 没有再出现错误,这次成功的生成了makefile 文件。