
Oracle 12c 32-bit client and direct GOT relocation R_386_GOT32 against `lxecerr’
Edit 12/09/2018
As Ivan commented below:
with binutils release 27.28 it seems to be solved.
But see the workaround below in case it’s not…
When trying to install Oracle 12c 32-bit Client (12.1 or 12.2) on Oracle Linux 7.3 or 7.5, it throws error during linking static libraries:
INFO: Start output from spawned process:
INFO: ----------------------------------
INFO:
INFO: /u01/app/oracle/product/12.2.0_client32/bin/genclntsh
INFO: /bin/ld: /u01/app/oracle/product/12.2.0_client32/lib/libnls12.a(lxecg2e.o): direct GOT relocation R_386_GOT32 against `lxecerr' without base register can not be used when making a shared object
/bin/ld: final link failed: Bad value
INFO: collect2: error: ld returned 1 exit status
INFO: genclntsh: Failed to link libclntshcore.so.12.1
INFO: make: *** [client_sharedlib] Error 1
Not very specific, I found only one reference in Oracle KM Doc ID 2246237.1.
Rootcause and resolution in there was:
REASON
SLES 12 SP2 ships with binutils 2.26 which breaks compatibility for certain shared library links.
SOLUTION
- Update binutils package to version binutils-2.26.1-9.15.1 or later.
But in fact, I do have in my server binutils-2.27-27.base.el7.x86_64 .
Workaround is to _downgrade _the binutils:
jhartman@sms.jhartman.pl:/home/jhartman$ sudo yum downgrade binutils*
Loaded plugins: ulninfo
Resolving Dependencies
--> Running transaction check
---> Package binutils.x86_64 0:2.25.1-32.base.el7_4.2 will be a downgrade
---> Package binutils.x86_64 0:2.27-27.base.el7 will be erased
---> Package binutils-devel.x86_64 0:2.25.1-32.base.el7_4.2 will be a downgrade
---> Package binutils-devel.x86_64 0:2.27-27.base.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================
Downgrading:
binutils x86_64 2.25.1-32.base.el7_4.2 ol7_latest 5.4 M
binutils-devel x86_64 2.25.1-32.base.el7_4.2 ol7_latest 845 k
Transaction SummaryAfter this, the libs can be compiled and linked:
oracle$ export ORACLE_HOME=/u01/app/oracle/product/12.2.0_client32
oracle$ /u01/app/oracle/product/12.2.0_client32/bin/genclntsh
oracle$I do believe that after finishing the installation, binutils can be upgraded again to the latest version (but not forget about this problem in case of installing the RSU).
PS: I’ve raised SR 3-17356002141 : Error when installing Oracle 32-bit client (direct GOT relocation R_386_GOT32 against `ipp_zcalloc’)