Subversion Repositories Scribus

Rev

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