编译程序遇到问题  relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; 发现编译的程序引用的一个库(.a文件)是直接用./configure 编译的, 64位机器不能直接./configure 进行配置,需要采用如下方式 CFLAGS="-O3 -fPIC" ./configure make make install…
具体报错截图如下: 解决方法: 题外话,我对makefill cmake也是一窍不通因此本人也是不想去积极的解决这个问题,但是当你求助无缘的时候你才会静心去思考.读到这句话的时候也许你已经发现了问题所在了 问题所在: zlib设置问题 解决方案: 1.最好重新安装zlib 2.打开配置文件 3.修改配置文件 SFLAGS=${CFLAGS-"-O3 -fPIC"} 完成.…
glfag编译成动态库gflags 正确的安装方法是这样的: Need cmake >2.8.4 (current is 2.8.3) mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=google -G "Unix Makefiles" ../ make sudo make install sudo ldconfig 有网:…
编译动态库时遇到如下错误: ... ... relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC ... could not read symbols: Bad value 解决办法编译器已经提示了:recompile with -fPIC 但是我们应该重新编译谁带上这个参数呢? 答案是:在编译.o文件的时候,而不是在编译生…
当make编译出现错误 usr/bin/ld: /data/app/openssl/lib/libcrypto.a(ecs_asn1.o): relocation R_X86_64_PC32 against symbol `ECDSA_SIG_it' can not be used when making a shared object; recompile with -fPIC 重新配置一下openssl 配置 ./config -fPIC 编译 make 安装 make install 然后…
Linux中的动态库和静态库(.a/.la/.so/.o) Linux中的动态库和静态库(.a/.la/.so/.o) C/C++程序编译的过程 .o文件(目标文件) 创建atoi.o 使用atoi.o .a文件(静态库文件) 创建atoi.a 使用atoi.a .so文件(共享库文件) 创建atoi.so 使用atoi.so .la文件(libtool archive) libtool的使用 1. 创建 Libtool 对象文件 2. 创建 Libtool 库 3. 安装 Libtool 库…
0x01  JDK和Tomcat安装 到oracle官网下载jdk,当前下载的版本是Linux x64 jdk-8u101-linux-x64.tar.gz 到apache官网下载tomcat,当前最新版本 Tomcat 8.5.4 Released jdk和apache的安装都十分简单(这里不是采用源码编译,就像在windows上使用绿色软件那么方便),将下载的文件解压即可使用,然后引入几个环境变量就算是完成了.tomcat是使用java开发的,所以依赖于jdk.使用下面两个命令可以检测安装后…
http://www.cnblogs.com/zxglive2006/archive/2012/01/15/2323110.html   先用eclipse 创建 Java Project; 然后直接在项目中添加Prompt.java文件,放在default package下(最好不要添加包,否则容易出错).   1. 编写Java文件,在其中声明native方法, 并通过static 语句块加载动态链接库,示例Prompt.java代码如下: class Prompt {     privat…
C语言库的创建和调用 简介: 假如,你有一个庞大的工程,代码量达到数百兆甚至是数G,你经常会遇到好多重复或常用的地方.每次使用到这些地方时如果都重新写一份基本相同的代码,这当然可以,不过这样会大大地降低工作效率,而且影响代码的可读性.更不好的是日后的修改工作会使你变得非常的繁琐,这样很不利于后期的维护.如果把这些相同的功能代码分别以模块的形式存放起来,把他们编译成库,使用时直接调用他们的库,这样直接使用起来非常的方便,更有利于代码的维护和升级. 库的概念: 库是由源代码编译出来的,是对一组源文件…
基于 psql (PostgreSQL) 10.4 pg_language表定义了函数实现所使用的语言.主要支持了C语言和SQL语句.一些可选的语言包括pl/pgsql.tcl和perl. ligang=# select lanname, lanispl, lanpltrusted, lanplcallfoid, laninline, lanvalidator from pg_language; lanname | lanispl | lanpltrusted | lanplcallfoid |…
#paxos的一般编译流程在项目文档<中文详细编译手册>里面已经有介绍,这里重点介绍一下编译samples目录下的代码: #我的环境是ubuntu; #设置paxos根目录 phx_dir=~/code/tencent/phxpaxos/ #编译leveldb cd $phx_dir/third_party/leveldb make mkdir lib cd lib ln -s ../libleveldb.a libleveldb.a #编译protobuf cd $phx_dir/third…
前言 mongocxx官网地址 http://mongocxx.org/?jmp=docs 本文的安装版本是:mongocxx-r3.2.0.tar.gz . 参考文档安装过程http://mongocxx.org/mongocxx-v3/installation/.根据文档过程安装,由于系统不一致,可能会遇到各种问题,笔者就一路坎坷. Linux系统信息:Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64…
在生成动态库时,常常习惯性的加上fPIC选项,fPIC有什么作用和意义,加不加有什么区别,这里做下小结: fPIC的全称是 Position Independent Code, 用于生成位置无关代码.什么是位置无关代码,个人理解是代码无绝对跳转,跳转都为相对跳转. 1.不加fPIC选项 即使不加fPIC也可以生成.so文件,但是对于源文件有要求,例如 因为不加fPIC编译的so必须要在加载到用户程序的地址空间时重定向所有表目,所以在它里面不能引用其它地方的代码 如下: #include <std…
1. cd /mnt tar zxvf httpd-2.4.10.tar.gz ./configure --prefix=/mnt/apache2 --enable-dav --enable-modules=so APR version or later 解决方案:安装APR与APR-utils   909tar zxvf apr-1.5.1.tar.gz   910  cd apr-1.5.1  911  ./configure   912  make  913  make install -…
在平常的项目中,我们都是使用公司要求的makefile.makedebug一类的文件,因此,在编译.链接.生成和链接动态库与静态库的时候,我们只是简单的使用一些已经设置的变量,只是简单的修改.添加一些文件名,或许这次我们编译通过了,但是,在某一个时候,可能出现了一个问题,无论简单与否,因为平常没有留意,导致的结果可能是花了好长时间才能解决.而如果平常只是简单的留一下心,或许这些问题都是可以避免的. 因此,今天我自己使用几个文件,编译动态库.静态库以及动态库和静态库的嵌套调用等问题,尽量还原我在项…
1.git clone tensorflow serving 及tensorflow代码 2. ERROR: /root/.cache/bazel/_bazel_root/f71d782da17fd83c84ed6253a342a306/external/local_config_cuda/crosstool/BUILD::: Traceback (most recent call last): File error_gpu_disabled() File , in error_gpu_disa…
wget http://downloads.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.gz tar -zvxf zbar-0.10.tar.gzsudo apt-get install python-gtk2-devsudo apt-get install libqt4-devexport CFLAGS="-fPIC"     #这句话很关键,不然会出现这种错误:relocation R_X86_64_32 against…
ubuntu下编译VLC 标签(空格分隔): ubuntu vlc 视频 编译 [TOC] 1.下载VLC源码包并解压 VLC的源码包在VLC的官网有,可以直接下载.也可以使用git来clone一个. git的地址git clone git://git.videolan.org/vlc.git 源码包地址 http://get.videolan.org/vlc/2.2.0/vlc-2.2.0.tar.xz 下载和解压 xz压缩的档案包使用J参数来解压 wget http://get.videol…
此文转载必须注明原文地址,请尊重作者的劳动成果!  http://www.cnblogs.com/lyongerr/p/5040071.html 目录 文档控制... 2 1 mcrouter简介... 6 2 mcrouter特性... 6 3 mcrouter编译过程... 6 3.1 编译环境.. 6 3.2 配置epel源.. 7 3.3 安装编译环境.. 7 3.4 编译gcc4.9. 7 3.4.1 编译gmp. 7 3.4.2 编译mpfr 7 3.4.3 编译mpc. 8 3.4…
合并openjpeg/soxr/vidstab/snappy等多个cmake库时,为了解决下述问题: relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC分别验证过以下二种方法 第一种 (笔者所采用的,因需修改原始CMakeLists.txt文件,感觉不太方便,非常希望能在cmake命令参数中处理) add_compile_options(-…
在2014新年伊始,增买了一台阿里云服务器,装的系统是CentOS 6.3 64位,装完Erlang后,出现了下面的情况: ./configure --without-javac --with-ssl=/usr/local/ssl --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll make make install Eshell V5.10.4 (abort with ^G) 1> crypto:st…
不知道大家有没有遇到在  X64 RedHat5 或者 RedHat4 下.编译安装PHP环境的时候. 安装了libxml,zlib,jpeg,libpng,freetype,libart_lgpl,gettext...  到编译 GD 库的时候出错. configure 的参数是 ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ --with-png=/usr/local/libpng2/ --with-jpeg…
缘起 luaL_setfuncs 这个函数可以注册c函数到lua,另外还可以设置闭包函数使用的变量upvalue. 我没有用过,在 云风的skynet 才第一次见过,于是写个例子实际使用以下. 函数原型: void luaL_setfuncs (lua_State L, const luaL_Reg l, int nup); 文档定义: Registers all functions in the array l (see luaL_Reg) into the table on the top…
操作系统:Linux wiki 2.6.32-131.0.15.el6.x86_64 nginx版本: nginx-1.5.7 uwsgi版本:uwsgi-2.0.8 大致流程参考:http://www.linuxyw.com/353.html (官方文档:http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html) 下面主要介绍安装过程中出现的几个问题 1. uwsgi安装中,由于openssl 源码升…
重新安装opencv3.4.0 参考安装博客: opencv 安装版本测试:pkg-config --modversion opencv https://blog.csdn.net/cocoaqin/article/details/78163171 卸载opencv的方式:进入opencv源码build目录 make uninstall cd .. sudo rm -r build sudo rm -r /usr/local/include/opencv2 /usr/local/include/…
公司以opus开源库.因此,我们遇到了一些问题. 我将新下载的opus1.1替换掉老版本号之后,单独编译opus没问题.但是编译相关的文件就会报错. 错误信息例如以下: g++ -Wall -fPIC -shared libusc_jni.o libusc.a ../api/libopus.a ../api/libspeex.a ../api/libamrnb.a ../api/libpcre.a -o libusc_jni.so -L. -lusc /usr/bin/ld: ../api/li…
不知道大家有没有遇到在  X64 RedHat5 或者 RedHat4 下.编译安装PHP环境的时候. 安装了libxml,zlib,jpeg,libpng,freetype,libart_lgpl,gettext...  到编译 GD 库的时候出错. configure 的参数是 ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ --with-png=/usr/local/libpng2/ --with-jpeg…
root# cmake .. No problem. root# make [ 63%] Linking CXX shared module collisionperceptor.so/usr/bin/ld: /usr/local/lib/libode.a(ode.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC…
本文记录了Ubuntu 14.04下使用源码手动安装OpenCV 3.0的过程.此外记录了在Python中安装及载入OpenCV的方法. 1.安装OpenCV所需的库(编译器.必须库.可选库) GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including headers (libgtk2.0-dev) pkg-config Python 2.6 or later and Numpy 1.5 or later wit…
最新版本的tesseract-ocr 3.0.4 需要运行于python2.7版本以上,因此需要升级系统中默认的2.6版本python及Mod_WSGI 1,下载安装Python-2.7.10 >.tar6.xz >cd Python- # 这里,必须用–enable-shared,生成动态库,否则会遇到wsgi不能编译的问题. >./configure --enable-shared >make && make install#替换原来的默认python>m…