1、到网上下载 larbin-2.6.3.tar.gz,然后解压。
tar zxvf larbin-2.6.3.tar.gz
2、 到解压的目录,运行配置文件
./configure
却出现以下的错误:
make[2]: 正在进入目录 `/home/byd/test/larbin-2.6.3/src/utils'
makedepend -f- -I.. -Y *.cc 2> /dev/null > .depend
make[2]: *** [dep-in] 错误 127
make[2]:正在离开目录 `/home/byd/test/larbin-2.6.3/src/utils'
make[2]: 正在进入目录 `/home/byd/test/larbin-2.6.3/src/interf'
makedepend -f- -I.. -Y *.cc 2> /dev/null > .depend
make[2]: *** [dep-in] 错误 127
make[2]:正在离开目录 `/home/byd/test/larbin-2.6.3/src/interf'
make[2]: 正在进入目录 `/home/byd/test/larbin-2.6.3/src/fetch'
makedepend -f- -I.. -Y *.cc 2> /dev/null > .depend
make[2]: *** [dep-in] 错误 127
make[2]:正在离开目录 `/home/byd/test/larbin-2.6.3/src/fetch'
make[1]: *** [dep] 错误 2
make[1]:正在离开目录 `/home/byd/test/larbin-2.6.3/src'
make: *** [dep] 错误 2
在上面发现有makedepend,于是输入
makedepend
发现没有安装,有如下的提示
The program 'makedepend' is currently not installed. You can install it by typing: sudo apt-get install xutils-dev
于是就输入命令老老实实的安装xutils-dev了
sudo apt-get install xutils-dev
安装之后,./configure成功
3、编译
在目录下输入make进行编译。又出现了一下的错误
parse.c:113: error: conflicting types for ‘adns__parse_domain’ internal.h:569: note: previous declaration of ‘adns__parse_domain’ was here parse.c: In function ‘adns__parse_domain_more’:
于是直接到adns目录找到internal.h文件注释掉568-572行。
//adns_status adns__parse_domain(adns_state ads, int serv, adns_query qu, //vbuf *vb, parsedomain_flags flags, //const byte *dgram, int dglen, int *cbyte_io, int max);
继续make ,又出现一下的错误
sequencer.cc:5: fatal error: iostream.h: 没有那个文件或目录
代码采用的是以前C的编码方式,现在要改成iostream 了。于是将目录下的所有iostream.h 改成iostream。可以采用一下的命令
sed -i -e 's/iostream.h/iostream/g' `grep -rl iostream.h *`
注意:后面的包含grep 的不是单引号,而是键盘左上角的符号。
继续编译,又出现错误
hashTable.cc:32: error: ‘cerr’ was not declared in this scope hashTable.cc:41: error: ‘cerr’ was not declared in this scope hashTable.cc:42: error: ‘endl’ was not declared in this scope
于是将目录下的所有cerr和 endl改成 std::cerr和std::endl。可以采用类似上面的命令。不过要注意是不是有的endl或cerr已经是std::endl和std::cerr。
sed -i -e 's/cerr/std::cerr/g' `grep -rl cerr *`
sed -i -e 's/endl/std::endl/g' `grep -rl endl *`
至此编译就没有问题了。
可以发现在目录下已经生成larbin的可执行文件。
输入./larbin就可以运行larbin了。