How to run simnow on Debian/Woody

Intro

What is this simnow? If you don't know then why are you here? You should be there:

http://www.x86-64.org/downloads

This document will list the quick steps that I followed to get the free (as in beer) x86-64 simulator compiled for RedHat 6.2 on Debian/Woody. Because of the library differences this is not extremely trivial as just installing the rpm on your Woody box... as I initially hoped.

Before you do this, I just want to say that the package bochs has support for x86-64 as well -- at least in Debian/Sid. At the time of writing this page I have not yet tried it and so I cannot comment on it.

Install simnow

The simulator is a proprietary piece of software given to you for free if you agree to the agreement listed on this page:

http://www.x86-64.org/simulator_folder/license

Now that you have signed your soul over to AMD, download the simnow-1-1-redhat.i386.rpm file from the page that is revealed to you.

The next step is to convert the (evil) .rpm into a (broken) .deb package. We do this by running alien:

alien --to-deb simnow-1-1-redhat.i386.rpm

The resulting simnow_1-2_i386.deb looks and feels like a .deb, but as I have already said it's broken -- there are no dependencies. None the less we want to install it:

dpkg -i simnow_1-2_i386.deb

And now you have simnow installed... this is good. But it does not run... that is bad.

Getting the missing libraries

We are basically missing three libraries that came with RedHat 6.2 but are not present, or available to, Woody. These are:

The simple solution would be to get the rpms that contain these and just install them as alien conversions... I don't recommend that since the files that come with the rpms would clash with your Debian files and cause major havoc.

The other, and may I say "much more kludgey", solution is to rip out the missing libraries from the rpms and put them into some temporary location in /usr/local/.

Yes, this is the place when you go "Yuck!".

Now that you have gotten over that... let's continue. You will have to download the following rpms:

wget ftp://rpmfind.net/linux/redhat/6.2/en/os/i386/RedHat/RPMS/kdelibs-1.1.2-15.i386.rpm
wget ftp://rpmfind.net/linux/redhat/6.2/en/os/i386/RedHat/RPMS/qt1x-1.45-3.i386.rpm
wget ftp://rpmfind.net/linux/redhat/6.2/en/os/i386/RedHat/RPMS/libstdc++-2.9.0-30.i386.rpm
Then you will convert them into 'tgz' files for eazy access:
alien --to-tgz kdelibs-1.1.2-15.i386.rpm
alien --to-tgz qt1x-1.45-3.i386.rpm
alien --to-tgz libstdc++-2.9.0-30.i386.rpm
Now, in some empty temporary dir, untar the files so we can get access at the libraries...
tar xzf kdelibs-1.1.2.tgz  
tar xzf qt1x-1.45.tgz
tar xzf libstdc++-2.9.0.tgz

Next, we move the libraries into a place where you can access them. I decided to move them into /usr/local/lib/redhat.

mkdir /usr/local/lib/redhat
find usr/lib/ -name 'lib*' -type f -exec mv {} /usr/local/lib/redhat \;
echo /usr/local/lib/redhat >> /etc/ld.so.conf
ldconfig

At this point you can delete all the files that came from the tarballs since we no longer need them.

Run something

Here is how to run something...

simnow /usr/local/share/simnow/images/snippet.bsd

It should bring up two windows, to find out more about what they do and what you can do with simnow, read the documentation. It's all part of the simnow_1-2.deb you installed earlier.




Bart Trojanowski
http://www.jukie.net/~bart
bart@jukie.net