4 Replies Latest reply: Dec 26, 2012 12:38 PM by JaydeepNandy RSS

    libcap.so.1 not found whilst running root.sh for grid infrastructure

    468439
      Whilst installing grid infrastructure I hit and running the root.sh script I got a libcap.so.1 not found. It is correct, I have v2 of libcap not v1. I've read linking libcap.so.1 to libcap.so.2 or copying it works and I can do this but can I just rerun the root.sh script again or do I have to back out what it did in some way first? Perhaps there is another way to get libcap.so.1 also?
        • 1. Re: libcap.so.1 not found whilst running root.sh for grid infrastructure
          468439
          It is probably bad form to answer your own question but:

          I copied libcap.so.2 to libcap.so.1 and ran rootcrs.pl -decong -force then reran the root.sh again.

          So that got me further.

          But then:

          Adding daemon to inittab
          CRS-4124: Oracle High Availability Services startup failed
          CRS-4000: start failed. or completed with errors
          ohasd failed to start: Inappropriate ioctl for device
          ohasd failed to start at /home/oracle.app./11.2.0/grid/crs/install/rootcrs.pl line 443
          • 2. Re: libcap.so.1 not found whilst running root.sh for grid infrastructure
            JaydeepNandy
            Hi Martin,

            Did it finally work for you? I got a fix on OEL 6.3 (x86_64) for 11.2.0.3 Grid Infra.
            This is what I did:

            1. Cleanup the failed configuration:

            # $GRID_HOME/crs/install/rootcrs.pl -deconfig -force

            2. Open one window and run this "dd" command from there:

            # dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

            Keep on running this in this terminal until "/var/tmp/.oracle/npohasd" gets created by root.sh in next step. Once created, this command will never come out.
            For example,

            [root@labrac1 grid]# dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
            dd: opening `/var/tmp/.oracle/npohasd': No such file or directory
            [root@labrac1 grid]# dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
            dd: opening `/var/tmp/.oracle/npohasd': No such file or directory
            [root@labrac1 grid]# dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
            dd: opening `/var/tmp/.oracle/npohasd': No such file or directory
            [root@labrac1 grid]# dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
            dd: opening `/var/tmp/.oracle/npohasd': No such file or directory
            [root@labrac1 grid]# dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

            <<< Command hangs here as soon as root.sh from step# 3 creates the file >>>



            3. Now, run root.sh:

            # $GRID_HOME/root.sh
            Running Oracle 11g root.sh script...
            ... ... ...
            ... ... ...
            The inventory is located at /u01/app/oraInventory
            'UpdateNodeList' was successful.

            4. Add the same command to "/etc/init.d/ohasd" script to apply this fix (dd command) to ensure smooth start of HAS across machine reboots.

            # cp /etc/init.d/ohasd /etc/init.d/ohasd.orig
            # vi /etc/init.d/ohasd

            79 $LOGERR "Oracle HA daemon is enabled for autostart."
            80 ########################################################
            81 # Fix for:
            82 # CRS-4124: Oracle High Availability Services startup failed.
            83 # CRS-4000: Command Start failed, or completed with errors.
            84 # ohasd failed to start: Inappropriate ioctl for device
            85 # ohasd failed to start at /u01/app/11.2.0/grid/crs/install/rootcrs.pl line 443.
            86 ########################################################
            87 dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1 &
            88 ######################### END: Fix #########################
            89 /u01/app/11.2.0/grid/bin/crsctl start has &

            Hope it works for others.

            Thanks.

            Edited by: Jaydeep Nandy on Nov 29, 2012 8:44 PM
            • 3. Re: libcap.so.1 not found whilst running root.sh for grid infrastructure
              924143
              Jaydeep, hi
              Thanks a lot for your suggestions, its works!!
              Could you please suggest where is the specific part in the ohasd file that fix has to be put.
              Thanks,
              Luis
              • 4. Re: libcap.so.1 not found whilst running root.sh for grid infrastructure
                JaydeepNandy
                Hi Luis,

                Sorry! I was out for a while. For me, it was near the 79th/80th line as I have shown above. That is between line:

                *$LOGERR "Oracle HA daemon is enabled for autostart."*

                and

                */u01/app/11.2.0/grid/bin/crsctl start has &*


                However, this pain is gone with 11.2.0.3 Grid Infra installation which I did very recently.

                Thanks,
                Jaydeep