Subversion Repositories Scribus

Rev

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