Saturday, 31 July 2010

Relinking TNSLSNR fails - undefined reference to `snprintf@GLIBC_2.4'

Lsnrctl File Zero Bytes After Upgrade To

Applying PATCHSET gives the following error :-

During the relink phase for tnslsnr executable you are receiving the bellow error:

INFO: gcc -m64 -o tnslsnr -L/opt/oracle/product/10.2/db/network/lib/ -L/opt/oracle/product/10.2/db/lib/ -L/opt/oracle/product/10.2/db/lib//stubs /opt/oracle/product/10.2/db/network/lib/s0nsgl.o /opt/oracle/product/10.2/d..... /opt/oracle/product/10.2/db/lib/sysliblist`

INFO: /lib64/ undefined reference to `snprintf@GLIBC_2.4'
collect2: ld returned 1 exit status

INFO: make: *** [tnslsnr] Error 1

Solution to this problem is that
1. Install the Oracle patchset and ignore this relink error
2. Take a backup of the file $ORACLE_HOME/network/lib/

$ cp $ORACLE_HOME/network/lib/ $ORACLE_HOME/network/lib/ open for edit the file $ORACLE_HOME/network/lib/ and identify the following line:

4. add above the line TNSLSNR_LINKLINE+=$(SYSLIBS) the following entry:

LLIBCRYPT = -lcrypt 5. modify the entry TNSLSNR_LINKLINE+=$(SYSLIBS) as bellow:


Regenerate the lsnrctl file using the following procedure

$cd $ORACLE_HOME/network/lib
$make -f ilsnrctl

$cd $ORACLE_HOME/bin
$ls -la lsnrctl Make sure that lsnrclt file is regenerated.

SocialTwist Tell-a-Friend

Related Posts by Categories

No comments: