INSTALL 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. THIS IS A DEVELOPMENT VERSION OF THE GIMP !! YOU SHOULD BE USING THE
  2. STABLE VERSION 1.2 INSTEAD !! YOU HAVE BEEN WARNED!
  3. There are some basic steps to building and installing the GIMP:
  4. 1. You need to have installed a recent version of pkg-config available
  5. from http://www.freedesktop.org/software/pkgconfig/.
  6. 2. You need to have installed GTK version 2.2.0 or better. Do not try
  7. to use an older GTK+ version (1.2.x), it will not work. GTK+-2.2
  8. itself needs recent versions of GLib-2.2, Pango and ATK. Grab them
  9. from ftp://ftp.gtk.org/. GTK+-2.2 and friends can be installed side
  10. by side with GTK+-1.2.
  11. 3. We require PangoFT2, a Pango backend that uses FreeType2. Make sure
  12. you have FreeType2 installed before you compile Pango. It can be
  13. downloaded from http://www.freetype.org/.
  14. 4. We use libart2. Grab the module libart_lgpl out of GNOME CVS or
  15. fetch the tarball from
  16. ftp://ftp.gnome.org/pub/gnome/sources/libart_lgpl/
  17. 5. You may want to install other third party libraries or programs that
  18. are needed for some of the available plugins: tiff, png, jpeg,
  19. print, helpbrowser, ...
  20. 6. Configure the GIMP by running the `configure' script. You may want
  21. to pass some options to it, see below.
  22. 7. Build the GIMP by running `make'. The use of GNU make is recommened.
  23. If you need to tweak the build to make it work with other flavours
  24. of make, we'd appreciate if you'd send us a patch with the changes.
  25. 8. Install the GIMP by running `make install'. In order to avoid clashes
  26. with an installed stable version of The GIMP, we install a binary
  27. called gimp-1.3.
  28. Please make sure you don't have any old GTK+-2.x, jpeg, etc. libraries
  29. lying around on your system, otherwise configure may fail to find the
  30. new ones.
  31. Generic instructions for configuring and compiling auto-configured
  32. packages are included below. Here is an illustration of commands that
  33. might be used to build and install the GIMP. The actual configuration,
  34. compilation and installation output is not shown.
  35. % tar xvfz gimp-1.3.x.tar.gz # unpack the sources
  36. % cd gimp-1.3.x # change to the toplevel directory
  37. % ./configure # run the `configure' script
  38. % make # build the GIMP
  39. % make install # install the GIMP
  40. The `configure' script examines your system, and adapts the GIMP to
  41. run on it. The script has many options, some of which are described in
  42. the generic instructions included at the end of this file. All of the
  43. options can be listed using the command `./configure --help'. There
  44. are five commands special options the GIMP `configure' script
  45. recognizes. These are:
  46. --enable-shared and --disable-shared. This option affects whether
  47. shared libraries will be built or not. Shared libraries provide
  48. for much smaller executables. The default is to enable shared
  49. libraries. Disabling shared libraries is almost never a good idea.
  50. --enable-debug and --disable-debug. This option causes the build
  51. process to compile with debugging enabled. If debugging is
  52. disabled, the GIMP will instead be compiled with optimizations turned
  53. on. The default is for debugging to be disabled. NOTE: This
  54. option is intended primarily as a convenience for developers.
  55. --enable-ansi and --disable-ansi. This option causes stricter
  56. ANSI C checking to be performed when compiling with GCC. The
  57. default is for strict checking to be disabled. NOTE: This option
  58. is intended primarily as a convenience for developers.
  59. --enable-gimpdir=DIR. This option changes the default directory
  60. the gimp uses to search for its configuration files from ~/.gimp-1.3
  61. (the directory .gimp-1.3 in the users home directory) to DIR.
  62. --without-libtiff, without-libjpeg, --without-libpng. configure
  63. will bail out if libtiff, libjpeg or libpng can not be found. You
  64. better fix the underlying problem and install these libraries with
  65. their header files. If you absolutely want to compile GIMP without
  66. support for TIFF, JPEG or PNG you need to explicitely disable
  67. them using the options given above.
  68. --enable-gtk-doc. This option controls whether the libgimp API
  69. reference will be created using gtk-doc. The HTML pages are
  70. included in a standard tarball, so you will only need this if you
  71. are building from CVS.
  72. --with-html-dir=PATH. This option allows to specify where the
  73. libgimp API reference should be installed. You might want to modify
  74. the path so it points to the place where glib and gtk+ installled
  75. their API references so that the libgimp reference can link to
  76. them.
  77. --disable-print. The print plug-in requires a recent version of
  78. libgimpprint. If you don't have it already installed, download
  79. it from http://gimp-print.sourceforge.net/. You need to pass
  80. --without-gimp to gimp-print's configure script to build it without
  81. having gimp-1.2 installed. If you want to compile GIMP without
  82. support for printing, use the --disable-print option.
  83. --enable-mp. This options control whether to build GIMP with or without
  84. support for multiple processors. This option is off by default. If
  85. you do have multiply processors and run GIMP with an OS supporting
  86. them you will like to enable this features to use all of your
  87. horsepower. Enabling it on singleprocessor systems won't harm but
  88. cause a bit processing overhead.
  89. --with-sendmail=[PATH]. This option is used to tell GIMP where to find
  90. the sendmail command. Normally this options don't have to be used
  91. because configure tries to find it in the usual places.
  92. --with-gnome-desktop=[PATH]. This option specifies where to install
  93. a link to the gimp.desktop file for GNOME-2.0. The default value
  94. ${prefix}/share/applications should be fine if GNOME-2.0 is installed
  95. in the same prefix. No link is created if the specified directory
  96. doesn't exist or you use --without-gnome-desktop.
  97. --enable-default-binary. Use this option if you want to make gimp-1.3
  98. the default gimp installation. A link called gimp pointing to the
  99. gimp-1.3 executable will be installed then.
  100. The `make' command builds several things:
  101. - A bunch of public libraries in the directories starting with 'libgimp'.
  102. - The plug-in programs in the 'plug-ins' directory.
  103. - Some modules in the 'modules' subdirectory.
  104. - The main GIMP program 'gimp-1.3' in `app'.
  105. The `make install' commands installs the gimp header files associated
  106. with the libgimp libraries, the plug-ins, some data files and the GIMP
  107. executable. After running `make install' and assuming the build process
  108. was successful you should be able to run `gimp'.
  109. When ./configure fails
  110. ======================
  111. 'configure' uses pkg-config, a tool that replaces the old foo-config
  112. scripts. The most recent version is available from
  113. http://www.freedesktop.org/software/pkgconfig/
  114. 'configure' tries to compile and run a short GTK program. There are
  115. several reasons why this might fail:
  116. * pkg-config could not find the file 'gtk+-2.0.pc' that gets installed
  117. with GTK. (This file is used to get information about where GTK+ is
  118. installed.)
  119. Fix: Either make sure that this file is in the path where pkg-config
  120. looks for it (try 'pkg-config --debug' or add the location of
  121. gtk+-2.0.pc to the environment variable PKG_CONFIG_PATH before running
  122. configure.
  123. * The GTK+ libraries were not found at run time. The details
  124. of how to fix this problem will depend on the system:
  125. Fix: On Linux and other systems using ELF libraries, add the
  126. directory to /etc/ld.so.conf or to the environment variable
  127. LD_LIBRARY_PATH, and run 'ldconfig'.
  128. On other systems, it may be necessary to encode this path
  129. into the executable, by setting the LDFLAGS environment variable
  130. before running configure. For example:
  131. LDFLAGS="-R/home/joe/lib" ./configure
  132. or
  133. LDFLAGS="-Wl,-rpath -Wl,/home/joe/lib" ./configure
  134. * An old version of the GTK libraries was found instead of
  135. your newly installed version. This commonly happens if a
  136. binary package of GTK was previously installed on your system,
  137. and you later compiled GTK from source.
  138. Fix: remove the old libraries and include files.
  139. A detailed log of the ./configure output is written to the file
  140. config.log. This may help diagnose problems.
  141. If you are sure of what you're doing, you can bypass the sanity check and
  142. just go by what gtk-config by using the --disable-gtktest option. Please
  143. only use this in dire circumstances.
  144. After fixing a problem, it is safest to delete the file 'config.cache'
  145. before re-running ./configure.
  146. When ./configure fails on plug-ins
  147. ==================================
  148. There are some GIMP plug-ins that need additional third-party libraries
  149. installed on your system. For example to compile the plug-ins that load
  150. and save JPEG, PNG or TIFF files you need the related libraries and header
  151. files installed, otherwise you'll get a message that plugin xyz will not
  152. be build.
  153. If you are sure that those libraries are correctly installed, but configure
  154. fails to detect them, the following might help:
  155. Set your LDFLAGS environment variable to look for the library in a certain
  156. place, e.g. if you are working in a bash shell you would say:
  157. export LDFLAGS="-L<path_to_library> -L<path_to_another_one>"
  158. before you run configure.
  159. Set your CPPFLAGS environment variable to look for the header file in a
  160. certain place, e.g. if you are working in a bash shell you would say:
  161. export CPPFLAGS="-I<path_to_header_file> -I<path_to_another_one>"
  162. before you run configure.
  163. It's wise to remove the file 'config.cache' before re-running configure.
  164. Generic Instructions for Building Auto-Configured Packages
  165. ==========================================================
  166. To compile this package:
  167. 1. Configure the package for your system. In the directory that this
  168. file is in, type `./configure'. If you're using `csh' on an old
  169. version of System V, you might need to type `sh configure' instead to
  170. prevent `csh' from trying to execute `configure' itself.
  171. The `configure' shell script attempts to guess correct values for
  172. various system-dependent variables used during compilation, and
  173. creates the Makefile(s) (one in each subdirectory of the source
  174. directory). In some packages it creates a C header file containing
  175. system-dependent definitions. It also creates a file `config.status'
  176. that you can run in the future to recreate the current configuration.
  177. Running `configure' takes a minute or two.
  178. To compile the package in a different directory from the one
  179. containing the source code, you must use GNU make. `cd' to the
  180. directory where you want the object files and executables to go and
  181. run `configure' with the option `--srcdir=DIR', where DIR is the
  182. directory that contains the source code. Using this option is
  183. actually unnecessary if the source code is in the parent directory of
  184. the one in which you are compiling; `configure' automatically checks
  185. for the source code in `..' if it does not find it in the current
  186. directory.
  187. By default, `make install' will install the package's files in
  188. /usr/local/bin, /usr/local/lib, /usr/local/man, etc. You can specify
  189. an installation prefix other than /usr/local by giving `configure' the
  190. option `--prefix=PATH'.
  191. You can specify separate installation prefixes for machine-specific
  192. files and machine-independent files. If you give `configure' the
  193. option `--exec-prefix=PATH', the package will use PATH as the prefix
  194. for installing programs and libraries. Normally, all files are
  195. installed using the same prefix.
  196. `configure' ignores any other arguments that you give it.
  197. If your system requires unusual options for compilation or linking
  198. that `configure' doesn't know about, you can give `configure' initial
  199. values for some variables by setting them in the environment. In
  200. Bourne-compatible shells, you can do that on the command line like
  201. this:
  202. CC='gcc -traditional' DEFS=-D_POSIX_SOURCE ./configure
  203. The `make' variables that you might want to override with environment
  204. variables when running `configure' are:
  205. (For these variables, any value given in the environment overrides the
  206. value that `configure' would choose:)
  207. CC C compiler program.
  208. Default is `cc', or `gcc' if `gcc' is in your PATH.
  209. INSTALL Program to use to install files.
  210. Default is `install' if you have it, `cp' otherwise.
  211. INCLUDEDIR Directory for `configure' to search for include files.
  212. Default is /usr/include.
  213. (For these variables, any value given in the environment is added to
  214. the value that `configure' chooses:)
  215. DEFS Configuration options, in the form '-Dfoo -Dbar ...'
  216. LIBS Libraries to link with, in the form '-lfoo -lbar ...'
  217. If you need to do unusual things to compile the package, we encourage
  218. you to teach `configure' how to do them and mail the diffs to the
  219. address given in the README so we can include them in the next
  220. release.
  221. 2. Type `make' to compile the package.
  222. 3. Type `make install' to install programs, data files, and
  223. documentation.
  224. 4. You can remove the program binaries and object files from the
  225. source directory by typing `make clean'. To also remove the
  226. Makefile(s), the header file containing system-dependent definitions
  227. (if the package uses one), and `config.status' (all the files that
  228. `configure' created), type `make distclean'.
  229. The file `configure.in' is used as a template to create `configure' by
  230. a program called `autoconf'. You will only need it if you want to
  231. regenerate `configure' using a newer version of `autoconf'.