Subversion Repositories Scribus

Rev

Rev 2931 | Rev 6552 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2084 craig 1
Generic build instructions are available in the INSTALL file. Please read these
2
notes for Scribus-specifc information plus notes about compiling Scribus on
3
particular distributions and operating systems.
4
 
5
REQUIREMENTS AND BUILDING
6
=========================
7
 
8
Install the below packages BEFORE running configure or compiling Scribus:
9
 
10
Requirements:
11
	Qt >= 3.3 (3.3.3 recommended)
2383 mrdocs 12
	Freetype >= 2.1.3 (2.1.9+ recommended)
13
	libart >= 2.3.8+ (2.3.17+ recommended)
2084 craig 14
 
15
Recommended:
16
	CUPS
17
	libtiff >= 3.6.0
18
	Fontconfig >= 2.0
19
	LittleCMS = 1.12 (1.14+ recommended)
20
	LibXML2 >= 2.6.0
21
	GhostScript >= 8.0 (8.15 or greater preferred)
22
	Python >= 2.3
23
	tkinter for the font sampler script
24
	python-imaging for the font sampler preview
25
 
26
If any recommended libraries (and their dev/devel packages or headers) are not
27
installed, some features will be disabled by configure. If you later install
28
any of these dependencies, you will have to re-run configure and re-compile
29
Scribus before the features are enabled.
30
 
31
LIBRARIES IN NON-STANDARD LOCATIONS
32
===================================
33
 
2514 craig 34
You can skip this section unless:
35
    (a) You have libraries installed in unusual locations such as your home
36
        directory or an add-in package collection (eg fink); or
37
    (b) Scribus is not finding libraries that you KNOW you have installed
38
        (remember the -dev/-devel package if applicable).
2084 craig 39
 
40
If any of your libraries are in non-standard locations and not on the same
41
--prefix as you're configuring Scribus with, you will need to set some extra
42
environment variables when configuring and compiling Scribus to ensure that
43
configure and gcc can find all the required information. Where
44
/home/fred/libfred is the path to the the directory the lib was installed to
45
(--prefix), eg /usr/local or /home/fred/libfred (*NOT* the lib/ subdirectory
46
the actual library file is in), the following commands to bash should do the
47
trick:
48
 
49
	instdir=/home/fred/libfred
50
	export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${instdir}/lib/pkgconfig"
51
	export LIBRARY_PATH="${LIBRARY_PATH}:${instdir}/lib"
52
	export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${instdir}/lib"
53
	export CPATH="${CPATH}:${instdir}/include"
54
	export PATH="${PATH}:${instdir}/bin"
55
 
56
In most cases, you can get away with just some of them for any given lib, but
57
setting all of those means any of the several methods of finding libraries that
58
might be used should work. These requirements are standard for pretty much any
59
package, they are not specific to Scribus - it's just most packages don't
60
bother to explain this to you ;-)
61
 
2514 craig 62
If you have more than one collection of libraries, simply repeat the above
63
commands for each additional location.
64
 
2084 craig 65
In general, you should not add "-I/path" directives to `CXXFLAGS', `CPPFLAGS',
66
or `CFLAGS'; that's what `CPATH' is for. Similarly, use `LIBRARY_PATH' rather
67
than adding "-L/path" to `LDFLAGS' when trying to get `ld' to find a library.
68
 
69
`LD_LIBRARY_PATH' may also need to be set when running Scribus later. To avoid
70
this requirement under Linux, add the library path to `/etc/ld.so.conf' (on its
71
own line, nothing but the path, eg "/home/fred/libfred/lib" without the quotes)
72
and run ldconfig as root. Other operating systems have other requirements.
73
 
74
MacOS/X users may need to set `DYLD_LIBRARY_PATH' as well as `LD_LIBRARY_PATH'.
75
 
76
Note that Scribus's build scripts will always find a library installed to the
77
same --prefix as Scribus its self ; no special configuration should be required
78
in that case.  Any failure to do so is a bug and should be reported on
79
http://bugs.scribus.net/ .
80
 
81
REQUIREMENTS - DETAILS
82
======================
83
 
84
We strongly recommend having Qt 3.3.3+. Qt 3.3 is now the *minimum*. Older
85
versions of Qt are *not* supported. If you build Qt from sources, the
86
recommended ./configure switches are the same as used by KDE. Use of other
87
switches aside from those used by distro packages can make trouble shooting
88
issues very difficult at times.
89
See: http://developer.kde.org/build/compile_kde3_3.html
90
 
91
Scribus requires Freetype. If you are compiling from source, you will need to
92
have the freetype headers installed - these can usually be found in a -devel
93
package for your distro.
94
 
95
It is strongly recommended that you install the CUPS development packages if
96
you are compiling Scribus. Without CUPS, Scribus will have significantly
97
reduced printing functionality.
98
 
99
Fontconfig, if installed, will let Scribus find fonts using the same method as
100
most other major desktop applications such as all KDE and GNOME applications.
101
If fontconfig support is installed, Scribus will not search your X font path, X
102
server configuration, or X font server configuration for fonts - it will only
103
use fonts found using fontconfig and any custom font locations configured in
104
the preferences.
105
 
106
Python will be used to add scripting support to Scribus. If Python is not
107
found, or there are no header files for Python installed (usually because you
108
haven't installed the development package), the scripting support will not be
109
enabled.
110
 
111
See the distro-specific notes below for more information on installing and
112
using Scribus with your distro.
113
 
2383 mrdocs 114
If you have a 64-bit version of Qt, sometimes ./configure will not detect the
115
64-bit version headers. Try : ./configure --enable-libsuffix=64 to test for 64-bit
2405 craig 116
versions of libraries.
2084 craig 117
 
2931 craig 118
If you're on an AMD64 Linux distro and configure can't find Python, try using the argument:
119
    --with-extra-libs=/usr/lib64
120
to configure.
121
 
2405 craig 122
TROUBLESHOOTING
123
===============
2383 mrdocs 124
 
2405 craig 125
If Scribus can't find a library, there are several things you should do.
126
First of all, read `DISTRO SPECIFIC BUILD INFORMATION' below and see if
127
there's anything there for your OS / distro.
128
 
129
Next, ensure you definitely have the library installed, as well as any
130
additional development packages that may be required to use it.  On Linux, make
131
sure to install the "-dev" or "-devel" package for the missing library. After
132
doing this, re-run configure.
133
 
134
If the library is still not found, please read and act on the section above,
135
entitled `LIBRARIES IN NONSTANDARD LOCATIONS'. Check that all those environment
136
variables are set to sensible values. If you are using any other custom CFLAGS,
137
LDFLAGS, CXXFLAGS, CPPFLAGS, etc, then unset or disable them unless you're really
138
sure you know what you're doing. This is doubly true for "optimisation" flags
139
like -mcpu and -march .
140
 
141
If you're still having problems, have a look at config.log (in the same
142
directory as configure) and see if you can tell what the problem is. You'll
143
probably want to use some sort of search command to look for the name of the
144
library that's not being found - config.log is *long*.
145
 
146
If you're still unable to determine what the problem is, please post a message
147
to the Scribus mailing list or report a bug on bugs.scribus.net. If you report
148
a bug, please attach a gzipped copy of config.log. If posting to the mailing
149
list, DO NOT attach config.log - but if possible, please post it on a website
150
or somewhere else we can get to it and provide the address. Otherwise, just
151
email it if someone asks for it. In any problem report, MAKE SURE YOU INCLUDE
152
THE FOLLOWING INFORMATION:
153
    - Operating system or distro, eg "Mac OS X" or "Debian Linux"
154
    - OS or distro version, eg "Panther" or "Fedora Core 3". This is NOT the
155
      Linux kernel version, though you can provide that too.
156
    - Scribus version you're trying to compile, eg "1.2.1" or "1.3 cvs". If
157
      you're building CVS, please make sure you've run "cvs up -Pd -C" (this
158
      WILL erase any patches / custom changes you've made) then re-built
159
      starting at "make -f Makefile.cvs" before reporting a problem. If
160
      you're using a snapshot or CVS, please tell us when you downloaded
161
      it (eg "todays CVS snapshot").
162
    - What compiler you're using. You can get this from `gcc --version'.
163
      if you're using gcc.
164
    - If you're having problems with a particular library, what version
165
      of the library you have installed and where you got it from. eg:
166
      "freetype 2.0.1 from sunfreeware,"
167
      "LittleCMS 1.1.4, compiled myself and installed in /usr/local,"
168
      "freetype 2.1.3 from backports.org,"
169
      "fontconfig 2.2.0 (stock Fedora Core 3 devel package)"
170
      "I installed the qt-3.0.1.rpm and qt-devel-3.0.1.rpm from the CD."
171
    - Check again to make REALLY REALLY SURE you have the devel package
172
      installed.
173
    - Any environment variables you may have set
174
    - Anything else you can think of that might be useful. There's no
175
      such thing as too much information, though please put big files
176
      elsewhere rather than sending them to the mailing list.
177
 
178
It's best if you do a search of the mailing list archives and/or
179
bugs.scribus.net before reporting a problem, too. This is doubly true for
180
development versions of Scribus.
181
 
2084 craig 182
DISTRO SPECIFIC BUILD INFORMATION
183
=================================
184
 
185
This section contains information about compiling Scribus that's specific to
186
particular operating systems and Linux distros. More distro-specific
187
information can be found in the README.
188
 
189
Debian
190
======
191
 
192
Recommended packages for compiling from source on Sarge (Debian 3.1):
193
	libqt3-mt-dev (Required)
194
	libfreetype6-dev (Required)
195
	libart-2.0-dev (Required)
196
	libcupsys2-dev
197
	liblcms1-dev
198
	libfontconfig1-dev
199
	libtiff4-dev
200
	libxml2-dev
201
	python2.3-dev  or  python2.4-dev
202
	gs-afpl
203
 
204
You are unlikely to be able to compile Scribus 1.3.x on Debian 3.0 (Woody)
205
without significant upgrades; it is not at all recommended. Scribus 1.3.x
206
should be considered not to support Debian Woody.
207
 
2514 craig 208
More info can be found in the README.
2084 craig 209
 
210
Red Hat / Fedora
211
================
212
 
2452 craig 213
Recommended packages for compiling from source on FC3 / FC4:
2850 craig 214
	libstdc++-devel (Required)
215
	gcc-c++ (Required)
2084 craig 216
	qt-devel (Required)
217
	freetype-devel (Required)
218
	libart_lgpl-devel (Required)
219
	fontconfig-devel
220
	cups-devel
221
	libtiff-devel
222
	libxml2-devel
223
	python-devel
224
	lcms-devel
2515 craig 225
	libpng-devel
226
	libjpeg-devel
2084 craig 227
 
228
You can install these packages with 'yum install packagename' as root. You may
2452 craig 229
need to run up2date first to set up your yum configuration (not required on
230
FC4). Be patient - the first time you run yum it may take a long time to
231
download the headers for all the security updates that have been released.
2084 craig 232
 
2452 craig 233
You may also need to 'export QTDIR=/usr/lib/qt-3.3' before running
234
configure or make.
235
 
2514 craig 236
More info can be found in the README.
2084 craig 237
 
2515 craig 238
SuSE
239
====
240
 
3979 mrdocs 241
Recommended packages for compiling from source on SuSE 9.x/10.x:
2515 craig 242
	qt3-devel (required)
243
	libart_lgpl-devel (required)
244
	freetype2-devel (required)
245
	fontconfig-devel
246
	liblcms-devel
247
	libtiff-devel
248
	libxml2-devel
249
	cups-devel
3979 mrdocs 250
	openssl-devel (required if CUPS support is needed)
2515 craig 251
	libpng-devel
252
	libjpeg-devel
253
	update-desktop-files
254
	python-devel
2565 mrdocs 255
	tk
256
	python-imaging
2515 craig 257
 
2565 mrdocs 258
You can install these packages using YaST. You may find it difficult to compile Scribus 1.3.x on anything older than Suse 9.0. In addtion, you are recommended to have the updated KDE/Qt packages which are provided as supplemental from ftp.suse.com or mirrors.
2515 craig 259
 
2514 craig 260
Mac OS X
261
========
2084 craig 262
 
2514 craig 263
No detailed build instructions yet. Please see the README for info on MacOS/X.
2084 craig 264
 
2514 craig 265
Fink or a similar package collection will generally be required for compiling
266
Scribus. Scribus requires several libraries that do not come with Mac OS X,
267
and a few where the version in Mac OS X is too old.
268
 
269
Mac OS X users will want a copy of freetype that was configured with
270
--enable-old-macfonts . The Mac OS X bundled Freetype is too old, and the one
271
that comes with Fink is not (at time of writing) configured that way. You'll
272
need to compile your own copy of Freetype, then use --with-extra-includes and
273
--with-extra-libs or environment variables to tell configure where to find it.
274
 
275
See `LIBRARIES IN NON-STANDARD LOCATIONS' for additional instructions. /sw is
276
a "non standard location" that won't be searched by most of the tools configure
277
uses, so you must tell Scribus about it.
278
 
2084 craig 279
Microsoft Windows
280
=================
281
 
282
No build instructions yet. Please see the README for info on Scribus under
283
Windows.
284
 
285
Other distros/OSes
286
==================
287
 
288
Please feel free to submit a list of package names and versions required to
289
compile Scribus on your distro, or build instructions for your OS.