Rev 9760 | Rev 10174 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
7222 | mrdocs | 1 | CMake Build |
2 | ==================== |
||
3 | |||
9756 | craig | 4 | Scribus 1.3.5+ has replaced the traditionally used so called autotools with |
5 | the CMake build system (cmake.org). |
||
7222 | mrdocs | 6 | |
9756 | craig | 7 | Please see install4.html in scribus/doc or: |
8 | http://docs.scribus.net/index.php?lang=en&page=install4 |
||
7222 | mrdocs | 9 | for details *after* reviewing the build requirements below. |
10 | |||
9760 | craig | 11 | Note that while a QMake project file (Scribus.pro) is provided in the Scribus |
12 | source distribution, it is not possible to build Scribus with this project |
||
13 | file. It is only used for generating the translation template files. |
||
14 | |||
9756 | craig | 15 | REQUIREMENTS AND BUILDING - Geneiric *BSD/Linux/*nix |
9760 | craig | 16 | ==================================================== |
7222 | mrdocs | 17 | |
9756 | craig | 18 | These requirements are generic information for any BSD, UNIX or Linux flavour. |
19 | More specific information for particular Linux distros, including lists of |
||
20 | exact package names for the distro, are provided below. |
||
7222 | mrdocs | 21 | |
9756 | craig | 22 | Install the below packages BEFORE running CMake or compiling Scribus: |
2084 | craig | 23 | |
24 | Requirements: |
||
9435 | mrdocs | 25 | Qt >= 4.2.x (we may require Qt 4.3.x at the time of release) |
9639 | mrdocs | 26 | Freetype >= 2.1.7 (2.3.x strongly recommended) |
9435 | mrdocs | 27 | cairo >= 1.4.x |
6552 | craig | 28 | libtiff >= 3.6.0 |
7222 | mrdocs | 29 | LittleCMS (liblcms) = 1.12 (1.15+ recommended) |
8385 | mrdocs | 30 | libjpeg (depending on how Qt is packaged) |
31 | libpng |
||
2084 | craig | 32 | |
33 | Recommended: |
||
34 | CUPS |
||
35 | Fontconfig >= 2.0 |
||
36 | LibXML2 >= 2.6.0 |
||
9435 | mrdocs | 37 | GhostScript >= 8.0 (8.56 or greater preferred) |
2084 | craig | 38 | Python >= 2.3 |
39 | tkinter for the font sampler script |
||
40 | python-imaging for the font sampler preview |
||
7222 | mrdocs | 41 | pkgconfig (to assist finding other libraries) |
2084 | craig | 42 | |
7222 | mrdocs | 43 | |
2084 | craig | 44 | If any recommended libraries (and their dev/devel packages or headers) are not |
9435 | mrdocs | 45 | installed, some features will be disabled by cmake. If you later install |
46 | any of these dependencies, you will have to re-run cmake and re-compile |
||
2084 | craig | 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 | |
9756 | craig | 58 | If any of your libraries are in non-standard locations you will need to provide |
59 | some extra arguments to CMake to ensure that CMake and gcc can find all the |
||
60 | required files. Where /path/to/libfoo is the path to the the directory the |
||
61 | library was installed to, eg /usr/local or /home/fred/libfoo (not the 'lib' |
||
62 | subdirectory the actual .so files are in), you can use the following extra |
||
63 | arguments to CMake to help it find the library: |
||
2084 | craig | 64 | |
9756 | craig | 65 | -DCMAKE_INCLUDE_PATH=/path/to/libfoo/include |
66 | -DCMAKE_LIBRARY_PATH=/path/to/libfoo/lib |
||
2084 | craig | 67 | |
9756 | craig | 68 | If you have multiple custom paths to specify, use a ; path separator, eg: |
2084 | craig | 69 | |
9756 | craig | 70 | -DCMAKE_INCLUDE_PATH=/path/to/libfoo/include;/path/to/libalice/include |
2514 | craig | 71 | |
9756 | craig | 72 | In most cases you should not and should not need to modify the CFLAGS, |
73 | CXXFLAGS, LIBRARY_PATH, LD_LIBRARY_PATH, CPATH, or LDFLAGS environment |
||
74 | variables. If you need to alter these to get Scribus to build, please file a |
||
75 | bug on http://bugs.scribus.net/ with information about your exact Scribus |
||
76 | version (including Subversion revision), full CMake command line, output of the |
||
77 | `env' command, and the full compiler error messages including the original |
||
78 | compiler command obtained by running `make' with the VERBOSE=1 argument. |
||
2084 | craig | 79 | |
9756 | craig | 80 | CMake will try to embed the paths to the required libraries into the |
81 | executable,so you should generally not need to set the LD_LIBRARY_PATH |
||
82 | environment variable or your platform's equivalent. On platforms like win32 |
||
83 | where no such rpath support exists, you will need to ensure that the libraries |
||
84 | required by Scribus are on the library search path. For Windows, the library |
||
85 | search path is the PATH environment variable. |
||
2084 | craig | 86 | |
87 | REQUIREMENTS - DETAILS |
||
88 | ====================== |
||
89 | |||
9435 | mrdocs | 90 | We strongly recommend having Qt 4.3.+. Qt 4.2 is now the *minimum*. Older |
2084 | craig | 91 | versions of Qt are *not* supported. If you build Qt from sources, the |
92 | recommended ./configure switches are the same as used by KDE. Use of other |
||
93 | switches aside from those used by distro packages can make trouble shooting |
||
94 | issues very difficult at times. |
||
95 | See: http://developer.kde.org/build/compile_kde3_3.html |
||
96 | |||
97 | Scribus requires Freetype. If you are compiling from source, you will need to |
||
98 | have the freetype headers installed - these can usually be found in a -devel |
||
99 | package for your distro. |
||
100 | |||
101 | It is strongly recommended that you install the CUPS development packages if |
||
102 | you are compiling Scribus. Without CUPS, Scribus will have significantly |
||
9756 | craig | 103 | reduced printing functionality, and building without CUPS is poorly tested. |
2084 | craig | 104 | |
105 | Fontconfig, if installed, will let Scribus find fonts using the same method as |
||
106 | most other major desktop applications such as all KDE and GNOME applications. |
||
107 | If fontconfig support is installed, Scribus will not search your X font path, X |
||
108 | server configuration, or X font server configuration for fonts - it will only |
||
109 | use fonts found using fontconfig and any custom font locations configured in |
||
9756 | craig | 110 | the preferences. Use of fontconfig is strongly recommended and will soon be |
111 | required on supporting platforms. |
||
2084 | craig | 112 | |
9756 | craig | 113 | Python is used to add scripting support to Scribus. If Python is not found, or |
114 | there are no header files for Python installed (usually because you haven't |
||
115 | installed the development package), the scripting support will not be enabled. |
||
2084 | craig | 116 | |
117 | See the distro-specific notes below for more information on installing and |
||
118 | using Scribus with your distro. |
||
119 | |||
2405 | craig | 120 | TROUBLESHOOTING |
121 | =============== |
||
2383 | mrdocs | 122 | |
2405 | craig | 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, |
||
9756 | craig | 135 | LDFLAGS, CXXFLAGS, CPPFLAGS, etc, then unset or disable them unless you're |
136 | really sure you know what you're doing. This is doubly true for "optimisation" |
||
137 | flags like -mcpu and -march . |
||
2405 | craig | 138 | |
9756 | craig | 139 | If you're still unable to determine what the problem is, please post a message |
140 | to the Scribus mailing list or report a bug on bugs.scribus.net. |
||
2405 | craig | 141 | |
9756 | craig | 142 | In any problem report, MAKE SURE YOU INCLUDE THE FOLLOWING INFORMATION: |
143 | - Your CMakeCache.txt |
||
144 | - The exact CMake command you ran |
||
145 | - The output of the `env' command |
||
146 | - A full listing of the compile command and compiler error messages, |
||
147 | obtained by running `make' with VERBOSE=1 . |
||
2405 | craig | 148 | - Operating system or distro, eg "Mac OS X" or "Debian Linux" |
149 | - OS or distro version, eg "Panther" or "Fedora Core 3". This is NOT the |
||
150 | Linux kernel version, though you can provide that too. |
||
151 | - Scribus version you're trying to compile, eg "1.2.1" or "1.3 cvs". If |
||
9756 | craig | 152 | you're building an SVN version, please make sure you've run |
153 | "svn revert -R ." (this WILL erase any patches / custom changes you've |
||
154 | made), deleted the CMake cache with `rm -f CMakeCache.txt' and re-built |
||
155 | before reporting a problem. Include the output of `svn info' in your |
||
156 | bug report if you are using a svn version. |
||
157 | - What compiler & version you're using. You can get this from `gcc |
||
158 | --version'. if you're using gcc. |
||
2405 | craig | 159 | - If you're having problems with a particular library, what version |
160 | of the library you have installed and where you got it from. eg: |
||
161 | "freetype 2.0.1 from sunfreeware," |
||
9756 | craig | 162 | "LittleCMS 1.1.4, compiled myself and installed in /usr/local", |
163 | "freetype 2.1.3 from backports.org", |
||
2405 | craig | 164 | "fontconfig 2.2.0 (stock Fedora Core 3 devel package)" |
165 | "I installed the qt-3.0.1.rpm and qt-devel-3.0.1.rpm from the CD." |
||
166 | - Check again to make REALLY REALLY SURE you have the devel package |
||
9756 | craig | 167 | installed, and list the names of the relevant installed devel packages |
168 | in your problem report. |
||
2405 | craig | 169 | - Any environment variables you may have set |
170 | - Anything else you can think of that might be useful. There's no |
||
171 | such thing as too much information, though please put big files |
||
172 | elsewhere rather than sending them to the mailing list. |
||
173 | |||
174 | It's best if you do a search of the mailing list archives and/or |
||
175 | bugs.scribus.net before reporting a problem, too. This is doubly true for |
||
176 | development versions of Scribus. |
||
177 | |||
2084 | craig | 178 | DISTRO SPECIFIC BUILD INFORMATION |
179 | ================================= |
||
180 | |||
181 | This section contains information about compiling Scribus that's specific to |
||
182 | particular operating systems and Linux distros. More distro-specific |
||
183 | information can be found in the README. |
||
184 | |||
185 | Debian |
||
186 | ====== |
||
187 | |||
9756 | craig | 188 | Recommended packages for compiling from source on Etch (Debian 4.0): |
189 | libqt4-dev (Required) |
||
2084 | craig | 190 | libfreetype6-dev (Required) |
9756 | craig | 191 | libcairo2-dev (Required) |
192 | libfontconfig1-dev (Required) |
||
2084 | craig | 193 | libcupsys2-dev |
194 | liblcms1-dev |
||
195 | libtiff4-dev |
||
196 | libxml2-dev |
||
197 | python2.3-dev or python2.4-dev |
||
9756 | craig | 198 | gs-gpl or gs-afpl (usually gs-gpl is newer now) |
2084 | craig | 199 | |
200 | You are unlikely to be able to compile Scribus 1.3.x on Debian 3.0 (Woody) |
||
9756 | craig | 201 | or Debian 3.1 (Sarge) without significant upgrades; it is not at all |
202 | recommended. Scribus 1.3.x should be considered not to support Debian Woody, |
||
203 | with versions above 1.3.5 unsupported on Sarge as well. |
||
2084 | craig | 204 | |
2514 | craig | 205 | More info can be found in the README. |
2084 | craig | 206 | |
207 | Red Hat / Fedora |
||
208 | ================ |
||
209 | |||
7222 | mrdocs | 210 | Recommended packages for compiling from source on FC4 / FC5 |
2850 | craig | 211 | libstdc++-devel (Required) |
212 | gcc-c++ (Required) |
||
2084 | craig | 213 | qt-devel (Required) |
214 | freetype-devel (Required) |
||
9762 | craig | 215 | cairo-devel (Required) |
2084 | craig | 216 | fontconfig-devel |
217 | cups-devel |
||
218 | libtiff-devel |
||
219 | libxml2-devel |
||
220 | python-devel |
||
221 | lcms-devel |
||
2515 | craig | 222 | libpng-devel |
223 | libjpeg-devel |
||
2084 | craig | 224 | |
225 | You can install these packages with 'yum install packagename' as root. You may |
||
2452 | craig | 226 | need to run up2date first to set up your yum configuration (not required on |
227 | FC4). Be patient - the first time you run yum it may take a long time to |
||
228 | download the headers for all the security updates that have been released. |
||
2084 | craig | 229 | |
2452 | craig | 230 | You may also need to 'export QTDIR=/usr/lib/qt-3.3' before running |
231 | configure or make. |
||
232 | |||
2514 | craig | 233 | More info can be found in the README. |
2084 | craig | 234 | |
8385 | mrdocs | 235 | Suse/Opensuse |
2515 | craig | 236 | ==== |
237 | |||
3979 | mrdocs | 238 | Recommended packages for compiling from source on SuSE 9.x/10.x: |
9435 | mrdocs | 239 | qt4-devel (required) |
240 | cairo-devel (required) |
||
2515 | craig | 241 | freetype2-devel (required) |
9435 | mrdocs | 242 | fontconfig-devel (required) |
243 | liblcms-devel (required) |
||
244 | libtiff-devel (required) |
||
2515 | craig | 245 | libxml2-devel |
8385 | mrdocs | 246 | libpng-devel |
247 | libjpeg-devel |
||
2515 | craig | 248 | cups-devel |
3979 | mrdocs | 249 | openssl-devel (required if CUPS support is needed) |
2515 | craig | 250 | update-desktop-files |
251 | python-devel |
||
2565 | mrdocs | 252 | tk |
253 | python-imaging |
||
2515 | craig | 254 | |
9756 | craig | 255 | You can install these packages using YaST. You may find it difficult to compile |
256 | Scribus 1.3.5+ on anything older than Suse 10.0. |
||
2515 | craig | 257 | |
9756 | craig | 258 | Please note we do provide frequently updated packages including debuginfo rpms |
259 | on the Suse Build Server. at http//software.opensuse.org . |
||
9435 | mrdocs | 260 | |
2514 | craig | 261 | Mac OS X |
262 | ======== |
||
2084 | craig | 263 | |
2514 | craig | 264 | No detailed build instructions yet. Please see the README for info on MacOS/X. |
2084 | craig | 265 | |
266 | Microsoft Windows |
||
267 | ================= |
||
268 | |||
269 | No build instructions yet. Please see the README for info on Scribus under |
||
270 | Windows. |
||
271 | |||
272 | Other distros/OSes |
||
273 | ================== |
||
274 | |||
275 | Please feel free to submit a list of package names and versions required to |
||
276 | compile Scribus on your distro, or build instructions for your OS. |