Subversion Repositories Scribus

Rev

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