今天初次test一下mpg123库,首先编译安装mpg123源文件,都还顺利。等到编译它自带的测试文件的时候,出来了些寻常的问题。
编译:
gcc scan.c -I/usr/local/include/ -L/usr/local/lib/ -lmpg123 -o scan
首先就是编译不通过,显示:
/usr/local/include/mpg123.h:37:2: 错误#error "Mismatch in large file setup! Enable/disable large file support appropriately to use libmpg123."
查看一下mpg123.h这个文件,发现里边有个条件宏,测试32/64位的东东,索性将其注释掉,过了。
一到运行可执行文件,显示找不到动态库:
./scan: error while loading shared libraries: libmpg123.so.0: cannot open shared object file: No such file or directory
估计是搜索路径的问题,查看/etc/ld.so.conf,里边没有动态库的安装路径,加上,再ldconfig一下。
心想应该好了,可是再一运行./scan.又一错误:
./scan: error while loading shared libraries: /usr/local/lib/libmpg123.so.0: cannot restore segment prot after reloc: Permission denied
实在受不了了,网上查查,竟是selinux的问题,哎。。。
只好
chcon -t texrel_shlib_t /usr/local/lib/*.so
了,
还好最后算是过了。。。
阅读(3903) | 评论(2) | 转发(0) |