Saturday, 31 July 2010

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

Lsnrctl File Zero Bytes After Upgrade To 10.2.0.4.0

Applying 10.2.0.4.0 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/libcrypt.so.1: 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 10.2.0.4 patchset and ignore this relink error
2. Take a backup of the file $ORACLE_HOME/network/lib/env_network.mk

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

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

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

from
        TNSLSNR_LINKLINE+=$(SYSLIBS)
to
        TNSLSNR_LINKLINE+=$(SYSLIBS) $(LLIBCRYPT)

Regenerate the lsnrctl file using the following procedure

$cd $ORACLE_HOME/network/lib
$make -f ins_net_server.mk ilsnrctl

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


Cheers!!!
SocialTwist Tell-a-Friend

Related Posts by Categories



No comments: