path: root/Docs
diff options
authorRob Kendrick <>2008-03-21 19:22:49 +0000
committerRob Kendrick <>2008-03-21 19:22:49 +0000
commite83b3086af8c4eb157b13eabb2cd0b560f78de9b (patch)
treecb5c2a7b781b47287dc8a8f414a8d304d2950f08 /Docs
parent19c6a63174fcb1c6d20e819e5071844da8e05981 (diff)
Add instructions for building on Fedora.
svn path=/trunk/netsurf/; revision=4016
Diffstat (limited to 'Docs')
1 files changed, 21 insertions, 10 deletions
diff --git a/Docs/BUILDING-GTK b/Docs/BUILDING-GTK
index aad9355c9..76b1f02d0 100644
@@ -1,10 +1,25 @@
To build the GTK version of NetSurf on a UNIX-like platform (although it has
only been tested on Debian, Ubuntu and FreeBSD), simply run "make" once you
-have got the relevent build dependencies installed. Under a Debian-like OS,
-this should suffice:
+have got the relevent build dependencies installed. Assuming you already
+have GCC and GNU Make etc install, under a Debian-like OS, this should
- apt-get install libglade2-dev libcurl3-dev libxml2-dev libmng-dev
- apt-get install librsvg2-dev lemon re2c
+$ apt-get install libglade2-dev libcurl3-dev libxml2-dev libmng-dev
+$ apt-get install librsvg2-dev lemon re2c
+Under Fedora, something like this:
+$ yum install libglade2-devel curl-devel libxml2-devel libmng-devel
+$ yum install librsvg2-devel lcms-devel re2c
+If your distribution does not package lemon (like Fedora doesn't) then you'll
+need to download it and build it yourself. You may find it comes with the
+SQLite packages (SQLite's parser is build with lemon). If not, try this:
+$ mkdir -p /usr/local/share/lemon
+$ wget
+$ wget -O /usr/local/share/lemon/lempar.c
+$ sed -e's!lempar.c!/usr/local/share/lemon/lempar.c!' lemon.c > lem.c
+$ gcc -o /usr/local/bin/lemon lem.c
NetSurf requires at minimum GTK 2.8. Earlier versions will not work. It
also depends on Cairo for rendering, but you should have this already with
@@ -14,17 +29,13 @@ This will pull in loads of things, like all the GTK dev libraries, the PNG and
JPEG libraries, colour management libraries, zlib, OpenSSL etc that NetSurf
also depends on.
-lemon and re2c are the parser and lexer generators used to create NetSurf's CSS
-support. If you have trouble finding lemon for your platform, it forms part of
-the SQLite distribution, and consists of a single C file and a single runtime
-data file, and is trivial to build yourself.
Type "make". Currently, this produces a huge number of warnings, mostly due to
confused signedness. These haven't been fixed yet but are mostly harmless.
+Feel free to fix them and submit a patch.
Once built, NetSurf can be run by executing the shell script called "netsurf".
This script sets up some environment variables, which enables the NetSurf
binary to find its resources, making it easy to run the nsgtk binary from the
build tree. If you're packaging NetSurf, you can edit the RESPATH macro near
the top of gtk/gtk_gui.c to point at a directory to search, removing much of
-the need for this starter shell script.
+the need for this starter shell script (and the security implications it has).