Difference between revisions of "Talk:Instalacja Scribusa w wersji CVS z użyciem CMake"

From Scribus Wiki
Jump to: navigation, search
Line 1: Line 1:
'''Tłumaczenie w toku!'''
After many years of using the autotools build system, the developers of Scribus have selected [http://www.cmake.org CMake] as a replacement system. It provides a much more flexible setup with a lot less complexity. It also provides compatibility with build tools on Linux and variants of Unix, Windows and Mac OSX.
Po wielu latach używania autotools build system, deweloperzy Scribusa wybrali CMake jako system zastępczy. Zapewnia on znacznie elastyczniejszą instalację, będącą równocześnie mniej skomplikowaną. Jest kompatybilny z build tools na Linuksa i innych odmian Uniksa, Windowsa i Mac OSX'a
'''You must have CMake 2.4.3 for best results. Older versions will fail.'''
==First thing first: Download latest snapshot==
==Na samym począku: Pobierz najnowszy snepszot==
To download cvs snapshots of scribus 1.3.3.x and 1.3.x follow these steps.
Aby pobrać cvs snepszot Scribusa 1.3.3.x and 1.3.x podążaj podanymi krokami.
'''Scribus 1.3.3.x''' - Development - ''Recommended for those using 1.3.x for production use''
Scrius 1.3.3.x - wersja deweloperska - Zalecana użytkownikom wersji 1.3.x dla zastosowań produkcyjnych.
Aby osiągnąć najlepsze rezultaty, musisz posiadać CMake w wersji 2.4.3 lub wyższej. Starsze wersje nie zapewnią poprawnej building.
*export CVSROOT=:pserver:anoncvs:@scribus.info:/cvs
*cvs login <Enter>
*cvs -z3 co -r Version133x Scribus
'''Scribus 1.3.4cvs''' - Development - ''More Experiemental''
'''Scribus 1.3.4cvs''' - wersja deweloperska - ''bardziej eksperymentalna''
*export CVSROOT=:pserver:anoncvs:@scribus.info:/cvs
*cvs login <Enter>
*cvs -z3 co -r Version13x Scribus
Thanks to Anduin.net [[http://anduin.net/]], anonymous CVS access is updated daily.
Dzięki Andiun.net anonimowy dostęp do CVS jest aktualizowany codziennie.
'''More info on downloading scribus:'''
'''Więcej informacji na temat pobierania Scribusa'''
*Standard download [http://docs.scribus.net/index.php?lang=en&page=download]
*CVS download [http://docs.scribus.net/index.php?lang=en&page=install1]
If you are compiling for the first time, don't be scare of command line. Just copy the lines relevant to the version of Scribus you want to use, one by one on the command line.
Jeżeli kompilujesz po raz pierwszy w życiu, nie bój się lini komend. Wystarczy, że skopiujesz odpowiedni do wersji Scribusa, której chcesz używać, kod, linia po linii, do konsoli.
'''Watch out:'''
*Newbies, should take care, that only 'make install' part has to be done as a root. Rest of the part, like downloading and compiling can be done easily as a normal users.
* And if u already have a version of Scribus on your system, don't forget to use the option WANT_VERSIONING=1. You can specify this option as -DWANT_VERSIONING=1.
Nowicjusze powinni szczególnie uważać na to, że tylko część 'make install' musi być dokonana jako root. Reszta poleceń, dajmy na to pobieranie i kompilacja może być zrobiona jako normalny użytkownik.
* A jeśli już posiadasz wersję Scribusa na swoim systemie, nie zapomnij użyć opcji  WANT_VERSIONING=1. Możesz zapisać ją jako -DWANT_VERSIONING=1.
Good luck!
==To start the build==
Before continuing, please note that an out-of-source build is recommended, however..
Zanim przejdziesz dalej, pamiętaj że zaleca siê budowanie poza drzewem źródłowym, jednakże...
From the Scribus directory:
Z katalogu gdzie jest Scribs:
<code>/path/to/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/path/to/install/to/scribuscmake/</code>
Na przykład:
<code>/usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/opt/scribus134cvs</code>
Some options that the Scribus CMake files know about (more to come!):
*WANT_VERSIONING=1: Sets the build to use the VERSION setting as a suffix for the install directories and the binary. Eg, the binary could be <code>scribus-1.3.4cvs</code>. This should mean that you can install multiple versions with the same prefix with no clashes.
*WANT_DEBUG=1: Sets the build to be a debug release and use -O0 -g3, instead of -O2 (This is the default for now, and cannot be turned off unless you edit the CMakeFiles.txt file).
*WANT_CAIRO=1: Makes CMake search for cairo and build with cairo instead of LibArt_LGPL. Please note we still consider the cairo build as beta.
*WANT_LIBART=1 (default): Makes CMake search for and build with LibArt_LGPL instead of cairo.
For example: to make a cairo debug build, then something like this:
<code>/usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/opt/scribus134cvs -DWANT_CAIRO=1 -DWANT_DEBUG=1 -DWANT_VERSIONING=1</code>
==Out-of-source builds==
One of the advantages of CMake is that you can do an out-of-source build. What is this? It enables you to build the application without writing anything at all to the directory where the Scribus source is. This means your source tree is clean, always. Its easier and faster to update, and you can build multiple targets out-of-source from the same source tree. Cool!
To do an out-of-source build, you need a new directory to build in.
Say you have the source files in:
Make the follow directory:
So then, instead of doing:
<code>eg /usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/opt/scribus134cvs</code>
you would then change to the builddir directory and run:
<code>eg /usr/local/bin/cmake ../Scribus -DCMAKE_INSTALL_PREFIX:PATH=/opt/scribus134cvs</code>
==Continuing on to the build stage==
Once this has successfully completed, simply run <code>make && make install</code>.
The CMake based build system is very new to Scribus and it will change and it will need improving. Please report issues on our mailing list or bugtracker.
There is a long todo list for this build system including, but not limited to:
*Checking it works across distributions
*Checking it works across various flavours of UNIX
*Checking it works on 64 bit distros
*Add Win32 and Mac OSX support
==Compilation fails using Qt4 binaries==
Systems with both Qt3 and Qt4 installed: You have <code>uic</code> and <code>moc</code> from Qt4 in the path and it ''may'' results to the compilation crash. This should ''NOT'' be the case with cmake 2.4.2 when released, or when using current Scribus CVS. However, this might be a useful workaround:
Remove cached options from previous cmake configuration run:
<code>rm CMakeCache.txt</code>
Then change PATH variable (for my Gentoo) e.g.:
<code>export PATH=/usr/qt/3/bin/:$PATH</code>
And run cmake config phase again:
eg  <code>~/devel/CMAKE/bin/cmake . -DCMAKE_INSTALL_PREFIX:PATH=/path/to/install/to/scribuscmake/ </code>
==Specific library locations==
Whenever your distribution releases their package for a library Scribus depends on, it may still not be the very latest stable or unstable version from the writers of the library. In some cases, the Scribus developers have had to rely on the very latest code to further some parts of Scribus. In this case it is necessary to build your own version of such a library.
On example of this is the [http://cairographics.org cairo graphics library]. Right now, 1.3.4cvs has the capability to use the very very latest code from the just released cairo 1.2.
To specify a new cairo install path, other than your system's default add this to the cmake command line:
==Making a tarball for distribution==
To make a tarball for distribution, the old way would be to <code>make dist</code>. The new way is to run <code>make package_source</code> or <code>/path/to/cpack -G TBZ2 --config CPackSourceConfig.cmake</code> to give you a bundle of the source. With cmake 2.4.1 there is only support for a gzip <code>tar.gz</code> however a bzip2 <code>tar.bz2</code> is possible with later versions of cmake.
*Enable more pkg-config usage
*64 bit supoprt
*Prefixes for more packages
==Success Stories==
Please add the operating system or distribution that you have tested successfully on:
*Gentoo, current (--[[User:Cbradney|Cbradney]] 17:04, 12 November 2006 (CET))
*Kubuntu Dapper Drake (--[[User:TomZ|TomZ]] 17:08, 12 November 2006 (CET))
*openSuse 10.1 (--[[User:TomZ|TomZ]] 17:08, 12 November 2006 (CET))
*Fedora Core 6 (--[[User:gpittman|gpittman]] 15:44, 12 November 2006 (EST))
*PLD Linux Th (--[[User:Deejay1|DeeJay1]] 09:52, 13 November 2006 (CET))
*Mandriva 2007 (--[[User:Leo|Leo]] [[mailto:leo.thealmighty@gmail.com]] 01:00, 16 November, 2006 (IST)) - a smooth ride
*PCLinuxOS 0.93a (--[[User:Leo|Leo]] [[mailto:leo.thealmighty@gmail.com]] few days before i tried mandriva 2007) - manualy specified lib locations
*SuSE Linux 10.0 (--[[User:C_Schaefer|C_schaefer]] 19 November 2006)

Revision as of 16:51, 8 January 2007