Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    RHEL 7 (CentOS 7) - Rosetta do not start after server reboot / startup

    • Product: Rosetta
    • Product Version: 5.1+

    Symptoms

    • With RHEL 7 (CentOS 7), Rosetta do not start following server reboot / startup.
    • Running 'systemctl start exlibris.service' might shows:
      >> systemctl start exlibris.service
      ...

      Job for exlibris.service failed because the control process exited with error code.
      See "systemctl status exlibris.service" and "journalctl -xe" for details.
      ...
    • Running 'systemctl status exlibris.service' might shows:

      >> systemctl status exlibris.service

      exlibris.service - LSB: Startup ExLibris products + oracle
      Loaded: loaded (/etc/rc.d/init.d/exlibris; bad; vendor preset: disabled)
      Active: failed (Result: exit-code) since ...
      Docs: man:systemd-sysv-generator(8)
      Process: 55522 ExecStart=/etc/rc.d/init.d/exlibris start (code=exited,status=203/EXEC)

      ...
      systemd[1]: exlibris.service: control process exited, code=exited status=1
      systemd[1]: Failed to start LSB: Startup ExLibris products + oracle.

      systemd[1]: Unit exlibris.service entered failed state.

      systemd[1]: exlibris.service failed.

    Cause

    Startup mechanism in RHEL/CentOS 7 was changed, causing current '/etc/rc.d/init.d/exlibris' startup script to fail.

    Resolution

    1. SSH as 'root' user.

    2. Backup '/etc/rc.d/init.d/exlibris'.

    3. Replace '/etc/rc.d/init.d/exlibris' content with the following:

    #!/bin/bash
    #
    # Exlibris Starts ExLibris products
    #
    #
    ### BEGIN INIT INFO
    # chkconfig: 2345 98 10
    # description: Startup ExLibris products + oracle
    # Provides: $exlibris
    # Required-Start: $local_fs $network $remote_fs
    ### END INIT INFO
    
    i=0
    while [ $i -lt 10 ]
    do
        if [ -d /exlibris/startup/ ] ; then
            cd /exlibris/startup/
            break
        else
            echo "waiting for mount"
            sleep 10
        fi
        i=$[$i+1]
    done
    
    if [ ! -d /exlibris/startup/ ] ; then
        echo "/exlibris/startup not found"
        exit 1
    fi
    cd /exlibris/startup
    case "$1" in
    'start')
        ./start_stop start
        [[ -d /var/lock/subsys ]] && touch /var/lock/subsys/exlibris
        # Start the Microfocus development license manager
        if [[ -x /etc/mflmrcscript ]] ; then
            /etc/mflmrcscript
        fi
        ;;
    'stop')
        if [ -f fast_shutdown ] ; then
            csh -f fast_shutdown
        else
            ./start_stop stop
        fi
        if [[ -x /opt/microfocus/mflmf/lmfgetpv ]] ; then
            /opt/microfocus/mflmf/lmfgetpv k
        fi
        rm -f /var/lock/subsys/exlibris
    ;;
    esac
    
    

    4. Make sure to replace any '\r\n' with '\n' for 'exlibris' script:

    perl -i -pe 's/\r\n/\n/' /etc/rc.d/init.d/exlibris

    5. Grant 'exlibris' script the correct ownership ('root:root') and enough permissions (755):

    chown root:root /etc/rc.d/init.d/exlibris
    chmod 755 /etc/rc.d/init.d/exlibris

    6. Stop then start Rosetta startup service:

    systemctl stop exlibris.service
    systemctl start exlibris.service

    7. Repeat steps 1 - 6 for any other affected application server in the environment.

     


    • Article last edited: 6-Jul-2021
    • Was this article helpful?