Having installed ec2-api-tools under my lucid dev environment I was trying to shut ec2 instances down with ec2stop [instance_id] and I was getting the following exception:
$ ec2stop i-XXXXXXXX
Unexpected error:
java.net.SocketException: Invalid argument or cannot assign requested address
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
----- snip ------
I found to enable ec2-api-tools commands to work it's necessary to switch over to using the sun jre.
Note: In lucid open-jdk is the default java and sun-java6-jre is now found in the partner repos.
You can do this if you have the sun-java6-jre package with the following:
sudo update-alternatives --config java
And select the correct version interactively.
Should you need to add the Lucid partner repo you can use the following:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"