Environment suggestion
This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.
This is a read-only list on gimpusers.com so this discussion thread is read-only, too.
Environment suggestion | Rob Antonishen | 13 Nov 18:28 |
Environment suggestion | Martin Nordholts | 13 Nov 18:57 |
Environment suggestion | Sven Neumann | 13 Nov 20:18 |
Environment suggestion | Martin Nordholts | 13 Nov 20:25 |
Environment suggestion | Sven Neumann | 13 Nov 22:28 |
Environment suggestion | Akkana Peck | 14 Nov 07:39 |
Environment suggestion | Sven Neumann | 14 Nov 08:51 |
Environment suggestion | Akkana Peck | 17 Nov 03:01 |
Environment suggestion | Sven Neumann | 17 Nov 08:38 |
Environment suggestion
I've decided to try my hand at compiling gimp from source so I can look at possible development...
I normally use windows, but have used linux in the past as a desktop (redhat and ubuntu) and use it for my servers.
I have an older PIII notebook I'm willing to blow away and use just for this purpose...can anyone suggest the shortest path from a blank hard drive to a working gimp develpment environment?
Thanks in advance-
-Rob A>
Environment suggestion
Rob Antonishen wrote:
I've decided to try my hand at compiling gimp from source so I can look at possible development...
can anyone suggest the shortest path from a blank hard drive to a working gimp develpment environment?
Hi and welcome!
Here are my recommendations:
* Use a distro which has packages for reasonably new versions of the
libraries GIMP depend on. Ubuntu 8.10 should work just fine.
* Don't install any dependencies you need to build yourself (typically
babl and GEGL) into /usr/local, that will only create problems. Instead
put those in /opt and refer to the libraries in /opt explicitly when
configuring GIMP/the dependencies.
* Build unoptimized, debbugable versions of GLib and GTK+ so that you
can debug seamlessly through the GIMP/GTK+/GEGL/GLib/babl stack. For
example, this is the autogen command I use to configure a fresh checkout
of GIMP trunk:
export CFLAGS='-g -O0'; ACLOCAL_FLAGS="-I /opt/glib-trunk/share/aclocal
-I /opt/gtk-trunk/share/aclocal"
PKG_CONFIG_PATH=/opt/babl-trunk/lib/pkgconfig:/opt/libexif-0.6.17/lib/pkgconfig:/opt/glib-trunk/lib/pkgconfig:/opt/gtk-trunk/lib/pkgconfig:/opt/gegl-trunk/lib/pkgconfig
LD_LIBRARY_PATH=/opt/babl-trunk/lib:/opt/libexif-0.6.17/lib:/opt/glib-trunk/lib:/opt/gtk-trunk/lib:/opt/gegl-trunk/lib
./autogen.sh --prefix=/opt/gimp-trunk
Note that setting LD_LIBRARY_PATH is only necessary to please ./configure, you don't need that set when running GIMP trunk since libtool sets up the proper rpaths for the libraries. If you just build them in the right order you should be fine. That is, when building e.g. GEGL, use the GLib and GTK+ in /opt.
* Take the time to learn to use an editor! Popular choices are (g)vim and Emacs. It will take time, but it will be worth it. * Hang around in #gimp @ irc.gnome.org a lot, that's where the rest of the GIMP developers hang out. I hereby guarantee you that I will answer any question you might have when setting up your GIMP build environment (my nick is Enselic).
Best regards, Martin Nordholts
Environment suggestion
Hi,
On Thu, 2008-11-13 at 18:57 +0100, Martin Nordholts wrote:
* Use a distro which has packages for reasonably new versions of the libraries GIMP depend on. Ubuntu 8.10 should work just fine. * Don't install any dependencies you need to build yourself (typically babl and GEGL) into /usr/local, that will only create problems. Instead put those in /opt and refer to the libraries in /opt explicitly when configuring GIMP/the dependencies.
It doesn't hurt to put babl and GEGL into /usr/local. Just run configure without any extra arguments and things will just work.
* Build unoptimized, debbugable versions of GLib and GTK+ so that you can debug seamlessly through the GIMP/GTK+/GEGL/GLib/babl stack.
There's no need to do that. You can simply install the debug symbols for these libraries. The most important packages are libgtk2.0-0-dbg and libglibglib2.0-0-dbg.
For
example, this is the autogen command I use to configure a fresh checkout of GIMP trunk:export CFLAGS='-g -O0'; ACLOCAL_FLAGS="-I /opt/glib-trunk/share/aclocal -I /opt/gtk-trunk/share/aclocal"
PKG_CONFIG_PATH=/opt/babl-trunk/lib/pkgconfig:/opt/libexif-0.6.17/lib/pkgconfig:/opt/glib-trunk/lib/pkgconfig:/opt/gtk-trunk/lib/pkgconfig:/opt/gegl-trunk/lib/pkgconfig LD_LIBRARY_PATH=/opt/babl-trunk/lib:/opt/libexif-0.6.17/lib:/opt/glib-trunk/lib:/opt/gtk-trunk/lib:/opt/gegl-trunk/lib ./autogen.sh --prefix=/opt/gimp-trunk
If you follow my advice to install babl and GEGL into /usr/local, you can just run autogen.sh without any extra arguments.
Sven
Environment suggestion
Sven Neumann wrote:
Hi,
On Thu, 2008-11-13 at 18:57 +0100, Martin Nordholts wrote:
* Build unoptimized, debbugable versions of GLib and GTK+ so that you can debug seamlessly through the GIMP/GTK+/GEGL/GLib/babl stack.
There's no need to do that. You can simply install the debug symbols for these libraries. The most important packages are libgtk2.0-0-dbg and libglibglib2.0-0-dbg.
Unless I am mistaken these libraries have been compiled with optimization enabled. Debugging code compiled with optimization doesn't really work out, there's too much jumping-around going on.
- Martin
Environment suggestion
Hi,
On Thu, 2008-11-13 at 20:25 +0100, Martin Nordholts wrote:
Unless I am mistaken these libraries have been compiled with optimization enabled. Debugging code compiled with optimization doesn't really work out, there's too much jumping-around going on.
This might be true in theory. But I have not yet encountered a single case where this would have caused a problem. And I always compile with optimization enabled.
So for someone who wants to get a working development environment quickly, it is perfectly fine to use the packaged libraries.
Sven
Environment suggestion
Rob Antonishen writes:
I have an older PIII notebook I'm willing to blow away and use just for this purpose ... can anyone suggest the shortest path from a blank hard drive to a working gimp develpment environment?
Sven Neumann writes:
It doesn't hurt to put babl and GEGL into /usr/local. Just run configure without any extra arguments and things will just work.
There's one more step you'll need in addition to getting gegl and babl that I didn't see mentioned (maybe I just missed it): gimp needs quite a long list of build dependencies that aren't installed by default, especially on Ubuntu which doesn't even install a compiler. If you follow Martin's suggestion (which I agree with) of using Ubuntu 8.10 ("Intrepid Ibex"), you can get the requirements using one (perhaps very long) line typed in a terminal window.
This command might work, but I haven't tried it myself: sudo apt-get build-dep gimp
If you try that but still get build errors from missing packages, try the long version listing all the important packages:
sudo apt-get install build-essential subversion make gcc libglib2.0-dev libgtk2.0-dev intltool automake1.9 libtool gtk-doc-tools g++-3.3 libart-2.0-dev libtiff4-dev libexif-dev libxmu-dev libjpeg62-dev libmng-dev libpng12-dev librsvg2-dev libgutenprintui2-dev libaa1-dev python2.5-dev python-gtk2-dev libaa1-dev libxpm-dev libwmf-bin libwmf-dev libgtkhtml2-dev
By the way, on an older PIII notebook, you may have trouble with the standard Ubuntu "Live CD" installs. If the Live CD doesn't boot or locks up partway through the installation, don't give up, but try downloading one of the "Alternate Installer" CD images.
Unfortunately you may also have performance issues with GIMP 2.7 on a machine like that. With anything earlier, a PIII notebook should be okay as long as you're patient -- the build will take quite a while, maybe as long as a few hours -- and you don't need to work with huge images.
...Akkana
Environment suggestion
Hi,
On Thu, 2008-11-13 at 22:39 -0800, Akkana Peck wrote:
Unfortunately you may also have performance issues with GIMP 2.7 on a machine like that.
Are you implying that GIMP trunk is in any way slower than GIMP 2.6 (without enabling the GEGL projection, of course)? If you can show that this is the case, then we would like to know about it so that we can attempt to avoid such regressions.
Sven
Environment suggestion
Sven Neumann writes:
On Thu, 2008-11-13 at 22:39 -0800, Akkana Peck wrote:
Unfortunately you may also have performance issues with GIMP 2.7 on a machine like that.
Are you implying that GIMP trunk is in any way slower than GIMP 2.6 (without enabling the GEGL projection, of course)? If you can show that this is the case, then we would like to know about it so that we can attempt to avoid such regressions.
No, sorry, I didn't mean to imply that. At least with GEGL disabled, There's no performance difference I know of between 2.6 and 2.7.
In truth I haven't run 2.6 very much on my slow low-memory PIII laptop, and 2.7 not at all yet. 2.6 has mostly seemed comparable in speed to 2.4 -- both a bit slower, on that machine, than 2.2 was, a difference I don't notice on faster desktop machines.
...Akkana
Environment suggestion
Hi,
On Sun, 2008-11-16 at 18:01 -0800, Akkana Peck wrote:
No, sorry, I didn't mean to imply that. At least with GEGL disabled, There's no performance difference I know of between 2.6 and 2.7.
Ok, thanks.
In truth I haven't run 2.6 very much on my slow low-memory PIII laptop, and 2.7 not at all yet. 2.6 has mostly seemed comparable in speed to 2.4 -- both a bit slower, on that machine, than 2.2 was, a difference I don't notice on faster desktop machines.
That's not surprising. In particular the much higher quality of the zoomed-out image display in GIMP 2.4, compared to 2.2, costs a few CPU cycles.
Sven