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. |