依赖库问题记录(一)

依赖库问题记录(一)

环境:ubuntu

error(1)gcc、g++等编译器没有

sudo apt-get install build-depgcc
或者是
sudo apt-get install build-essential

查看gcc等版本

gcc -v

error(2)fatal error: xtables.h: No such file or directory #include

sudo apt-get install iptables-dev

方法二:

上iptables官网,下载依赖库源码,使用源代码安装,但是需要(不太推荐)

官网http://www.netfilter.org

wget http://www.netfilter.org/projects/iptables/files/iptables-1.6.0.tar.bz2
tar -jxvf iptables-1.6.0.tar.bz2
cd iptables-1.6.0.tar.bz2

之后请参照INSTALL文件安装,操作基本类似

./configure
make
make check
make install

error(3)fatal error: event.h: No such file or directory #include

apt-cache search libevent-dev
libevent-dev - Asynchronous event notification library (development files)

安装依赖库

apt-get install libevent-dev

error(4)/bin/sh: 1: mysql_config: not found

如果碰到mysql_config not found的问题,有两种方法解决

第一种方法

sudo ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config

将mysql_confi从你的安装目录链接到/usr/local/bin目录下,这样就可以在任意目录下访问了(也可以放到/usr/bin)

第二种方法

编辑源码文件夹的site.cfg文件,去掉#mysql_config = /usr/local/bin/mysql_config前的注释#,修改后面的路径为你的mysql_config真正的目录就可以了。

如果不知道mysql_config在哪里,运行命令:

whereis mysql_config

还有一种情况,就是其实代码本身不需要mysql这个依赖,(由于删代码后来不需要mysql),但是makefile中依然依赖mysql_config,删除相应mysql_config即可

error(5)fatal error: netinet/sctp.h: No such file or directory #include

apt-get install libsctp-dev

error(6)fatal error: czmq.h: No such file or directory #include

error(6)fatal error: czmq.h: No such file or directory #include

wget https://github.com/jedisct1/libsodium/releases/download/1.0.8/libsodium-1.0.8.tar.gz
tar xvzf libsodium-1.0.8.tar.gz
./autogen.sh
./configure
make && make check
make install

去官网下载zmq和czmq库源码,然后编译安装,注意,zmq库要先于czmq安装

安装zmq

wget http://download.zeromq.org/zeromq-4.1.4.tar.gz
tar xvzf zeromq-4.1.4.tar.gz
./autogen.sh && ./configure && make -j 4
make check && make install && sudo ldconfig

安装czmq

wget https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz
tar xvzf czmq-3.0.2.tar.gz 
./autogen.sh && ./configure
make -j 4 && make check
make install
ldconfig

这样就可以使用了

error(7)fatal error: curl.h: No such file or directory #include

apt-get install libcurl4-nss-dev

error(8)fatal error: libmemcached/memcached.h: No such file or directory #include

apt-get install libmemcached-dev

error(9)sudo: unable to resolve host ubuntu

我用的是ubuntu,修改了计算机的名字,当运行sudo …之后出现如下提示:

sudo: unable to resolve host ubuntu

提示不能解析主机ubuntu,在/etc/hosts中存放了网址的解析,计算机上网时,先访问这个文件。所以修改/etc/hosts文件

解决办法

sudo vim /etc/hosts

添加如下:

127.0.0.1 ubuntu  #ubuntu是主机名。

保存之后,解决!

error(10)创建mq失败:

[3531552640] - mq_open:/sae_send_mq failed,erro: 24 <MME.cpp, CreateMq(), 546>
MME[23834]: [14/02/2016 11:36:07.902678] INFO  [3531552640] - Closing Log <logmgr.cpp, close_logger(), 74>
Aborted (core dumped)

简单来说就是消息队列需要的空间不足,提升其需要的空间即可,执行命令

ulimit -q xx

常用工具库安装

apt-get update
更新一下

apt-cache search xxx
搜索所需工具名字,xxx是所需要的工具名字

apt-get install autoconf
apt-get install libtool

你可能感兴趣的:(linux环境配置)