- 浏览: 269579 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (263)
- mysql (5)
- boost (6)
- 工具 (10)
- IT生活 (7)
- 多线程 (3)
- Ruby (15)
- php (2)
- MongoDB (39)
- 移动互联网 (2)
- 测试 (8)
- c++ (28)
- 书 (1)
- 网站 (3)
- 网络编程 (14)
- 开源软件 (1)
- 分布式计算 (1)
- 得得得 (1)
- php,wordpress (1)
- error (5)
- 编译 (2)
- 学习 (1)
- 杀毒软件 (1)
- dd (0)
- linux (21)
- 数据库 (1)
- STL (1)
- c++/c (5)
- 软件设计 (1)
- 操作系统 (4)
- 库 (2)
- win32 (1)
- s (0)
- openssl (1)
- perl (2)
- debug (1)
- windows (4)
- python (12)
- windows 防火墙 (1)
- vs (1)
- vim (2)
- vc (1)
- 浏览器插件的危害 (1)
- curl (0)
- 判断手机号码合法性的库 (0)
- 地址备注 (0)
- 安装 File::Slurp (1)
- cenos (2)
- shell (1)
- linunx (1)
- internet (1)
- software (1)
- widows (1)
- linux io (1)
- nginx (2)
- 算法 (2)
- google (1)
- protobuf (2)
- tengine (1)
- tools (1)
- lua (2)
- liunx (1)
- vcard (1)
- lua-iconv (1)
- 网络 (2)
- teat (0)
- ldconfig linux (0)
- awk (0)
- grep (0)
- windws (2)
- linux 命令 (1)
- tcp dump (1)
- vmware (1)
- question2answer (2)
- mongdb (1)
- 正则 (1)
- OCR (2)
- Windows Server (1)
最新评论
当安装了libiconv环境下安装lua-iconv 会出现报错 /usr/local/lib/lua/5.1/iconv.so: undefined symb
转自: http://bbs.iresty.com/topic/25/%E5%BD%93%E5%AE%89%E8%A3%85%E4%BA%86libiconv%E7%8E%AF%E5%A2%83%E4%B8%8B%E5%AE%89%E8%A3%85lua-iconv-%E4%BC%9A%E5%87%BA%E7%8E%B0%E6%8A%A5%E9%94%99-usr-local-lib-lua-5-1-iconv-so-undefined-symbol-libiconv
当安装了libiconv环境下安装lua-iconv 会出现报错 /usr/local/lib/lua/5.1/iconv.so: undefined symbol: libiconv
王 王海波 29天之前
当libiconv先安装的时候会出现报错
/usr/local/lib/lua/5.1/iconv.so: undefined symbol: libiconv
stack traceback:
[C]: at 0x0044dfb0
[C]: in function 'require'
stdin:1: in main chunk
[C]: at 0x004045d0
简单的处理方式:
mv /usr/local/include/iconv.h ~/
luarocks install lua-iconv后再恢复
过程:
参考
http://www.cnblogs.com/lightsong/p/4634642.html
https://github.com/ittner/lua-iconv/issues/3
https://groups.google.com/forum/#!msg/openresty/blNGlzAl2ik/QuJBXtzLx9gJ
经过查证(受到此文启发 http://tonybai.com/2013/04/25/a-libiconv-linkage-problem/),
分析为先安装了 libiconv库, 导致 此库的iconv.h拷贝到 usr/local/include/iconv.h
然后编译 luaiconv工程,编译文件iconv.c文件时候, gcc先找到 usr/local/include/iconv.h 此文件, 以此文件内部的函数声明为准,编译出iconv.so
实际上次应该以系统提供的 iconv.h 为准, 此文件在 /usr/include/iconv.h
头文件gcc搜索次序:
:~/share_windows/openSource/lua/lua-iconv-lua-iconv-5$ ld -verbose | grep SEARCH
SEARCH_DIR("=/usr/i686-linux-gnu/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i686-linux-gnu/lib"); SEARCH_DIR("=/usr/local/lib/i386-linux-gnu"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib/i386-linux-gnu"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib/i386-linux-gnu"); SEARCH_DIR("=/usr/lib");
libiconv-------usr/local/include/iconv.h
#ifndef LIBICONV_PLUG
#define iconv_open libiconv_open
#endif
extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode);
libiconv -- iconv.c 中 libiconv_open 定义收到宏控制, 应该未开启, 或者编译 luaiconv未链接libiconv库
#if defined FreeBSD && !defined gnu_freebsd
/* GNU libiconv is the native FreeBSD iconv implementation since 2002.
It wants to define the symbols 'iconv_open', 'iconv', 'iconv_close'. */
#define strong_alias(name, aliasname) _strong_alias(name, aliasname)
#define _strong_alias(name, aliasname)
extern __typeof (name) aliasname attribute ((alias (#name)));
#undef iconv_open
#undef iconv
#undef iconv_close
strong_alias (libiconv_open, iconv_open)
strong_alias (libiconv, iconv)
strong_alias (libiconv_close, iconv_close)
#endif
解决方法: 修改实现文件中, 引用的 iconv.h 引用方式, 将标准方式, 修改为自定义,并且写为全路径 /usr/include/iconv.h
然后再次 make && make install, 运行ok
vim luaiconv.c
#include <lua.h>
#include <lauxlib.h>
#include <stdlib.h>
#include "/usr/include/iconv.h"
#include <errno.h>
花下眠工作室: http://huaxiamian.cc
当安装了libiconv环境下安装lua-iconv 会出现报错 /usr/local/lib/lua/5.1/iconv.so: undefined symbol: libiconv
王 王海波 29天之前
当libiconv先安装的时候会出现报错
/usr/local/lib/lua/5.1/iconv.so: undefined symbol: libiconv
stack traceback:
[C]: at 0x0044dfb0
[C]: in function 'require'
stdin:1: in main chunk
[C]: at 0x004045d0
简单的处理方式:
mv /usr/local/include/iconv.h ~/
luarocks install lua-iconv后再恢复
过程:
参考
http://www.cnblogs.com/lightsong/p/4634642.html
https://github.com/ittner/lua-iconv/issues/3
https://groups.google.com/forum/#!msg/openresty/blNGlzAl2ik/QuJBXtzLx9gJ
经过查证(受到此文启发 http://tonybai.com/2013/04/25/a-libiconv-linkage-problem/),
分析为先安装了 libiconv库, 导致 此库的iconv.h拷贝到 usr/local/include/iconv.h
然后编译 luaiconv工程,编译文件iconv.c文件时候, gcc先找到 usr/local/include/iconv.h 此文件, 以此文件内部的函数声明为准,编译出iconv.so
实际上次应该以系统提供的 iconv.h 为准, 此文件在 /usr/include/iconv.h
头文件gcc搜索次序:
:~/share_windows/openSource/lua/lua-iconv-lua-iconv-5$ ld -verbose | grep SEARCH
SEARCH_DIR("=/usr/i686-linux-gnu/lib32"); SEARCH_DIR("=/usr/local/lib32"); SEARCH_DIR("=/lib32"); SEARCH_DIR("=/usr/lib32"); SEARCH_DIR("=/usr/i686-linux-gnu/lib"); SEARCH_DIR("=/usr/local/lib/i386-linux-gnu"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib/i386-linux-gnu"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib/i386-linux-gnu"); SEARCH_DIR("=/usr/lib");
libiconv-------usr/local/include/iconv.h
#ifndef LIBICONV_PLUG
#define iconv_open libiconv_open
#endif
extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode);
libiconv -- iconv.c 中 libiconv_open 定义收到宏控制, 应该未开启, 或者编译 luaiconv未链接libiconv库
#if defined FreeBSD && !defined gnu_freebsd
/* GNU libiconv is the native FreeBSD iconv implementation since 2002.
It wants to define the symbols 'iconv_open', 'iconv', 'iconv_close'. */
#define strong_alias(name, aliasname) _strong_alias(name, aliasname)
#define _strong_alias(name, aliasname)
extern __typeof (name) aliasname attribute ((alias (#name)));
#undef iconv_open
#undef iconv
#undef iconv_close
strong_alias (libiconv_open, iconv_open)
strong_alias (libiconv, iconv)
strong_alias (libiconv_close, iconv_close)
#endif
解决方法: 修改实现文件中, 引用的 iconv.h 引用方式, 将标准方式, 修改为自定义,并且写为全路径 /usr/include/iconv.h
然后再次 make && make install, 运行ok
vim luaiconv.c
#include <lua.h>
#include <lauxlib.h>
#include <stdlib.h>
#include "/usr/include/iconv.h"
#include <errno.h>
花下眠工作室: http://huaxiamian.cc
发表评论
-
Linux的IO性能监控工具iostat详解
2016-09-20 14:37 319$iostat -d -k 1 10 #查看TPS和吞吐量信息 ... -
CentOS 7.0,启用iptables防火墙
2016-09-13 21:55 414http://www.open-open.com/lib/vi ... -
Linux下查看系统版本号信息的方法
2016-06-14 15:24 388一、查看Linux内核版本命令(两种方法): 1、cat / ... -
linux 发布系统
2016-04-13 11:03 0/etc/webshell.cfg /etc/rsyncd.c ... -
bash
2016-01-14 11:29 0#/bin/bash for d in {20151001. ... -
ldconfig
2016-01-13 11:15 0sudo ldconfig ldconfig -p | gre ... -
libconv--unicode -> utf-8
2016-01-02 17:30 479http://savannah.gnu.org/project ... -
配置iptables
2016-06-02 15:18 375cd /etc/sysconfig 备份iptables文件: ... -
linux下的unicode utf
2015-12-22 19:22 0example: http://www.gnu.org/sof ... -
用gcc编译生成动态链接库*.so文件的方法
2015-12-18 14:28 838原文地址:/etc/ld.so.confh ... -
Putty远程登录VMware虚拟机Linux(Ubuntu)
2015-12-10 10:23 918http://www.linuxidc.com/Linux/2 ... -
解决vmware安装centos,网络不通的问题
2015-11-23 11:03 587在终端输入: nmcli dev status查看网卡状态 我 ... -
linux 抓包
2015-11-10 18:52 344tcpdump port 80 -x -s 0 -nn -i ... -
linux socket
2015-08-06 17:58 488epoll_create, epoll_ctl和epoll_w ... -
取消私钥密码
2015-07-20 19:11 622http://www.au92.com/archives/re ... -
liinux操作记录
2015-07-20 15:49 01. 远程连接ssh 私钥保存地址.ssh 2. 查看文件ls ... -
secureCRT 下载上传文件
2015-07-16 18:06 471sz用法: 下载一个文件 sz filename ... -
iptables
2015-07-13 16:17 509转自: http://www.cnblogs.com/jemb ... -
awk
2015-02-11 09:53 634http://coolshell.cn/articles/90 ... -
linux 命令
2015-01-14 10:49 458① 查看物理CPU的个数 #cat /proc/cpuinfo ...
相关推荐
iconv_t cd; int rc; char **pin = &inbuf; char **pout = &outbuf; cd = iconv_open(to_charset, from_charset); int argument = 1; if (cd == 0) return -1; if (iconv(cd,(char **)pin, &inlen;, pout, &...
iconv库32位版和64位版都含有,其中包含编译好的: charset.lib、iconv.lib、iconv.dll、charset.dll、iconv.exe 以及头文件:iconv.h、libcharset.h、localcharset.h 还有说明:iconv.1.html、iconv.3.html 等资源
编译安装时需要的libiconv包,安装完指定php的--with-iconv-dir=/usr/share/libiconv即可,不与系统自带的冲突。 php rpm包下载地址: https://download.csdn.net/download/sinat_24092079/10598887
libiconv 1.15 <http://gnu.org/software/libiconv> libass 0.14.0 <https://github.com/libass/libass> dav1d 20190620-4a2ea99 <https://code.videolan.org/videolan/dav1d> libbluray 20180913-2d18c70 ...
我在做一个加密芯片项目...1.如要iconv_open、iconv_close这样的名字,需在iconv.h中加入#define LIBICONV_PLUG即可。 2.如要libiconv_open、libiconv_close这样的名字,需在iconv.h中移除#define LIBICONV_PLUG即可。
通常,它会被安装到`/usr/local/php`这样的目录下。 6. 配置PHP与Web服务器集成:如Apache或Nginx,需要编辑配置文件,使PHP能够处理`.php`文件。 7. 测试运行:使用`php -v`检查PHP是否成功安装,并显示版本信息...
release build with 1. LuaForWindows_v5.1.5-52 2. libiconv-1.15 3. lua-iconv-lua-iconv-7
jpeg-dir=/usr/local/webserver/jpeg/ --with-png-dir=/usr/local/webserver/png/ --with-zlib-dir=/usr/local/webserver/zlib/ --with-freetype-dir=/usr/local/webserver/freetype/ --with-iconv-dir=/usr/local/...
--with-iconv=/usr/local/Cellar/libiconv/1.16 \ --with-icu-dir=/usr/local/opt/icu4c \ --disable-phpdbg \ --disable-phpdbg-webhelper \ --enable-opcache \ --enable-fileinfo \ --with-openssl=/usr/...
--with-iconv=/usr/local/libiconv \ --with-mysql=/usr/local/mysql \ --with-mysqli=/usr/local/mysql/bin/mysql_config \ --without-pear ``` 知识点4:安装Nginx 安装Nginx,编译安装过程不再赘述,请参照之前...
libiconv 1.14 <http://gnu.org/software/libiconv/> libass 0.12.0 <http://code.google.com/p/libass/> libbluray 0.6.2 <http://videolan.org/developers/libbluray.html> libbs2b 3.1.0 <http://bs2b....
如果出现错误提示“无法创建一般文件”,请先创建`/usr/local/jpeg6/lib`目录再重新执行`make install-lib`。 - **libpng**:用于处理PNG图像 ```bash tar zxvf libpng-1.2.43.tar.gz cd libpng-1.2.43 ./...
./configure --prefix=/usr/local/mysql --with-plugins=innobase --with-extra-charsets=all --with-innodb --with-plugins=all ``` 3. **编译并安装MySQL**: ```bash make make install ``` 4. **初始化...
在本文中,我们将讨论如何在CentOS系统上搭建PHP5.3.8、Nginx1.0.9和Mysql5.5.17的环境。这个过程对于初学者来说是一个基础的LNMP(Linux、Nginx、MySQL、PHP)服务器配置,旨在..../configure --prefix=/usr/local/...
LD_LIBRARY_PATH=/usr/local/lib ./configure make make install ``` 在执行`./configure`时可能会遇到问题,可以通过编辑`configure`脚本来解决: ```bash # 替换 $RM $cfgfile 为 rm -f $cfgfile sed -i ...
在Windows环境下,apr-iconv源码包(apr-iconv-1.2.1)的编译和使用对于本地化和跨平台通信具有重要意义。 解压"apr-iconv-1.2.1-win32-src.zip"后,你将得到apr-iconv 1.2.1的源码文件,包括头文件、源代码文件和...
libiconv 1.14 <http://gnu.org/software/libiconv/> libass 0.12.0 <http://code.google.com/p/libass/> libbluray 0.6.2 <http://videolan.org/developers/libbluray.html> libbs2b 3.1.0 <http://bs2b....
ln -s /usr/local/libiconv/lib/libiconv.so.2 /usr/lib64/libiconv.so.2 ``` 五、安装Zend Optimizer 3.3.3 1. 下载Zend Optimizer源码包: ```bash wget ...
当程序需要调用libiconv的功能时,会加载对应的DLL文件。 4. **32位与64位**:这里的“32位libiconv”和“64位libiconv”是指分别适用于32位和64位操作系统的库文件。32位系统使用x86架构,而64位系统使用x86_64或...
libiconv 1.14 <http://gnu.org/software/libiconv/> libass 0.13.2 <https://github.com/libass/libass> libbluray 0.9.2 <http://videolan.org/developers/libbluray.html> libbs2b 3.1.0 <http://bs2b....