~ubuntu-branches/ubuntu/precise/ipe/precise

« back to all changes in this revision

Viewing changes to install.txt

  • Committer: Bazaar Package Importer
  • Author(s): Steve M. Robbins
  • Date: 2004-06-08 00:44:02 UTC
  • Revision ID: james.westby@ubuntu.com-20040608004402-72yu51xlh7vt6p9m
Tags: upstream-6.0pre16
ImportĀ upstreamĀ versionĀ 6.0pre16

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--------------------------------------------------------------------
 
2
            Building and installing Ipe on Unix
 
3
--------------------------------------------------------------------
 
4
 
 
5
Required components
 
6
-------------------
 
7
 
 
8
Before you can compile Ipe, you will need to have the following tools
 
9
and libraries:
 
10
 
 
11
 * The Qt toolkit
 
12
 
 
13
   If you are using Linux, you probably already have Qt installed.
 
14
   You need to have version 2.3.0 or higher (Ipe does not need any of
 
15
   the new features of Qt 3, but compiles fine under Qt 3).  Make sure
 
16
   you not only have the runtime libraries but the development package
 
17
   as well.
 
18
 
 
19
   Check your system for the correct setting of the QTDIR environment
 
20
   variable.  In a standard Qt setup, all Qt components such as
 
21
   include files and the libraries are under $QTDIR.  Note that many
 
22
   Linux distributions (such as Debian) install the Qt include files
 
23
   and libraries in /usr/include and /usr/lib.  Nevertheless, you need
 
24
   to set QTDIR! (On Debian, the correct setting is "/usr/share/qt3" -
 
25
   this directory contains symbolic links pointing to "/usr/include"
 
26
   etc.)  Once things have been set up properly, typing "ls
 
27
   $QTDIR/include" must display the Qt include files.
 
28
 
 
29
   If you don't have Qt, get the sources for the most recent Qt 3
 
30
   version from www.trolltech.com and install them following the
 
31
   instructions.
 
32
 
 
33
   The Ipe build process relies on "qmake", a Makefile-generation tool
 
34
   that is part of Qt 3.  If you are using Qt 2, you'll have to
 
35
   install qmake separately (tmake is NOT supported!).  You can try
 
36
   the package "http://ipe.compgeom.org/qmake-backport.tar.gz", a
 
37
   backport of qmake for Qt 2.3 made by the Opie people
 
38
   (www.opie.org).  On Linux, this backport should compile by saying
 
39
   "make" only.  Before running qmake, you'll need to set the
 
40
   environment variable QMAKESPEC to the "mkspecs/linux-g++" directory
 
41
   (depending on where you unpacked qmake):
 
42
 
 
43
            export QMAKESPEC="~/qmake/mkspecs/linux-g++"
 
44
 
 
45
   I'm currently building with Qt 2.3.0 on Windows and Qt 3.1.1 on
 
46
   Linux.
 
47
 
 
48
 * The compression library 'zlib'
 
49
 
 
50
   Very likely you already have it on your system (check for the
 
51
   include file "zlib.h").  If not, obtain it from "www.gzip.org/zlib"
 
52
   and install it.
 
53
 
 
54
 * The font library 'Freetype 2'
 
55
 
 
56
   On Linux, you most likely already have this on your system.
 
57
   Otherwise, you can probably install it as a binary package.  If
 
58
   not, install from the sources at "www.freetype.org".
 
59
 
 
60
   Make sure your version of Freetype is at least 2.0.8.  Ipe will not
 
61
   compile with earlier versions.  Also, Freetype versions 2.1.6 to
 
62
   2.1.7 contain a bug that stops Ipe from working.  Freetype 2.1.8rc1
 
63
   has been reported to work fine.
 
64
 
 
65
   Freetype can be one of the problematic parts of installing Ipe.  If
 
66
   compiling Ipe is successfull, but when running it, only empty boxes
 
67
   are displayed instead of text, you very probably have a problem
 
68
   with Freetype.  If you compile a new version of Freetype for Ipe,
 
69
   be careful that Ipe uses header files and library from the same
 
70
   version.  Ipe detects when header files and libary version do not
 
71
   match and will tell you as soon as it tries to display any text.
 
72
 
 
73
 * The 14 standard Postscript fonts
 
74
 
 
75
   If you create text objects using the 14 standard Postscript fonts
 
76
   (Times, Helvetica, Courier) the font doesn't need to be embedded in
 
77
   the PDF file. Still, Ipe needs access to the font to display it on
 
78
   the screen, and that's why you need to provide these 14 font files.
 
79
 
 
80
   The fonts are probably already on your system, for instance in
 
81
   subdirectories of "/usr/share/texmf/fonts/type1/urw", under the
 
82
   names
 
83
   
 
84
   ucrb8a.pfb ucrbo8a.pfb ucrr8a.pfb ucrro8a.pfb uhvb8a.pfb
 
85
   uhvbo8a.pfb uhvr8a.pfb uhvro8a.pfb usyr.pfb utmb8a.pfb utmbi8a.pfb
 
86
   utmr8a.pfb utmri8a.pfb uzdr.pfb
 
87
 
 
88
   Identical fonts may also be in "/usr/X11R6/lib/X11/fonts/Type1",
 
89
   "/usr/share/libwmf/fonts", or "/usr/share/ghostscript/fonts" (even
 
90
   multiple times), but then probably under the following names:
 
91
 
 
92
   n019003l.pfb n019004l.pfb n019023l.pfb n019024l.pfb n021003l.pfb
 
93
   n021004l.pfb n021023l.pfb n021024l.pfb n022003l.pfb n022004l.pfb
 
94
   n022023l.pfb n022024l.pfb s050000l.pfb d050000l.pfb
 
95
 
 
96
   Your system may have a fontmap file describing all the fonts on the
 
97
   system in XML-format, similar to the supplied file
 
98
   "tetex-fontmap.xml".  If so, Ipe can directly read this file and
 
99
   find the fonts, and all you need to do is to provide the path to
 
100
   the fontmap.
 
101
 
 
102
   If not, the supplied "tetex-fontmap.xml" may already be correct, if
 
103
   you have a standard teTeX installation (most Linux distributions
 
104
   do).  If not, you can check for the location of the necessary
 
105
   files, and create your own fontmap.  If you use relative paths in
 
106
   the fontmap, they are interpreted relative to IPEDATADIR (see
 
107
   below).
 
108
 
 
109
   Finally, you can take the path of least resistance, and download
 
110
   "urw-fonts.zip" from the same place where you got Ipe.  The
 
111
   supplied "urw-fontmap.xml" works for these fonts unchanged.
 
112
 
 
113
 * 'Pdflatex'
 
114
 
 
115
   Ipe uses Pdflatex, a PDF-producing version of Latex, to convert
 
116
   Latex source code to Postscript/PDF.  Nearly every Latex
 
117
   installation already includes Pdflatex.  However, some
 
118
   installations still seem to use very ancient versions of Pdflatex,
 
119
   which do not support the interface used by Ipe.
 
120
  
 
121
   To verify the Pdflatex version, simply call "pdflatex" from the
 
122
   command line and check what version it reports.  You should get a
 
123
   message like one of the following:
 
124
 
 
125
     This is pdfTeX, Version 3.14159-13d (Web2C 7.3.1)
 
126
     This is pdfTeX, Version 3.14159-14h-pretest-20010310 (Web2C 7.3.3.1)
 
127
     This is pdfTeX, Version 3.14159-1.10a-beta-20021101 (MiKTeX 2.2)
 
128
 
 
129
   In Pdftex version is the number after the TeX version (3.14159). In
 
130
   these examples, 0.13d, 0.14h, and 1.10a.  You need to have at least
 
131
   0.14f. If your Pdftex version is too old, you'll need to install a
 
132
   newer version. Check "www.tug.org/applications/pdftex" for where to
 
133
   get it.  
 
134
 
 
135
   You can go ahead and compile and install Ipe without updating
 
136
   Pdflatex first.  Pdflatex is not used during the compilation, and
 
137
   Ipe will actually work fine as long as you don't call the function
 
138
   "Run Latex" and don't try to save to Postscript or PDF format.
 
139
 
 
140
 
 
141
Configuring and building Ipe
 
142
----------------------------
 
143
 
 
144
There are some pieces of information you need to provide to the Ipe
 
145
build process by editing "src/config.pro".
 
146
 
 
147
If your Freetype include files (check for "ft2build.h") and library
 
148
("libfreetype.so") are not on the standard path, add the correct
 
149
paths.  Note that many Linux distributions have a somewhat weird,
 
150
historically grown Freetype setup.  Although "ft2build.h" is in
 
151
"/usr/include", you still need to add "/usr/include/freetype2" to your
 
152
include path.  If your system has a directory "usr/include/freetype2",
 
153
this is probably the case on your system.
 
154
 
 
155
If your Zlib include file ("zlib.h") and library ("libz.so") are not
 
156
on the standard path, add the correct paths.
 
157
 
 
158
Decide whether to use the threaded version of the Qt library.  There
 
159
is no good reason to use the threaded version (Ipe doesn't use
 
160
threading), but some systems (such as Debian) may not have the
 
161
non-threaded version.
 
162
 
 
163
Finally, define the Ipe directory structure.  Normally, you would only
 
164
have to define IPEPREFIX properly, depending on where you want 
 
165
Ipe to be installed.  
 
166
 
 
167
Indicate in IPEFONTMAP the path for "fontmap.xml" (if you are using a
 
168
system fontmap, indicate the correct path; if you are using/making one
 
169
specifically for Ipe put it in the standard location
 
170
"IPEDATADIR/fontmap.xml").
 
171
 
 
172
Indicate in IPEBROWSER the program you wish to use for viewing the
 
173
on-line manual.  The user can later override all these definitions
 
174
using environment variables.
 
175
 
 
176
These steps will build Ipe:
 
177
 
 
178
     cd src
 
179
     qmake main.pro
 
180
     make
 
181
     make install
 
182
 
 
183
If "qmake" is not on your path, check "$QTDIR/bin" (and add that to
 
184
your path).  You may need to do "make install" as superuser (depending
 
185
on where you are installing Ipe).
 
186
 
 
187
If you have made a "fontmap.xml" for Ipe, move it into the location
 
188
you specified in "config.pro".  In case you are using "urw-fonts.zip",
 
189
move "urw-fontmap.xml" to "IPEPREFIX/share/ipe/IPEVERS/fontmap.xml",
 
190
and unpack the 14 fonts from "urw-fonts.zip" into
 
191
"IPEPREFIX/share/ipe/IPEVERS/fonts"
 
192
 
 
193
Note that the Ipe library is a shared library, and so your dynamic
 
194
linker has to find "libipe.so.*".  If you have chosen a standard
 
195
library directory for IPELIBDIR, saying "ldconfig" (as superuser) will
 
196
be enough to run Ipe.
 
197
 
 
198
If you installed in a different location, such as "/opt/ipe-6.0", you
 
199
can make a small script called "ipe" like the following, and put it in
 
200
your path:
 
201
 
 
202
#!/bin/sh
 
203
export LD_LIBRARY_PATH="/opt/ipe-6.0/lib/:$LD_LIBRARY_PATH"
 
204
/opt/ipe-6.0/bin/ipe $* &
 
205
 
 
206
Alternatively, you could put links to the library in a standard
 
207
location (as superuser):
 
208
 
 
209
    ln -f -s IPELIBDIR/lib* /usr/lib
 
210
    ldconfig
 
211
 
 
212
Another alternative is to add IPELIBDIR to your system's standard
 
213
library path, usually by editing "/etc/ld.so.conf" and running
 
214
"ldconfig".
 
215
 
 
216
--------------------------------------------------------------------