News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

How to run 32 bit simutrans on a 64 bit Ubuntu/Debian/... Linux

Started by Isaac Eiland-Hall, May 05, 2015, 10:24:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Isaac Eiland-Hall

This is my first 64bit system, and I'm not a Linux guru. Yet. :)

Downloaded nightly and a pak. Running simutrans from terminal:

Quote./simutrans: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

I do have libbz2-1.0 installed.

Some googling indicates that this can happen when trying to run a 32bit binary in 64bit Ubuntu.

I notice I can download a 64bit engine from simutrans.com; but no such option on the nightly site. Does that match what is known? So I can't run nightlies? Or anyone have any ideas? :)

isidoro

Hi, and welcome on board!

You can run 32-bit applications and 64-bit applications in a 64-bit system, but 32-bit applications won't work in a 64-bit linux out of the box, generally.

So, first locate the simutrans executable file and find out whether it is a 32-bit or 64-bit application.  You can know that running "file <name_of_the_file_you_want_to_know_about>".   If it is 64, it will say: "ELF 64-bit...".

If it is 32, you have to:

       
  • Find out if you have the 32bit support installed: dpkg --print-foreign-architectures  (it says i386 if it is)
  • If not, install it: sudo dpkg --add-architecture i386
  • Install the 32-bit libraries you need.  Some of them (the main ones) will be installed if you: sudo apt-get install g++-multilib
  • Even if you have the corresponding version of a library in 64-bit, you need the 32-bit version.  For instance, sudo apt-get install libbz2-1.0:i386
You can see the version of a library that is installed by: dpkg -l libbz2-1.0
In my case, I have the 64-bit version:
ii  libbz2-1.0:amd64 1.0.6-7       amd64         high-quality block-sorting file compre, since it says amd64.

In my case, if I want to run the 32-bit executable of ST, I would have to install the 32-bit version of the library to match the executable.

Hope it helps.

zyphlar

This is the command I ran in Ubuntu 14.04 x64 to get things working:

sudo apt-get install libbz2-1.0:i386 libsdl1.2debian:i386

railh

Compile Simutrans Extended on Ubuntu 17.04:


sudo apt-get build-dep simutrans


Get simutrans extended:
git clone https://github.com/jamespetts/simutrans-extended.git

Look for a file called "config.template", then rename it "config.default". Open config.default. Remove the # symbols in front of the following options:

BACKEND = sdl
COLOR_DEPTH = 16
OS_TYPE = linux
OPTIMISE = 1


Go into the simutrans-extended folder and compile it:
cd simutrans-extended
make

Copy the file /build/default/simutrans-extend into the simutrans folder:
cp build/default/simutrans-extended simutrans/

Add a pakset into the simutrans folder (http://bridgewater-brunel.me.uk/downloads/nightly/pakset/). Go into the simutrans folder and start the game:
cd simutrans
./simutrans-extended


prissi