`
itspace
  • 浏览: 978355 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

linux 5 x64上安装基础软件的一些错误修复

阅读更多
因项目需要,以下为linux as 5 上安装基础软件时一些错误修复,仅作备忘
1、安装zlib时出现错误
引用
su – dbra
su root
cd  /dbra/app/softs/ruby-1.8.6-p114/ext/zlib             
ruby extconf.rb --with-zlib-dir=/dbra/app/lib/zlib
make
make install

[root@bflinux zlib]# make
gcc -I. -I. -I/dbra/app/lib/ruby/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H  -DOS_CODE=OS_UNIX -I/dbra/app/lib/zlib/include  -O3 -DUSE_MMAP -fPIC -c zlib.c
gcc -shared -o zlib.so zlib.o -L'.' -L'/dbra/app/lib/ruby/lib' -Wl,-R'/dbra/app/lib/ruby/lib' -L'/dbra/app/lib/zlib/lib' -Wl,-R'/dbra/app/lib/zlib/lib' -L.  -rdynamic -Wl,-export-dynamic    -lz  -ldl -lcrypt -lm   -lc
/usr/bin/ld: /dbra/app/lib/zlib/lib/libz.a(adler32.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/dbra/app/lib/zlib/lib/libz.a: could not read symbols: Bad value
collect2: ld 返回 1
make: *** [zlib.so] 错误 1



解决办法 :
重新安装 zlib-1.2.3.tar.gz

tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure

vi Makefile
找到 CFLAGS=-O3 -DUSE_MMAP
在后面加入-fPIC,即变成CFLAGS=-O3 -DUSE_MMAP -fPIC
接下面步骤
make
make install

2、安装openssl错误
引用
su - dbra
su root
cd /dbra/app/softs/ruby-1.8.6-p114/ext/openssl  
rm -rf *.o,openssl.so,Makefile
ruby extconf.rb --with-openssl-dir=/dbra/app/lib/openssl
make
make install

ossl_asn1.c:727: 警告:传递参数 1 (属于 ‘ASN1_get_object’)时在不兼容的指针类型间转换
gcc -I. -I. -I/dbra/app/lib/ruby/lib/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/dbra/app/lib/openssl/include  -fPIC -g -O2  -c ossl_x509cert.c
gcc -I. -I. -I/dbra/app/lib/ruby/lib/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/dbra/app/lib/openssl/include  -fPIC -g -O2  -c ossl_x509req.c
gcc -I. -I. -I/dbra/app/lib/ruby/lib/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/dbra/app/lib/openssl/include  -fPIC -g -O2  -c ossl_pkey_rsa.c
gcc -I. -I. -I/dbra/app/lib/ruby/lib/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/dbra/app/lib/openssl/include  -fPIC -g -O2  -c ossl_pkey_dsa.c
ossl_pkey_dsa.c: In function ‘ossl_dsa_initialize’:
ossl_pkey_dsa.c:141: 警告:传递参数 1 (属于 ‘PEM_ASN1_read_bio’)时在不兼容的指针类型间转换
ossl_pkey_dsa.c:141: 警告:传递参数 4 (属于 ‘PEM_ASN1_read_bio’)时在不兼容的指针类型间转换
ossl_pkey_dsa.c: In function ‘ossl_dsa_to_public_key’:
ossl_pkey_dsa.c:313: 警告:传递参数 2 (属于 ‘ASN1_dup’)时在不兼容的指针类型间转换
gcc -I. -I. -I/dbra/app/lib/ruby/lib/ruby/1.8/x86_64-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -I/dbra/app/lib/openssl/include  -fPIC -g -O2  -c ossl_hmac.c
gcc -shared -o openssl.so ossl_engine.o ossl_bio.o ossl_config.o ossl_x509revoked.o ossl_bn.o ossl_cipher.o ossl_x509.o ossl_pkcs7.o ossl_x509ext.o ossl_rand.o ossl.o ossl_pkey_dh.o openssl_missing.o ossl_ssl.o ossl_x509attr.o ossl_x509name.o ossl_digest.o ossl_x509store.o ossl_pkcs12.o ossl_ns_spki.o ossl_x509crl.o ossl_ocsp.o ossl_pkey.o ossl_asn1.o ossl_x509cert.o ossl_x509req.o ossl_pkey_rsa.o ossl_pkey_dsa.o ossl_hmac.o -L'.' -L'/dbra/app/lib/ruby/lib' -Wl,-R'/dbra/app/lib/ruby/lib' -L'/dbra/app/lib/openssl/lib' -Wl,-R'/dbra/app/lib/openssl/lib' -L.  -rdynamic -Wl,-export-dynamic    -lssl -lcrypto  -ldl -lcrypt -lm   -lc
/usr/bin/ld: /dbra/app/lib/openssl/lib/libssl.a(s2_meth.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/dbra/app/lib/openssl/lib/libssl.a: could not read symbols: Bad value
collect2: ld 返回 1
make: *** [openssl.so] 错误 1


解决办法:重新编译openssl
引用
./config -fPIC --prefix=/dbra/app/lib/openssl enable-shared


3、安装oci8错误

引用
irb(main):002:0> require 'oci8'
LoadError: /oracle/app/product/10.2.0/db_1/lib/libnnz10.so: cannot restore segment prot after reloc: Permission denied - /dbra/app/lib/ruby/lib/ruby/gems/1.8/gems/ruby-oci8-1.0.2/lib/oci8lib.so
        from /dbra/app/lib/ruby/lib/ruby/gems/1.8/gems/ruby-oci8-1.0.2/lib/oci8lib.so
        from /dbra/app/lib/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /dbra/app/lib/ruby/lib/ruby/gems/1.8/gems/ruby-oci8-1.0.2/lib/oci8.rb:20
        from /dbra/app/lib/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
        from /dbra/app/lib/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
        from (irb):2



[root@bflinux dbra]# gem list

*** LOCAL GEMS ***

actionmailer (2.0.2)
actionpack (2.0.2)
activerecord (2.1.0, 2.0.2)
activerecord-oracle-adapter (1.0.0.9250)
activerecord-oracle_enhanced-adapter (1.1.8)
activeresource (2.0.2)
activesupport (2.1.0, 2.0.2)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
fastthread (1.0.1)
gem_plugin (0.2.3)
gettext (1.93.0)
hoe (1.8.2)
log4r (1.0.5)
mongrel (1.1.4)
mongrel_cluster (1.0.5)
net-sftp (2.0.1)
net-ssh (2.0.3)
rails (2.0.2)
rake (0.8.3)
ruby-oci8 (1.0.2)
ruby-prof (0.7.3)
rubyforge (1.0.1)

解决办法:
引用
[root@bflinux dbra]# vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
#SELINUX=enforcing
SELINUX=disable
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted


[root@bflinux ~]# setenforce 0


irb(main):001:0> require 'oci8'
=> true


其实在上面出现Permission denied时,也可以执行
#chcon -t texrel_shlib_t $ORACLE_HOME/lib/*.so
分享到:
评论

相关推荐

    jdk-8u162-linux-x64.tar.zip

    JDK 8u162包含了一些重要的更新和修复,比如性能优化、安全更新和错误修复。例如,这个版本可能修复了之前版本中发现的漏洞,提高了JVM(Java虚拟机)的稳定性和效率,也可能引入了一些新的API或者改进了现有API的...

    jdk-7u80-linux-x64.rpm.zip

    描述中的"jdk-7u80-linux-x64.rpm.zipjdk-7u80-linux-x64.rpm.zip"看起来可能是复制粘贴错误,因为同一个文件名重复出现了。这可能意味着原始信息有误,或者用户可能是在指两个不同的事物,但根据上下文,我们可以...

    jdk-8u311-linux-x64.tar.zip

    标题中的"jdk-8u311-linux-x64.tar.zip"表明这是一个针对Linux x64平台的Java Development Kit(JDK)版本8u311的压缩文件,且其原始格式是tar.gz,但文件名后缀错误地标记为了.zip。在实际中,".tar.gz"是一个常见...

    最新版linux jdk-15.0.2_linux-x64_bin.tar.gz

    例如,可能包括对Java语言规范的新功能支持、性能优化、安全性更新以及错误修复等。 对于Linux平台,JDK的这个64位版本是针对x86_64或AMD64架构设计的,能够充分利用64位系统的内存资源,处理更大内存需求的应用...

    jdk-8u212-linux-x64.tar.gz

    这意味着它只能在支持64位指令集的Linux系统上安装和运行。 4. **.tar.gz文件格式**:这是一种常见的Linux/Unix压缩文件格式,由.tgz或.tar.gz组合而成。它首先使用tar命令将多个文件和目录打包成一个单一的.tar...

    jdk-8u271-linux-x64.rpm

    标题“jdk-8u271-linux-x64.rpm”指的是Java Development Kit(JDK)的版本8更新271的Linux x64位安装包。这个文件是Oracle公司为Linux操作系统提供的Java运行环境和开发工具的二进制rpm(Red Hat Package Manager)...

    最新版linux jdk-11.0.12_linux-x64_bin.tar.gz

    Linux JDK 11.0.12 是Java开发工具包(Java Development Kit)的一个版本,专为Linux操作系统设计,适用于64位(x64)架构。这个版本的JDK是Oracle公司发布的,包含了编译、调试、性能优化等开发Java应用程序所需的...

    jdk11 java11 linux版 jdk-11.0.2_linux-x64_bin.tar.zip

    总的来说,"jdk-11.0.2_linux-x64_bin.tar.zip"文件代表了Java 11在Linux平台上的一个完整实现,包含了编译、调试和运行Java程序所需的所有工具。对于Linux开发者来说,它是开发现代Java应用不可或缺的基础组件。...

    jdk-7u67-linux-x64.tar包现在 linux jdk下载

    4. **解压与安装**: 在Linux中,解压`jdk-7u67-linux-x64.tar`文件通常使用以下命令: ```bash tar -zxvf jdk-7u67-linux-x64.tar ``` 这会创建一个名为`jdk1.7.0_67`(或类似)的目录,包含所有JDK文件。为了使...

    jdk-8u202-linux-x64.rar

    描述中的"jdk-8u202-linux-x64.rpm,jdk-8u202-linux-x64.rpm,jdk-8u202-linux-x64.rpm"看似重复,但可能是由于输入错误或复制粘贴的问题。通常情况下,RPM是Red Hat Package Manager的缩写,是Linux发行版如Fedora...

    jdk-8u162-linux-x64.tar

    标题中的"jdk-8u162-linux-x64.tar"是一个Java Development Kit (JDK) 的版本,针对Linux操作系统的64位架构。JDK是Oracle公司提供的一个用于开发和运行Java应用程序的重要工具集,它包含了Java编译器、Java虚拟机...

    jdk-8u231-linux-x64.tar.gz

    《深入理解JDK 8u231在Linux x64平台上的应用》 JDK(Java Development Kit)是Oracle公司发布的Java编程语言的开发工具包,是Java开发者的重要基础设施。这里的"jdk-8u231-linux-x64.tar.gz"是一个针对Linux x64...

    aspnetcore-runtime-5.0.9-linux-x64.tar.gz

    标题 "aspnetcore-runtime-5.0.9-linux-x64.tar.gz" 指的是ASP.NET Core运行时的一个特定版本,适用于Linux操作系统,并且是为64位(x64)架构编译的。ASP.NET Core是由微软开发的一个开源框架,用于构建高性能的Web...

    jmc-8.3.1_linux-x64.tar.gz

    5. **jmc-8.3.1_linux-x64**:这是解压缩后可能看到的顶层目录名,它将包含所有JMC的可执行文件、库、文档和其他相关资源。用户通常需要导航到这个目录,然后按照官方文档的指示启动JMC。 6. **使用和配置**:JMC的...

    最新版linux node-v15.0.1-linux-x64.tar.gz

    Node.js v15.0.1可能包含性能优化、错误修复、新的API接口或改进的模块。具体更新内容需要查看官方发布日志以获取详细信息。对于开发者来说,升级到最新版可以享受到更好的性能和更稳定的服务。 在Linux环境下安装...

    jdk-8u91-linux-x64.tar.gz

    5. **jdb**:Java调试器,用于查找和修复程序中的错误。 6. **jconsole**:Java可视化监控工具,显示JVM的性能数据。 7. **jvisualvm**:集成的多用途Java应用程序性能分析工具。 8. **javap**:显示类文件的字节码...

    jdk-8u131-linux-x64.tar.gz

    通过了解和掌握这些关于JDK 8u131的知识点,开发者可以有效地在Linux 64位系统上进行Java开发工作,利用其提供的工具和API来创建高效、可靠的软件应用程序。同时,保持JDK的更新对于维护系统安全和利用最新的语言...

    jdk-6u45-linux-x64.bin

    JDK 1.6是Java的一个重要版本,它引入了许多新特性、增强功能和错误修复。以下是该版本的一些关键知识点: 1. **泛型类型安全**:JDK 1.6进一步完善了泛型,提供了更强大的类型检查机制,减少运行时类型异常,增强...

    最新版linux jdk-8u301-linux-x64.tar.gz

    在Linux平台上,JDK通常以压缩包的形式分发,例如这里的"jdk-8u301-linux-x64.tar.gz"。 "8u301"代表的是Java 8的更新301(Update 301),这是一个重要的维护版本,其中包含了对之前版本的错误修复、性能优化以及...

    jdk-8u161-linux-x64.tar.gz

    标题中的"jdk-8u161-linux-x64.tar.gz"表明这是一款适用于Linux操作系统的64位Java Development Kit(JDK)的版本8更新161。JDK是Oracle公司提供的Java编程语言和Java平台标准版(Java SE)的实现,包含了编译器、...

Global site tag (gtag.js) - Google Analytics