Difference between revisions of "Hacking:Problems and solutions"

From GIMP Developer Wiki
Jump to: navigation, search
(Add templates for postings)
(Add building problem 'missing files in non-existing prefix')
Line 25: Line 25:
  
 
==Building==
 
==Building==
 +
'''Problem: Building GIMP fails for instance in libgimpcolor with a message telling you, that some files in $ANOTHER_PREFIX/lib are missing and thus building libgimpcolor.la (or another *.la file) failed.'''
 +
 +
'''Cause:'''
 +
You switched over to another prefix. You already cleaned or removed that old prefix, but in your new prefix are some files referring to other files in that old prefix.
 +
In other words - there's an evil mixture of your new prefix and some old prefix zombies and libtool trips you up ;-)
 +
 +
'''Solution:'''
 +
Finding out the actually errorneous parts can take you hours, so it's better to make a clean sweep:
 +
# Check your environment variables, especially the build environment variables. If they point to that old prefix, change them to point to the new prefix.
 +
# Drop the contents of your new prefix.
 +
# Rebuild from scratch. For BABL, GEGL and GIMP (and other libraries, if you use them):
 +
## Change to their directory.
 +
## Save your work (backup your working files or do '''git stash''').
 +
## Run '''git clean -xdf''' or drop the contents of the workspace except the .git folder or the source tarball.
 +
## Run '''./configure --prefix=$PREFIX''' (Git users: '''./autogen.sh --prefix=$PREFIX''').
 +
## Run '''make && make install'''.
 +
Some more information on building can be found at [[Hacking:Building | the building tutorials]].
  
 
==Debugging==
 
==Debugging==

Revision as of 09:34, 29 June 2013

This page describes problems that hamper the developers work and their solution. It's a knowledge base for developers. Feel free to add your own findings and don't be shy. It makes the work easier for all of us.



Building

Problem: Building GIMP fails for instance in libgimpcolor with a message telling you, that some files in $ANOTHER_PREFIX/lib are missing and thus building libgimpcolor.la (or another *.la file) failed.

Cause: You switched over to another prefix. You already cleaned or removed that old prefix, but in your new prefix are some files referring to other files in that old prefix. In other words - there's an evil mixture of your new prefix and some old prefix zombies and libtool trips you up ;-)

Solution: Finding out the actually errorneous parts can take you hours, so it's better to make a clean sweep:

  1. Check your environment variables, especially the build environment variables. If they point to that old prefix, change them to point to the new prefix.
  2. Drop the contents of your new prefix.
  3. Rebuild from scratch. For BABL, GEGL and GIMP (and other libraries, if you use them):
    1. Change to their directory.
    2. Save your work (backup your working files or do git stash).
    3. Run git clean -xdf or drop the contents of the workspace except the .git folder or the source tarball.
    4. Run ./configure --prefix=$PREFIX (Git users: ./autogen.sh --prefix=$PREFIX).
    5. Run make && make install.

Some more information on building can be found at the building tutorials.

Debugging

Git

Translating