Wednesday, November 28, 2012

amsfo - /lib/ bad ELF interpreter

I am in customer's site supporting their load-testing activity this week.

Prior to the load-test, I made a round of checking to make sure all instances of OpenAM are functioning properly. The dependent components were checked as well, including Sun GlassFish(tm) Message Queue 4.4.

Not good, one of the nodes are showing the following errors when I stopped and restarted:

[webadm@node4 ~]$ bin/tools/amsfo/sfo/bin/amsfo start

/home/ssoadm/bin/tools/amsfo/jmq/imq/bin/imqbrokerd: /usr/java/latest/bin/java: /lib/ bad ELF interpreter: No such file or directory
/home/ssoadm/bin/tools/amsfo/jmq/imq/bin/imqbrokerd: /usr/java/latest/bin/java: /lib/ bad ELF interpreter: No such file or directory

A Google search indicated that this is an issue with the installation of JRE 1.7. Read here.

Seemed to me the Unix administrator had done something without informing me while I was back home in Singapore. :-|

I was lazy to argue though as I wanted OpenAM and related components to be run as independently as possible, so that any system-related patching/upgrading (without informing/discussing with me) will not impact the continuous service of OpenAM to end-users.

There are 2 basis things to do:

I went ahead to install my own JDK in a specific directory /apps/bin/jdk1.6.0_31 and created a symbolic link /apps/bin/jdk.

1. Edit .bash_profile

[webadm@node4 ~]$ vi .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc

# User specific environment and startup programs



2. Edit amsfo

[webadm@node4 ~]$ vi bin/tools/amsfo/sfo/bin/amsfo

BROKER_OPTIONS="-silent -javahome /apps/bin/jdk"

That's it!


No comments:

Post a Comment