We all know that the usual "configure; make; make install" procedure
does not work exactly as advertised for versions 1.1.x, especially if
the user installing the package is not the same as the one building
it.  Some of these problems have been mentioned by Michael J. Hammel
two weeks ago ("install issue over NFS").  

If you follow the instructions given in the INSTALL file, here is how
you are supposed to build and install the Gimp:

As the "build" user:
  % ./configure (using --prefix and other options as necessary)
  % make
As the "install" user:
  % make install

But this does not work (the installation fails), for the following
reasons:
- Due to some strange hacks in libgimp/Makefile, the libgimp library
  requires that you use "make" twice in order to have its dependencies
  satisfied (the "evil hack" mentioned in that file does not seem to
  work for me, although I am using GNU make).  So the build fails if
  you try "make install" and the "install" user has no write access to
  the build directories.  To solve this problem, you have to type
  "make" twice before attempting to install.
- The Perl plug-in rebuilds the gimp-perl.pot~ file every time (not
  only once as in the previous case) because of a dependency on a
  "force" target in plug-ins/perl/po/Makefile.  So you get the same
  problem as above during "make install".  But typing "make" twice is
  not enough to solve the problem, so you must edit the Makefile and
  remove the dependency if you want "make install" to succeed.
- The Perl plug-in incorrectly uses the installed header files instead
  of using the ones coming with the package.  This means that although
  everything can be compiled and installed, the Perl scripts will fail
  (lots of unresolved symbols) if anything has changed in libgimp.
  The only solution is to build and install everything once, then
  rebuild and re-install the Perl plug-in with the newly installed
  headers.

I don't know the exact reasons why these hacks were put in the various
Makefiles and I did not understand the explanations that were posted
until now, so it would be hard for me to fix these bugs.  If this is
not going to be fixed before 1.2, we should at least insert some
comments in the INSTALL file so that people who are trying to install
the Gimp using non-priviledged accounts have a chance to succeed.

Here are the steps that should be followed in order to install a
working version of gimp-1.1.x:

As the "build" user:
  % ./configure (using --prefix and other options as necessary)
  % make
  % make   (this rebuilds libgimp and re-links the gimp app)
As the "install" user:
  % make install
As the "build" user:
  % cd plug-ins/perl
  % make clean
  (edit po/Makefile and remove the "force" dependency for gimp-perl.pot)
  % make   (this builds the plug-in using the installed headers)
As the "install" user:
  % make install

This is more complex than what the INSTALL file says, but this works
for me (using Solaris 2.6, compiling over NFS) and I think that this
is the simplest way to get a working Gimp under these conditions.
Another option is to configure with "--disable-perl" and then the only
unusual thing that you have to do is to type "make" twice instead of
once before starting "make install".

I don't know if I should try to fix the Makefiles or just mention
these kludges in the documentation (in the INSTALL file), but
something should be done before 1.2 is released.  Of course, fixing
the Makefiles would be the best solution but this is probably not so
easy, especially if I do not understand the reason why these hacks
were inserted in the build system.  Could anybody enlighten me?

-Raphael

Reply via email to