歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Ununtu下安裝libiconv

Ubuntu下安裝libiconv-1.14.tar.gz
1. ./configure --prefix=/usr/local
2. 在make的時遇到如下錯誤:
./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)
解決方法如下:
vi srclib/stdio.h
找到
/* It is very rare that the developer ever has full control
of stdin,
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
然後去掉:
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
改成:
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
3. 後重新make && make install,問題解決。
============================================================================================================
Linux下libiconv庫的安裝和使用,有需要的朋友可以參考一下。
Linux下libiconv庫的安裝和使用:
1.libiconv包的下載路徑
包的下載頁面http://www.gnu.org/software/libiconv/
2.編譯安裝libiconv庫
$tar zxvflibiconv-1.14.tar.gz
$cdlibiconv-1.14
$ ./configure --prefix=/usr/local
$ make
$ make install
在/usr/local/lib/目錄下,拷備需要的庫文件libcharset.so.1, libiconv.so.2。
3.在makefiel文件中使用-liconv調用libiconv動態庫文件時,若出現“error while loading sharedlibraries: libiconv.so.2”錯誤,解決方法為:
$updatedb
$locate libiconv.so.2
發現該庫已經安裝,位置在/usr/local/lib/libiconv.so.2。既然已經安裝,為什麼提示找不到?繼續下一步排查。
$strace ./indexer 將打印出所有indexer 啟動時調用的文件及程序名稱,
在輸出的信息中,發現查找庫libiconv.so.2的路徑是/lib目錄和/usr/lib這兩個目錄。
好了,問題找到了,將/usr/local/lib下面該庫鏈接到/usr/lib下面即可
$ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
$ldconfig
至此,解決該問題。
Copyright © Linux教程網 All Rights Reserved