linux下源码的码安命令安装由哪几个步骤组成?
linux下源码的安装由3个步骤组成:配置(configure)、编译(make)、码安命令安装(make install)。码安命令其中配置语句“./configure --prefix=/usr/local/test”提示“没有那个文件或目录”,码安命令盘锦源码开发是码安命令因为配置指定路径“/usr/local/test”时,没有这样的码安命令文件或目录存在。
只需在“./configure --prefix=”语句中放入一个存在的码安命令目录路径,重新编译安装即可解决。码安命令
以安装hdf5软件为例,码安命令具体操作步骤如下:
1、码安命令首先从官网下载hdf5,码安命令根据自己的码安命令要求下载对应的版本:hdf5-1.8.3.tar.gz。
2、码安命令然后上传到服务器某个目录下,比如/opt目录。
3、接着解压安装包,输入命令:tar -xvf hdf5-1.8.3.tar.gz。
4、解压后会生成一个目录:hdf5-1.8.3。
5、再输入:cd hdf5-1.8.3/,切换目录到hdf5-1.8.3。
6、最后依次输入以下命令:./configure --prefix=/usr/local/hdf5;make;make check ;make install,等待安装信息输出结束后,即可在Linux中安装成功。
å¦ä½å¨linuxå¹³å°ä¸ç¼è¯å®è£ zlib软件
1ãé¦å æ¯ç¼è¯ç¯å¢ï¼éè¦æåºæ¬çgcc,autotoolå·¥å ·ï¼ä¸åå¹³å°ä¸åçå®è£ æ¹å¼ï¼å ·ä½å¯ä»¥ç¾åº¦ä¸ä¸2ãå¨linuxä¸ï¼å¼æºè½¯ä»¶çç¼è¯å®è£ ä¼æåºå®çéç¨æ¥éª¤:
ä¸è½½æºç ä¸ä¼ å°æå¡å¨ä¸ï¼
解åæºç å ï¼ä¸è¬å çåç¼æ¯tar.gzãtgzãtar.gz2ï¼è¿äºå缩å å ¶å®é½å¯ä»¥ä½¿ç¨åä¸ä¸ªå½ä»¤è¿è¡è§£å tar xvf tarfile, è¿å ¥æºç ç®å½
æºç ç®å½ä¸ä¸è¬ä¼æ软件ç¸å ³çREADMEãinstallææ¡£ï¼ç®åçé 读以ä¸ï¼å¤æ°æ åµä¸é½ä¼æç¸å ³çç¼è¯æ¥éª¤ï¼ä»¥åä¾èµåº
éè¿æ¥éª¤:./configure;make && make install
./configure --helpå¯ä»¥è·å帮å©ï¼ç¨æ¥æå®å®è£ è·¯å¾ï¼ä¾èµåºçè·¯å¾ï¼ç¼è¯é项ç
3ã对äºå¨linuxä¸ç¼è¯zlib请åèæ¥éª¤2ï¼ç¸ä¿¡ä½ è½è¡ï¼å æ²¹
linuxå®è£ zipå½ä»¤linuxå®è£ zip
å¦ä½å®è£ åç¼ä¸ºZIPçæ件ï¼å¨Linuxå½ä»¤ä¸è§£åæ©å±å为â.zipâçæ件ï¼æç®åææçæ¹æ³æ¯ä½¿ç¨è§£å缩ç¨åºunzipæ¥å®æï¼å ·ä½çæ¥éª¤å¦ä¸ï¼å®è£ unzip解å缩ç¨åº2.解åfile.zipæ件ä¾å¦ç´æ¥å¯¹æ©å±å为file.zipæ件è¿è¡è§£åï¼ç»ç«¯è¿è¡ï¼unzipfile.zip3.解åfile.zipæ件å°æå®æ件夹
zipæ件ä»ä¹ææï¼
zipæ ¼å¼æ¯ä¸ç§å缩æä»¶æ ¼å¼ãZIPæä»¶æ ¼å¼æ¯ä¸ç§æ°æ®å缩åææ¡£å¨åçæä»¶æ ¼å¼ï¼ååDeflateï¼åæè 为è²å°Â·å¡è¨ï¼PhilKatzï¼ï¼ä»äºå¹´1æå ¬å¸äºè¯¥æ ¼å¼çèµæãZIPé常使ç¨åç¼åâ.zipâï¼å®çMIMEæ ¼å¼ä¸ºapplication/zipã
å½åï¼ZIPæ ¼å¼å±äºå ç§ä¸»æµçåç¼©æ ¼å¼ä¹ä¸ï¼å ¶ç«äºè å æ¬RARæ ¼å¼ä»¥åå¼æ¾æºç ç7zæ ¼å¼ãä»æ§è½ä¸æ¯è¾ï¼RARå7zæ ¼å¼è¾ZIPæ ¼å¼å缩çè¾é«ï¼è7-Zipç±äºæä¾äºå è´¹çåç¼©å·¥å ·èéæ¸å¨æ´å¤çé¢åå¾å°åºç¨ã
Microsoftä»WindowsMEæä½ç³»ç»å¼å§å 置对zipæ ¼å¼çæ¯æï¼å³ä½¿ç¨æ·ç计ç®æºä¸æ²¡æå®è£ 解å缩软件ï¼ä¹è½æå¼åå¶ä½zipæ ¼å¼çå缩æ件ï¼OSXåæµè¡çLinuxæä½ç³»ç»ä¹å¯¹zipæ ¼å¼æä¾äºç±»ä¼¼çæ¯æãå æ¤å¦æå¨ç½ç»ä¸ä¼ æåååæ件ï¼zipæ ¼å¼å¾å¾æ¯æ常ç¨çéæ©ã
linuxä¸æä¹è§£åzipæ件ï¼
å¨Linuxå½ä»¤ä¸è§£åæ©å±å为â.zipâçæ件ï¼æç®åææçæ¹æ³æ¯ä½¿ç¨è§£å缩ç¨åºunzipæ¥å®æï¼å ·ä½çæ¥éª¤å¦ä¸ï¼
å®è£ unzip解å缩ç¨åº
é常æ åµä¸ï¼Linuxç³»ç»ä¸é½èªå¸¦unzip解å缩ç¨åºï¼å¦æ没æï¼ç»ç«¯è¿è¡å¦ä¸å½ä»¤è¿è¡å®è£ ï¼
sudoapt-getinstallunzip
2.解åfile.zipæ件
ä¾å¦ç´æ¥å¯¹æ©å±å为file.zipæ件è¿è¡è§£åï¼ç»ç«¯è¿è¡ï¼
unzipfile.zip
3.解åfile.zipæ件å°æå®æ件夹
ä¾å¦å¦ææ³è¦å°file.zip解åå°æå®æ件夹destination_folderï¼ä½¿ç¨ï¼
unzipfile.zip-ddestination_folder
linuxä¸å¦ä½ç¨unzip解åç®å½å ææzipæ件ï¼
å¨Linuxå½ä»¤ä¸è§£åæ©å±å为â.zipâçæ件ï¼æç®åææçæ¹æ³æ¯ä½¿ç¨è§£å缩ç¨åºunzipæ¥å®æï¼å ·ä½çæ¥éª¤å¦ä¸ï¼å®è£ unzip解å缩ç¨åº2.解åfile.zipæ件ä¾å¦ç´æ¥å¯¹æ©å±å为file.zipæ件è¿è¡è§£åï¼ç»ç«¯è¿è¡ï¼unzipfile.zip3.解åfile.zipæ件å°æå®æ件夹
zipæ件æä¹å®è£ ï¼
zipæ ¼å¼åç¼åçæ件æ¯ç»è¿å缩çæ件ï¼åªæå®è£ 解å软件åæè½ä½¿ç¨ã
zipæ ¼å¼åç¼çæ件æ¯ç»è¿äºå缩æå çæ件ãæå¼zipæ件éè¦å®è£ å缩软件ãå¦æçµèä¸æå¯ä»¥ç´æ¥å³å»æå¼ï¼å¦æ没æå°±å¾å®è£ 个å缩软件äºã
ç°å¨å è´¹çå缩软件åçæ¯è¾å¥½çå¦ï¼å¥½åï¼å缩é½ä¸éï¼é便å®è£ ä¸ä¸ªï¼å°±ä¼èªå¨å ³èzipæ件ï¼ç¶åè¿è¡è§£åæä½ï¼è½æå缩å éçæ件解ååºæ¥ï¼ä¹å°±æå¼zipæ件äºã
å®è£ 好解åæ件ï¼å°zip软件解åæè ç´æ¥ç¹å»è¿å ¥å缩å æ¾å°è½¯ä»¶çå®è£ æ件å¦âsetup"å°±å¯ä»¥æ£å¸¸å®è£ äºã
Linux下源码安装的经验详解
在linux下安装软件,难免会碰到需要源码安装的,而就是页面制作系统源码这简简单单的./configure、make、sudo make install三步,却让不少人头疼不已,这里以安装X为例具体介绍下我在安装时的一点小经验,以便共同学习,共同进步!
首先,我们要做些准备工作,源码安装少不了这几个工具pkg-config、libtool、autoconf和automake(当然,还有更基础的,像zlib、m4等,这里就略过啦),其中,pkg-config是相对比较重要的,它就是向configure程序提供系统信息的程序,如软件的版本、库的版本以及库的路径等信息,这些只是在编译期间使用。你可以打开/usr/lib/pkgconfig下任意一个.pc文件,就会发现类似下面的信息(X的pc文件):
prefix=/usr
exec_prefix=${ prefix}
libdir=${ exec_prefix}/lib
includedir=${ prefix}/include
xthreadlib=-lpthread
Name: X
Description: X Library
Version: 1.3.3
Requires: xproto kbproto
Requires.private: xcb = 1.1.
Cflags: -I${ includedir}
Libs: -L${ libdir} -lX
Libs.private: -lpthread
configure就是靠着这些信息来判断软件版本是否符合要求的。接着来看看pkg-config是怎样工作的,缺省情况下,pkg-config首先在usr/lib/pkgconfig/中查找相关包(譬如x)对应的相应的文件(x.pc),若没有找到,它也会到PKG_CONFIG_PATH这个环境变量所指定的路径下去找,若是还没有找到,它就会报错。所以这里就可以得到一些解决configure时提示**库未找到的c 基址搜索源码办法了,先用命令ldconfig -p | grep 库名来分析该库是否安装及其路径,若返回空,则说明该库确实未安装,否则,可以根据该命令的返回结果找到库的安装地点,然后设置其环境变量,命令如下:
export PKG_CONFIG_PATH=软件位置/lib/pkgconfig:$PKG_CONFIG_PATH,这里有个常识,软件安装后,.pc文件都是在安装目录下的lib/pkgconf中的。这样只会在当前命令窗口有效,当然,你也可以修改home文件夹下的.bashrc文件(带.的文件为隐藏文件,可以用命令vi .bashrc编辑),在文件末尾加上上面那句命令,重新登录即可。其他的几个在linux下也是不可或缺的,libtool为管理library时使用,没装的话错误提示如下:possibly undefined macro:AC_PROG_LIBTOOL。而autoconf和automake可以用于在某些没有configure的文件的源码包安装时使用(pixman就是个典型的例子,安装了二者后直接./autogen.sh就可以安装了)。
准备工作做好后,就可以安装了,具体全部命令如下:
tar vxf libX-6.2.1.tar.gz
cd libX-6.2.1
mkdir X-build
cd X-build
../configure prefix=/usr/local/XR6
make
echo $
sudo make install
这里有一些好的安装习惯可以积累一下:1、建立一个临时编译目录,本例中为X-build,这样可以再安装完成后删除该目录,进而可以节省空间,而且保持了源码目录的整洁;2、安装到指定目录,本例中为/usr/local/XR6,视频转播系统源码最好把几个相关的安装在同一文件夹下,如这里的XR6文件夹,这样便于管理,否则全部默认安装在/usr/local下,很杂乱;3、编译完成后做检查,本例为echo $,表示检查上一条命令的退出状态,程序正常退出返回0,错误退出返回非0,也可以使用make check,主要为了防止make失败后直接install,进而出现了一些莫名其妙的错误。这里还介绍一种更方便快捷的安装方法,用将安装命令连接起来,如../configure prefix=**makesudo make install,这样,只有在前面的命令执行正确的情况下,后面的任务才会执行,多方便!
除此之外,安装之前可以阅读下源码包中的readme和install等文档,往往有所需软件及其下载地址,还包括一些安装技巧和配置选项。另外,在configure前,先输入configure help,可以查看有哪些选项可以添加。还有几个关系安装成功的东西就是ldconfig了,在安装时如果提示找不到某个库或者在编译时提示找不到**.so文件,就要用到它了,系统下载 php源码最简单的解决办法就是sudo gedit /etc/ld.so.conf,在文件中加入**.so文件所在路径,再运行一下ldconfig就可以了,但是我对这个东西有阴影,不知道是因为用了虚拟机还是其他的原因,有7、8次我在运行完ldconfig后,Ubuntu就没办法打开任何窗口了,直接关机重启就更是进不去系统了,崩溃之,不知道有没有高手有解决办法。在这里提供一种代替ldconfig的办法,就是export LD_LIBRARY_PATH=*.so文件地址:$LD_LIBRARY_PATH,用它我就舒心多了,也就是麻烦点,哥忍了,总比系统崩溃强多了吧,呵呵!其实,在configure时碰到问题,你应该庆幸,因为你可以根据它很明显的提示找到缺失的东西装上,在配置下pkgconfig和ldconfig基本上就可以搞定了,但是make的时候就没那么简单了。
编译时提示最多的就是**东西未找到了,要么是库文件,要么是头文件,库文件用上面的ldconfig基本上就可以搞定,头文件的话需要配置包含的路径,和库的类似,命令如下:
export LD_INCLUDE_PATH=/usr/local/include:$LD_INCLUDE_PATH
在这个时候最重要的就是淡定了,循着丫的error往上找,像No such file or directory这样的错误提示肯定就在附近,找到了,include之就可以咯!
Linux 软件源码安装过程及一个经典的坑,以 Graphviz 为例
Linux 系统中,源码安装软件是一种灵活且便于管理的方法。本文以 Graphviz 为例,详解从下载、解压到安装的全过程,并针对可能遇到的常见问题提供解决方案。安装步骤如下:
首先,在 Linux ubuntu 系统中下载 Graphviz 的压缩包。
接着,使用命令进行解压,命令中包含解析文件、指定文件格式和解压过程显示。解压后,软件位于 /usr/local 目录下。
随后,分析环境。在软件包内,会发现一个名为 configure 的文件,用于适应不同环境,生成可执行程序,并检查系统是否具备必要的外部工具与组件。通过 --prefix 参数,便于软件的卸载与移植。
生成程序阶段,使用命令编译可执行程序。在执行过程中,若遇到错误如“ld: can't find -lperl”,说明系统缺少某些动态链接库,需下载并安装这些库。随后再次安装可执行程序,至此成功完成安装。
值得注意的是,若在 Python 缺少 lib.so 文件时,下载 so 文件后,可能需要对 Python 进行重新编译。Makefile 是 configure 生成的文件,描述各部件间的联系与依赖,指导 make 命令编译最终程序。打包后的源代码通常包含一个特殊的 make 目标安装程序,用于将生成的可执行程序安装至系统目录,尤其是 /usr/local/bin 目录下。为了获得执行权限,使用 sudo 命令。
在源码安装过程中,可能会遇到编译链接失败的问题,这通常是由于缺少动态链接库所导致。C 程序执行过程包括编译、链接、生成可执行文件等步骤。在 Linux 系统中安装源码时,软件依赖系统动态链接库。因此,遇到安装相关问题时,多数情况是由于缺乏动态链接库。
综上所述,通过遵循上述步骤与注意事项,可以顺利地在 Linux 系统中完成 Graphviz 的源码安装,解决常见的安装问题。
如何安装vim。?
离线安装Vim的具体命令可能因不同操作系统和安装方式而异,下面以在Linux系统中使用源码安装为例:1.首先,需要下载Vim的源代码包,可以从vim官网下载,也可以使用命令行下载,如:
wget 上的源码新闻组。它们保留的原因是具有人性化的可读性,并且允许新闻组缓冲并通过它们筛选和剔除出不合格的。它们可能用 unshar filename.shar 命令来解压。
C: 一些源码存档文件是用非标准的 DOS,Mac 或其他压缩的比如:
zip, arc, lha, arj, zoo, rar, and shk.
D: 有时候,你可能需要使用一个 patch 或显示改变了的 diff 文件来升级或修复存档的源码文件。这 doc 文件或者 README 文件将告诉你怎么去使用。一个很好的命令用标准语法来调用的命令是 patch < patchfile.
2: 关于 rpm 安装包
一些 Linux 用户惧怕通过使用源码来手动安装软件包,不过现在有方便的 rpm 和 deb 或 新格式的 slp 包。例如:rpm 安装运行平稳又快,作为一个软件安装在某几个有名的操作系统。
作为方便的RPM包也存在很多不好的缺点,例如:
A: 要了解软件中更多更详细的内容你必须去在二进制中去了解,而不是rpm包。
B: 还有安装一个 rpm 包如果需要依赖关系那么安装就可能会导致失败。
C: 当 rpm 请求你系统中不同版本的库,那么安装将不能继续,除非你为错误的库位置创建连接符号到正确的位置。
说明:必须使用root 安装 rpm 和 deb 。因为它需要必须的写入权限。
最简单的,用命令 rpm -i packagename.rpm 和 dpkg --install packagename.deb 会自动解包和安装。
3:关于安装 Linux 包出现的一些问题及解决方案
假设 make 失败有个链接错误: -lX: No such file or directory,正好在 xmkmf 之后已被调用,这可能意味着 Imake 不能被完全建立。检查第一部分 Makefile 文件的的行是这样:
· LIB= -L/usr/X/lib
· INCLUDE= -I/usr/X/include/X
· LIBS= -lX -lc -lm
这个 -L 和 -I 开关告诉编译器和链接分别在哪里找到 library 和 include 文件。在这个例子里, X 库应该在 /usr/X/lib 目录,且 X 包含文件应该在 /usr/X/include/X 目录里。假如对于你的机器上的这个错误,请处理修改 Makefile 并重新再 make。
没有声明涉及的数学库函数,像下列各项:
/tmp/cca.o(.text 0x): undefined reference to `cos'
要修复它,需要明确链接到匹配的库,在 Makefile (看先前的例子) 里增加一个 -lm 到 LIB 或 LIBS 标记 。
用其他方法尝试
仍然失败 如果失败,参考下列脚本:
make -DUseInstalled -I/usr/X/lib/X/config
这个直接方式的类别相当于。
在少数例子里,用 root 运行 ldconfig 可能会解决:
# ldconfig 更新共享库链接符号。
一些 Makefiles 使用你系统里未被承认的库别名。一个例子,构建可能需要 libX.so.6 ,但是在 /usr/XR6/lib 不存在文件或链接。然而,在那里是 libX.so.6.1。解决方法是用 root 运行ln -s /usr/XR6/lib/libX.so.6.1 /usr/XR6/lib/libX.so.6 ,接着需要运行 ldconfig 。
有一些包需要你安装一个或更多库的升级版本。需要拷贝一个或更多的库到适当的目录里,删除旧的库,重新设置动态链接库。
4:一些其他的问题处理
安装一个shell 脚本如果出现:No such file or directory 的错误消息。这是可以检查文件权限确定文件事可执行的,并检查文件头确定是否 shell 或程序是脚本在指定的位置被调用。一个例子,这个脚本可能是这样开始的:
#!/usr/local/bin/EDEN
如EDEN的实际安装位置是在你的 /usr/bin 目录,用一个 /usr/local/bin 替代
这个脚本不能运行有两个方法来纠正!!
A: 文件头改成 #!/usr/bin/EDEN
B: 或增加一个链接符, ln -s /usr/bin/EDEN
5:一个典型的例子 Xloadimage
首先说明下面的例子来源于国外网站的一个技术实例,这里我做了翻译和整理。
这个例子展现一个简单的问题。xloadimage 程序对我的图形工具的调整设置是有用的附加。从源码目录拷贝文件,用 tar xzvf 解压文件,可是在运行 make 的时候出现令人讨厌的错误并停止了。
gcc -c -O -fstrength-reduce -finline-functions -fforce-mem
-fforce-addr -DSYSV -I/usr/XR6/include
-DSYSPATHFILE=\"/usr/lib/X/Xloadimage\" mcidas.c
In file included from /usr/include/stdlib.h:,
from image.h:,
from xloadimage.h:,
from mcidas.c:7:
/usr/lib/gcc-lib/i-linux/2.6.3/include/stddef.h::
conflicting types for `wchar_t'
/usr/XR6/include/X/Xlib.h:: previous declaration of
`wchar_t'
make[1]: *** [mcidas.o] Error 1
make[1]: Leaving directory
`/home/thegrendel/tst/xloadimage.4.1'
make: *** [default] Error 2
这个错误消息包含了实质的线索:
查看 image.h 文件的 行:
#include < stdlib.h>
在源码的某处对于 xloadimage, wchar_t 已经在指定标准 include 文件重新定义。 告诉我们首先在 image.h 的 行尝试注释它,或许 stdlib.h include 是不存在的,毕竟不是所有都是必需的。
在这点,构建中的收益来源于所有任何一个致命错误。xloadimage 现在功能正常。
6: 安装 Linux 包的一些总结
坚持自己动手处理所有的安装出现的问题,不断总结努力学习,从错误里去仔细研究,努力动手排错,从每个不足甚至失败的地方得到扩充和提升,可以增强安装构建软件的技巧。
2024-11-15 00:39
2024-11-14 23:57
2024-11-14 23:56
2024-11-14 23:48
2024-11-14 23:43