Subversion Repositories Scribus

Rev

Rev 4248 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4248 mrdocs 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)
12
	Freetype >= 2.1.3 (2.1.9+ recommended)
13
	libart >= 2.3.8+ (2.3.17+ recommended)
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
 
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).
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
 
62
If you have more than one collection of libraries, simply repeat the above
63
commands for each additional location.
64
 
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
Note that Scribus's build scripts will always find a library installed to the
75
same --prefix as Scribus its self ; no special configuration should be required
76
in that case.  Any failure to do so is a bug and should be reported on
77
http://bugs.scribus.net/ .
78
 
79
REQUIREMENTS - DETAILS
80
======================
81
 
82
We strongly recommend having Qt 3.3.3+. Qt 3.3 is now the *minimum*. Older
83
versions of Qt are *not* supported. If you build Qt from sources, the
84
recommended ./configure switches are the same as used by KDE. Use of other
85
switches aside from those used by distro packages can make trouble shooting
86
issues very difficult at times.
87
See: http://developer.kde.org/build/compile_kde3_3.html
88
 
89
Scribus requires Freetype. If you are compiling from source, you will need to
90
have the freetype headers installed - these can usually be found in a -devel
91
package for your distro.
92
 
93
It is strongly recommended that you install the CUPS development packages if
94
you are compiling Scribus. Without CUPS, Scribus will have significantly
95
reduced printing functionality.
96
 
97
Fontconfig, if installed, will let Scribus find fonts using the same method as
98
most other major desktop applications such as all KDE and GNOME applications.
99
If fontconfig support is installed, Scribus will not search your X font path, X
100
server configuration, or X font server configuration for fonts - it will only
101
use fonts found using fontconfig and any custom font locations configured in
102
the preferences.
103
 
104
Python will be used to add scripting support to Scribus. If Python is not
105
found, or there are no header files for Python installed (usually because you
106
haven't installed the development package), the scripting support will not be
107
enabled.
108
 
109
See the distro-specific notes below for more information on installing and
110
using Scribus with your distro.
111
 
112
If you have a 64-bit version of Qt, sometimes ./configure will not detect the
113
64-bit version headers. Try : ./configure --enable-libsuffix=64 to test for 64-bit
114
versions of libraries.
115
 
116
If you're on an AMD64 Linux distro and configure can't find Python, try using the argument:
117
    --with-extra-libs=/usr/lib64
118
to configure.
119
 
120
TROUBLESHOOTING
121
===============
122
 
123
If Scribus can't find a library, there are several things you should do.
124
First of all, read `DISTRO SPECIFIC BUILD INFORMATION' below and see if
125
there's anything there for your OS / distro.
126
 
127
Next, ensure you definitely have the library installed, as well as any
128
additional development packages that may be required to use it.  On Linux, make
129
sure to install the "-dev" or "-devel" package for the missing library. After
130
doing this, re-run configure.
131
 
132
If the library is still not found, please read and act on the section above,
133
entitled `LIBRARIES IN NONSTANDARD LOCATIONS'. Check that all those environment
134
variables are set to sensible values. If you are using any other custom CFLAGS,
135
LDFLAGS, CXXFLAGS, CPPFLAGS, etc, then unset or disable them unless you're really
136
sure you know what you're doing. This is doubly true for "optimisation" flags
137
like -mcpu and -march .
138
 
139
If you're still having problems, have a look at config.log (in the same
140
directory as configure) and see if you can tell what the problem is. You'll
141
probably want to use some sort of search command to look for the name of the
142
library that's not being found - config.log is *long*.
143
 
144
If you're still unable to determine what the problem is, please post a message
145
to the Scribus mailing list or report a bug on bugs.scribus.net. If you report
146
a bug, please attach a gzipped copy of config.log. If posting to the mailing
147
list, DO NOT attach config.log - but if possible, please post it on a website
148
or somewhere else we can get to it and provide the address. Otherwise, just
149
email it if someone asks for it. In any problem report, MAKE SURE YOU INCLUDE
150
THE FOLLOWING INFORMATION:
151
    - Operating system or distro, eg "Mac OS X" or "Debian Linux"
152
    - OS or distro version, eg "Panther" or "Fedora Core 3". This is NOT the
153
      Linux kernel version, though you can provide that too.
154
    - Scribus version you're trying to compile, eg "1.2.1" or "1.3 cvs". If
155
      you're building CVS, please make sure you've run "cvs up -Pd -C" (this
156
      WILL erase any patches / custom changes you've made) then re-built
157
      starting at "make -f Makefile.cvs" before reporting a problem. If
158
      you're using a snapshot or CVS, please tell us when you downloaded
159
      it (eg "todays CVS snapshot").
160
    - What compiler you're using. You can get this from `gcc --version'.
161
      if you're using gcc.
162
    - If you're having problems with a particular library, what version
163
      of the library you have installed and where you got it from. eg:
164
      "freetype 2.0.1 from sunfreeware,"
165
      "LittleCMS 1.1.4, compiled myself and installed in /usr/local,"
166
      "freetype 2.1.3 from backports.org,"
167
      "fontconfig 2.2.0 (stock Fedora Core 3 devel package)"
168
      "I installed the qt-3.0.1.rpm and qt-devel-3.0.1.rpm from the CD."
169
    - Check again to make REALLY REALLY SURE you have the devel package
170
      installed.
171
    - Any environment variables you may have set
172
    - Anything else you can think of that might be useful. There's no
173
      such thing as too much information, though please put big files
174
      elsewhere rather than sending them to the mailing list.
175
 
176
It's best if you do a search of the mailing list archives and/or
177
bugs.scribus.net before reporting a problem, too. This is doubly true for
178
development versions of Scribus.
179
 
180
DISTRO SPECIFIC BUILD INFORMATION
181
=================================
182
 
183
This section contains information about compiling Scribus that's specific to
184
particular operating systems and Linux distros. More distro-specific
185
information can be found in the README.
186
 
187
Debian
188
======
189
 
190
Recommended packages for compiling from source on Sarge (Debian 3.1):
191
	libqt3-mt-dev (Required)
192
	libfreetype6-dev (Required)
193
	libart-2.0-dev (Required)
194
	libcupsys2-dev
195
	liblcms1-dev
196
	libfontconfig1-dev
197
	libtiff4-dev
198
	libxml2-dev
199
	python2.3-dev  or  python2.4-dev
200
	gs-afpl
201
 
202
You are unlikely to be able to compile Scribus 1.3.x on Debian 3.0 (Woody)
203
without significant upgrades; it is not at all recommended. Scribus 1.3.x
204
should be considered not to support Debian Woody.
205
 
206
More info can be found in the README.
207
 
208
Red Hat / Fedora
209
================
210
 
211
Recommended packages for compiling from source on FC3 / FC4:
212
	libstdc++-devel (Required)
213
	gcc-c++ (Required)
214
	qt-devel (Required)
215
	freetype-devel (Required)
216
	libart_lgpl-devel (Required)
217
	fontconfig-devel
218
	cups-devel
219
	libtiff-devel
220
	libxml2-devel
221
	python-devel
222
	lcms-devel
223
	libpng-devel
224
	libjpeg-devel
225
 
226
You can install these packages with 'yum install packagename' as root. You may
227
need to run up2date first to set up your yum configuration (not required on
228
FC4). Be patient - the first time you run yum it may take a long time to
229
download the headers for all the security updates that have been released.
230
 
231
You may also need to 'export QTDIR=/usr/lib/qt-3.3' before running
232
configure or make.
233
 
4251 craig 234
If you want to build an RPM, use the fedora-buildrpmtree script from the
235
fedora-rpmdevtools package to build yourself an RPM build tree as a normal
236
user. Don't build packages as root. See the spec file for some basic build
237
instructions.
238
 
4248 mrdocs 239
More info can be found in the README.
240
 
241
SuSE
242
====
243
 
244
Recommended packages for compiling from source on SuSE 9.x/10.x:
245
	qt3-devel (required)
246
	libart_lgpl-devel (required)
247
	freetype2-devel (required)
248
	fontconfig-devel
249
	liblcms-devel
250
	libtiff-devel
251
	libxml2-devel
252
	cups-devel
253
	openssl-devel (required if CUPS support is needed)
254
	libpng-devel
255
	libjpeg-devel
256
	update-desktop-files
257
	python-devel
258
	tk
259
	python-imaging
260
 
261
You can install these packages using YaST. You may find it difficult to compile Scribus 1.2.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.
262
 
263
 
264
Other distros/OSes
265
==================
266
 
267
Please feel free to submit a list of package names and versions required to
268
compile Scribus on your distro, or build instructions for your OS.