在编译安装frei0r的时候遇到两个错误地方,
两个都是在install的时候.
一开始编译都很顺利,输入了
make install之后就走开了,回来一看,报错误.
提示mkdir -p //usr/local/lib/frei0r-1错误,让我百思不得其解,一开始以为我手动创建就可以,于是到相关目录下创建了该文件夹.
再次install的时候还是不行.
于是我就想着去找百度,谷歌.终于有解决办法 是一下src/Makefile下的$(DESTDIR)/$(plugindir)多了一个/
需要改成$(DESTDIR)$(plugindir)有几个这样的地方,一并改了
然后这一步安装到是过去了,新的问题又来了。
报错.libs/目录下大量的so没有找到,我搜索源码目录,没有找到相关so文件,我就纳闷了
profile.d配置方案:
保存在/etc/profile.d/local.sh(由/etc/profile调用)
把/local/bin加入PATH,把/local/include、/local/lib加入编译器的头文件和库文件搜索路径。
- #! /usr/bin/sh
- export CPATH=/usr/local/include:/usr/include:$CPATH
- export C_INCLUDE_PATH=/usr/local/include:/usr/include:$C_INCLUDE_PATH
- export CPLUS_INCLUDE_PATH=/usr/local/include:/usr/include:$CPLUS_INCLUDE_PATH
- export OBJC_INCLUDE_PATH=/usr/local/include:/usr/include:$OBJC_INCLUDE_PATH
- export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH
- export LIBRARY_PATH=/usr/local/lib:/usr/lib:$LIBRARY_PATH
- export LIBPATH=/usr/local/lib:/usr/lib:$LIBPATH
------------------
20111022补充
对于在Linux上自己编译安装的程序,由于在执行./configure --prefix=<绝对路径>指定的路径
一般在home目录中,所以编译存在依赖关系的程序时,通常要用
$ PKG_CONFIG_PATH=<绝对路径>/lib/pkgconfig/:$PKG_CONFIG_PATH ./configure --prefix=<绝对路径>
或
$ export PKG_CONFIG_PATH=<绝对路径>/lib/pkgconfig/:$PKG_CONFIG_PATH
$ ./configure --prefix=<绝对路径>
使configure能准确找到库安装的位置
使用
$ LD_LIBRARY_PATH=<绝对路径>/lib:$LD_LIBRARY_PATH ./xxx
或
$ export LD_LIBRARY_PATH=<绝对路径>/lib:$LD_LIBRARY_PATH
$ ./xxx
指定./xxx程序需要用到的.so文件所在的路径。
(如果使用sudo,则环境变量LD_LIBRARY_PATH的赋值必须跟在sudo后面