Compiling Io on Ubuntu 8.10
January 4th, 2009 Posted in englishCompiling Io on Ubuntu is really easy but getting all addons to work properly is a different story.
The following steps are needed:
- install all needed libraries for Io
- compile and install libevent-1.4.8
- compile and install libsgml-1.1.4
- compile and install Io
Install all needed libraries
The following packages are needed to be installed. Some are optional and some aren’t. I suggest to install all of them.
- build-essential
- checkinstall
- libavformat-dev
- libgmp3-dev
- libcairo2-dev
- libncurses5-dev
- libdbi0-dev
- libfreetype6-dev
- libgl1-mesa-dev
- libglfw-dev, zlib1g-dev
- libpng12-dev
- libtiff4-dev
- libjpeg62-dev
- libsndfile1-dev
- libxml2-dev
- libmysqlclient15-dev
- libode0-dev
- libgnustep-gui-dev
- libqdbm-dev
- libglu1-mesa-dev
- libglut3-dev
- libportaudio-dev
- libpq-dev
- python2.5-dev
- libreadline5-dev
- libpcre3-dev
- libsqlite0-dev
- libsqlite3-dev
- libsamplerate0-dev
- libssl-dev
- libstdc++6
- libsoundtouch1-dev
- uuid-dev
- libedit-dev
sudo apt-get install build-essential checkinstall libavformat-dev libgmp3-dev libcairo2-dev libncurses5-dev libdbi0-dev libfreetype6-dev libgl1-mesa-dev libglfw-dev zlib1g-dev libpng12-dev libtiff4-dev libjpeg62-dev libsndfile1-dev libxml2-dev libmysqlclient15-dev libode0-dev libgnustep-gui-dev libqdbm-dev libglu1-mesa-dev libglut3-dev libportaudio-dev libpq-dev python2.5-dev libreadline5-dev libpcre3-dev libsqlite0-dev libsqlite3-dev libsamplerate0-dev libssl-dev libstdc++6 libsoundtouch1-dev libtokyocabinet-dev uuid-dev libedit-devCompile libevent 1.4.8
- Download libevent-1.4.8-stable.tar.gz
- gzip -d libevent-1.4.8-stable.tar.gz && tar -xf libevent-1.4.8-stable.tar && rm libevent-1.4.8-stable.tar
- cd libevent*
- ./configure –prefix=/usr
- make
- sudo checkinstall -D
In the checkinstall press “2″ to change the name to just “libevent” and then press “3″ to change the version to “1.4.8″ because its default value with this package is “stable” which is wrong because checkinstall won’t create a *.deb because the package name will be invalid. Press “3″ in the checkinstall menu and enter “1.4.8″. Enter again and the deb should be build.
Compile libsgml-1.1.4
- Download libsgml-1.1.4.tar.gz
- gzip -d libsgml-1.1.4.tar.gz && tar -xf libsgml-1.1.4.tar && rm libsgml-1.1.4.tar
- cd libsgml*
- ./configure
Now you have to edit the “Makefile” in the root directory of libsgml* so that it looks like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | all: cd src && make cd examples && make install: mkdir -p /usr/include/sgml install -o root -g root --directory /usr/include/sgml install -m 644 -o root -g root include/Variant.h /usr/include/sgml/Variant.h install -m 644 -o root -g root include/DomComment.h /usr/include/sgml/DomComment.h install -m 644 -o root -g root include/DomDocument.h /usr/include/sgml/DomDocument.h install -m 644 -o root -g root include/DomElement.h /usr/include/sgml/DomElement.h install -m 644 -o root -g root include/DomNode.h /usr/include/sgml/DomNode.h install -m 644 -o root -g root include/DomNodeList.h /usr/include/sgml/DomNodeList.h install -m 644 -o root -g root include/DomText.h /usr/include/sgml/DomText.h install -m 644 -o root -g root include/SgmlParser.h /usr/include/sgml/SgmlParser.h install -m 644 -o root -g root include/SgmlExtensionHtml.h /usr/include/sgml/SgmlExtensionHtml.h install -m 644 -o root -g root include/SgmlExtensionXml.h /usr/include/sgml/SgmlExtensionXml.h install -m 644 -o root -g root include/libsgml.h /usr/include/sgml/libsgml.h install -m 644 -o root -g root libsgml.a /usr/lib/libsgml.a install -m 644 -o root -g root libsgml.so /usr/lib/libsgml.so ln -s /usr/include/sgml /usr/include/libsgml-1.1.4 uninstall: rm -rf /usr/include/sgml /usr/lib/libsgml.a /usr/lib/libsgml.so clean: cd src && make clean cd examples && make clean distclean: cd src && make distclean cd examples && make distclean rm -f config.* Makefile |
In ./src there is another “Makefile” and it has a line that looks like this:
CFLAGS=${DEBUG} ${INCLUDE} -Wall -O3Change it to:
CFLAGS=${DEBUG} ${INCLUDE} -Wall -O3 -fPICNow go back to the root directory of “libsgml*”: cd ..
And execute the following:
- make
- sudo checkinstall -D
Compile Io
Now it’s time to compile Io.
- Download Io
- untar it and cd to its directory
- edit “Makefile” and change the INSTALL_PREFIX in the first line to “/usr”
- make
- sudo checkinstall -D –requires “libavformat-dev, libgmp3-dev, libcairo2-dev, libncurses5-dev, libdbi0-dev, libfreetype6-dev, libgl1-mesa-dev, libglfw-dev, zlib1g-dev, libpng12-dev, libtiff4-dev, libjpeg62-dev, libsndfile1-dev, libxml2-dev, libmysqlclient15-dev, libode0-dev, libgnustep-gui-dev, libqdbm-dev, libglu1-mesa-dev, libglut3-dev, libportaudio-dev, libpq-dev, python2.5-dev, libreadline5-dev, libpcre3-dev, libsqlite0-dev, libsqlite3-dev, libsamplerate0-dev, libssl-dev, libstdc++6, libsoundtouch1-dev, libtokyocabinet-dev, uuid-dev, libedit-dev” –fstrans=no
That should be it! Now just type “io” in your shell to see if “io” has been successfully installed.
–
Kind regards,
Andreas Schipplock.
