This page gives generic instructions for compiling Object Icon on Unix-like systems.
Please note that Object Icon runs from the directory you compile it in (there is no
make install step), so please bear that in mind when choosing where you extract the tar file, or checkout the subversion repository from.
If you are using a debian-based system, the following may be helpful.
If compiling from the subversion source, rather than the tar file, you need the
To compile a text-only basic system, you need
gcc or clang make
To compile a graphics system, you also need
pkg-config libx11-dev libxrender-dev libxft-dev libjpeg-dev
For a graphics system, the package
oxygen-icon-theme is also recommended in order to provide some standard icons.
Finally, to compile the optional dynamically loaded libraries (cairo, ssl and mysql), you need
librsvg2-dev libcairo2-dev libpango1.0-dev libssl-dev libmysqlclient-dev
Use the following command to checkout a read-only copy of the source code :-
svn co svn://svn.code.sf.net/p/objecticon/code/trunk objecticon
This will create a directory
objecticon under the present directory (you can change the last parameter to create a different directory name if you want).
cd into that directory and run the command
autoconf. This will create a
Then proceed just the same as if you had downloaded the .tar.gz file, as explained below.
If you later wish to update your copy of the repository,
cd into the directory and run the following :-
svn up make clean
autoconf again, and then
configure, and then proceed as before.
Extract the source code from the .tar.gz file with a command like
tar xfz objecticon-latest.tar.gz
This will create a directory
objecticon-5195 under the current directory. The number is the subversion version number from which the .tar.gz was built, and of course may be different. You can rename this directory if you like.
Change to the new directory and run
This command accepts various options - run
to see them.
If you are using the
clang C compiler, specify this with :-
configure script prints a summary of features when it finishes. For example.
Summary:- X11 graphics : yes jpeg library : yes png library : yes zlib compression : yes dynamic loading : yes mysql lib : yes cairo lib : yes ssl lib : yes
The meaning of these various options is as follows.
mysql). Neither this option, nor the following dynamic libraries, have any effect either way on the runtime system proper.
If you later wish to run
configure again, please remember to run
make clean afterwards in order to remove any object files built under the previous configuration.
configure successfully, just run the command
to build everything. Note that GNU make is required.
make has completed successfully, you can optionally run some tests, as follows :-
Various output will follow, which should hopefully end with the message "Testing successful." If not, the problem with the failed test can be examined by comparing the expected output of a test with the actual output. For example, if the io test failed, run
cd test diff io.out io.std
to see the problem.
There is no installation stage; rather Object Icon runs from the directory it was compiled in.
Object Icon requires some environment variables to be setup correctly. To make doing this a bit easier, a file named
paths.sh is created by
configure, which contains appropriate definitions.
Include this file by adding a line like this to your
.bashrc file (or equivalent); obviously the actual path may vary, and note the dot at the beginning of the line.
If you are using bash, you can also use the
source command instead of the dot syntax; but don't try to run
paths.sh directly, since its contents must be loaded into the current shell environment.
You might also create a local copy of the auto-generated library documentation. It is not done by default because it is rather large (about 25MB). If you want this, run
This command will take a couple of minutes to run. A directory
libref is created, and contains the top-level file of the documentation,