summaryrefslogtreecommitdiffstats
path: root/BUILDING
diff options
context:
space:
mode:
authorcraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
committercraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
commit7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch)
tree4430b556abac0ad660a0aacf1887d77f85d8be02 /BUILDING
downloadscribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'BUILDING')
-rw-r--r--BUILDING280
1 files changed, 280 insertions, 0 deletions
diff --git a/BUILDING b/BUILDING
new file mode 100644
index 0000000..bea0306
--- /dev/null
+++ b/BUILDING
@@ -0,0 +1,280 @@
+CMake Build
+====================
+
+Scribus 1.3.5+ has replaced the traditionally used so called autotools with
+the CMake build system (cmake.org).
+
+Please see install4.html in scribus/doc for details *after* reviewing the
+build requirements below.
+
+Note that while a QMake project file (Scribus.pro) is provided in the Scribus
+source distribution, it is not possible to build Scribus with this project
+file. It is only used for generating the translation template files.
+
+REQUIREMENTS AND BUILDING - Microsoft Windows
+=============================================
+
+See the separate file BUILDING_win32.txt
+
+REQUIREMENTS AND BUILDING - Geneiric *BSD/Linux/*nix
+====================================================
+
+These requirements are generic information for any BSD, UNIX or Linux flavour.
+More specific information for particular Linux distros, including lists of
+exact package names for the distro, are provided below.
+
+Install the below packages BEFORE running CMake or compiling Scribus:
+
+Requirements:
+ Qt >= 4.6.0 (Scribus has specific code requiring Qt 4.6, not Qt 4.5.x or before)
+ Freetype >= 2.1.7 (2.3.x strongly recommended)
+ cairo >= 1.4.x
+ libtiff >= 3.6.0
+ LittleCMS (liblcms) = 1.12 (1.18+ recommended) or LittleCMS 2 (liblcms2) >= 2.1
+ libjpeg (depending on how Qt is packaged)
+ libpng
+ CUPS
+ Fontconfig >= 2.0
+ LibXML2 >= 2.6.0
+Recommended:
+ GhostScript >= 8.0 (8.6+ or greater preferred)
+ Python >= 2.3
+ tkinter for the font sampler script
+ python-imaging for the font sampler preview
+ pkgconfig (to assist finding other libraries)
+ apspell for the spell checker
+ podofo - 0.7.0+ for enhanced Illustrator AI/EPS import
+ boost and boost-devel - needed for some advanced vector format display
+
+
+
+If any recommended libraries (and their dev/devel packages or headers) are not
+installed, some features will be disabled by cmake. If you later install
+any of these dependencies, you will have to re-run cmake and re-compile
+Scribus before the features are enabled.
+
+LIBRARIES IN NON-STANDARD LOCATIONS
+===================================
+
+You can skip this section unless:
+ (a) You have libraries installed in unusual locations such as your home
+ directory or an add-in package collection (eg fink); or
+ (b) Scribus is not finding libraries that you KNOW you have installed
+ (remember the -dev/-devel package if applicable).
+
+If any of your libraries are in non-standard locations you will need to provide
+some extra arguments to CMake to ensure that CMake and gcc can find all the
+required files. Where /path/to/libfoo is the path to the the directory the
+library was installed to, eg /usr/local or /home/fred/libfoo (not the 'lib'
+subdirectory the actual .so files are in), you can use the following extra
+arguments to CMake to help it find the library:
+
+ -DCMAKE_INCLUDE_PATH=/path/to/libfoo/include
+ -DCMAKE_LIBRARY_PATH=/path/to/libfoo/lib
+
+If you have multiple custom paths to specify, use a ; path separator, eg:
+
+ -DCMAKE_INCLUDE_PATH=/path/to/libfoo/include;/path/to/libalice/include
+
+In most cases you should not and should not need to modify the CFLAGS,
+CXXFLAGS, LIBRARY_PATH, LD_LIBRARY_PATH, CPATH, or LDFLAGS environment
+variables. If you need to alter these to get Scribus to build, please file a
+bug on http://bugs.scribus.net/ with information about your exact Scribus
+version (including Subversion revision), full CMake command line, output of the
+`env' command, and the full compiler error messages including the original
+compiler command obtained by running `make' with the VERBOSE=1 argument.
+
+CMake will try to embed the paths to the required libraries into the
+executable,so you should generally not need to set the LD_LIBRARY_PATH
+environment variable or your platform's equivalent. On platforms like win32
+where no such rpath support exists, you will need to ensure that the libraries
+required by Scribus are on the library search path. For Windows, the library
+search path is the PATH environment variable.
+
+REQUIREMENTS - DETAILS
+======================
+
+Qt 4.6 is now the *minimum*. Older versions of Qt are *not* supported.
+If you build Qt from sources, the recommended ./configure/cmake switches are the
+ same as used by KDE. Use of other switches aside from those used by distro
+packages can make trouble shooting issues very difficult at times.
+See: http://developer.kde.orgb/uild/compile_kde3_3.html
+
+Scribus requires Freetype. If you are compiling from source, you will need to
+have the freetype headers installed - these can usually be found in a -devel
+package for your distro.
+
+It is strongly recommended that you install the CUPS development packages if
+you are compiling Scribus. Without CUPS, Scribus will have significantly
+reduced printing functionality and building without CUPS is poorly tested.
+
+Fontconfig, if installed, will let Scribus find fonts using the same method as
+most other major desktop applications such as all KDE and GNOME applications.
+If fontconfig support is installed, Scribus will not search your X font path, X
+server configuration, or X font server configuration for fonts - it will only
+use fonts found using fontconfig and any custom font locations configured in
+the preferences. Use of fontconfig is strongly recommended and will soon be
+required on supporting platforms.
+
+Python is used to add scripting support to Scribus. If Python is not found, or
+there are no header files for Python installed (usually because you haven't
+installed the development package), the scripting support will not be enabled.
+
+See the distro-specific notes below for more information on installing and
+using Scribus with your distro.
+
+TROUBLESHOOTING
+===============
+
+If Scribus can't find a library, there are several things you should do.
+First of all, read `DISTRO SPECIFIC BUILD INFORMATION' below and see if
+there's anything there for your OS / distro.
+
+Next, ensure you definitely have the library installed, as well as any
+additional development packages that may be required to use it. On Linux, make
+sure to install the "-dev" or "-devel" package for the missing library. After
+doing this, re-run cmake.
+
+If the library is still not found, please read and act on the section above,
+entitled `LIBRARIES IN NONSTANDARD LOCATIONS'. Check that all those environment
+variables are set to sensible values. If you are using any other custom CFLAGS,
+LDFLAGS, CXXFLAGS, CPPFLAGS, etc, then unset or disable them unless you're
+really sure you know what you're doing. This is doubly true for "optimisation"
+flags like -mcpu and -march .
+
+If you're still unable to determine what the problem is, please post a message
+to the Scribus mailing list or report a bug on bugs.scribus.net.
+
+In any problem report, MAKE SURE YOU INCLUDE THE FOLLOWING INFORMATION:
+ - Your CMakeCache.txt
+ - The exact CMake command you ran
+ - The output of the `env' command
+ - A full listing of the compile command and compiler error messages,
+ obtained by running `make' with VERBOSE=1 .
+ - Operating system or distro, eg "Mac OS X" or "Debian Linux"
+ - OS or distro version, eg "Panther" or "Fedora Core 10". This is NOT the
+ Linux kernel version, though you can provide that too.
+ - Scribus version you're trying to compile, eg "1.3.8" or "1.5.0.svn". If
+ you're building an SVN version, please make sure you've run
+ "svn revert -R ." (this WILL erase any patches / custom changes you've
+ made), deleted the CMake cache with `rm -f CMakeCache.txt' and re-built
+ before reporting a problem. Include the output of `svn info' in your
+ bug report if you are using a svn version.
+ - What compiler & version you're using. You can get this from `gcc
+ --version'. if you're using gcc.
+ - If you're having problems with a particular library, what version
+ of the library you have installed and where you got it from. eg:
+ "freetype 2.0.1 from sunfreeware,"
+ "LittleCMS 1.1.4, compiled myself and installed in /usr/local",
+ "freetype 2.1.3 from backports.org",
+ "fontconfig 2.2.0 (stock Fedora Core 3 devel package)"
+ "I installed the qt-3.0.1.rpm and qt-devel-3.0.1.rpm from the CD."
+ - Check again to make REALLY REALLY SURE you have the devel package
+ installed, and list the names of the relevant installed devel packages
+ in your problem report.
+ - Any environment variables you may have set
+ - Anything else you can think of that might be useful. There's no
+ such thing as too much information, though please put big files
+ elsewhere rather than sending them to the mailing list.
+
+It's best if you do a search of the mailing list archives and/or
+bugs.scribus.net before reporting a problem, too. This is doubly true for
+development versions of Scribus.
+
+DISTRO SPECIFIC BUILD INFORMATION
+=================================
+
+This section contains information about compiling Scribus that's specific to
+particular operating systems and Linux distros. More distro-specific
+information can be found in the README.
+
+Debian
+======
+
+Recommended packages for compiling from source on Etch (Debian 4.0):
+ libqt4-dev (Required)
+ libfreetype6-dev (Required)
+ libcairo2-dev (Required)
+ libfontconfig1-dev (Required)
+ libcupsys2-dev
+ liblcms1-dev
+ libtiff4-dev
+ libxml2-dev
+ python2.3-dev or python2.4-dev
+ gs-gpl or gs-afpl (usually gs-gpl is newer now)
+
+You are unlikely to be able to compile Scribus 1.3.x on Debian 3.0 (Woody)
+or Debian 3.1 (Sarge) without significant upgrades; it is not at all
+recommended. Scribus 1.3.x should be considered not to support Debian Woody,
+with versions above 1.3.5 unsupported on Sarge as well.
+
+More info can be found in the README.
+
+Red Hat / Fedora / CentOS
+========================
+
+Recommended packages for compiling from source on Fedora/CentOS/RHEL
+ libstdc++-devel (Required)
+ gcc-c++ (Required)
+ qt4-devel (Required)
+ freetype-devel (Required)
+ cairo-devel (Required)
+ fontconfig-devel (Required)
+ cups-devel (Required)
+ libtiff-devel
+ libxml2-devel (Required)
+ python-devel
+ lcms-devel (Required)
+ libpng-devel
+ libjpeg-devel
+
+You can install these packages with 'yum install packagename' as root.
+
+
+More info can be found in the README.
+
+Suse/Opensuse
+====
+
+Recommended packages for compiling from source on SuSE 11.x:
+ qt4-devel (required)
+ cairo-devel (required)
+ freetype2-devel (required)
+ fontconfig-devel (required)
+ liblcms-devel (required)
+ libtiff-devel (required)
+ libxml2-devel (required)
+ libpng-devel (required)
+ libjpeg-devel (required)
+ cups-devel (required)
+ openssl-devel (required if CUPS support is needed)
+ update-desktop-files
+ python-devel
+ tk
+ python-imaging
+ aspell-devel
+ boost-devel
+
+You can install these packages using YaST. You may find it difficult to compile
+Scribus 1.3.9+ on anything older than Suse 11.3.
+
+Please note we do provide frequently updated packages
+on the Suse Build Server at http//software.opensuse.org
+
+Mac OS X
+========
+
+There is a separate document for building on OSX. The Scribus build system
+can be used to create native dmg installers for OSX.
+
+Microsoft Windows
+=================
+
+No build instructions yet. Please see the README for info on Scribus under
+Windows.
+
+Other distros/OSes
+==================
+
+Please feel free to submit a list of package names and versions required to
+compile Scribus on your distro, or build instructions for your OS.