You are here

Compiling Gimp 2.7.2 for Windows

Now i know why developers pull out their hair.
Because I wanted to see for myself what wonderful new things are in the newest Gimp 2.7.2, I have decided to try and compile using cygwin. (i tried unsuccessfully with msys and minGW setup).
Surprisingly I have come very close to achieving just this. I have however ran into a roadblock, one of many already hurdled.The compile for Gimp 2.7.2 is successful up to the point of finding BABL. I have compiled BABL. My problem now is that GEGL when i go to run configure, can not find BABL, even though its installed.

Does anyone have a clue as to where to place the BABL binaries so GEGL can see them and compile itself?
I know others have compiled 2.7 for Windows, so someone has to have an answer for this.
I know they have to be in the path of the compiler itself, but does there have to be a path variable set in the system itself? Such as ..... BABL_BASEPATH prefix of path here and a, GEGL_BASEPATH ..... prefix of path here

thanks and best regards,
Rod

Forums: 

checking for aclocal flags...
checking for target architecture... i686-pc-cygwin
checking for dynamic library filename suffix... .dll
checking for some Darwin platform... no
checking for some Win32 platform... yes
checking for native Win32... no
checking whether gcc understands -mmmx... yes
checking whether we can compile MMX code... yes
checking whether gcc understands -msse... yes
checking whether we can compile SSE code... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BABL... configure: error: Package requirements (babl >= 0.1.2) were
not met:

No package 'babl' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables BABL_CFLAGS
and BABL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

There's nothing in there to pull your hair for... the babl packages isn't found by pkg-config, i.e. the babl.pc file isn't found. If you have installed babl, then you're probably lacking the developer package.

If you didn't install anything yet, then you'll have to build it from source as well. That's actually a good exercise, because babl got less dependencies than GIMP and building it will tell if the rest of your build environment is working.

But now after the configure file is finished, i type make and get this error...

Compaq_Owner@FAMILY-ROOM ~/gegl-0.1.2
$ make
make all-recursive
make[1]: Entering directory `/home/Compaq_Owner/gegl-0.1.2'
Making all in gegl
make[2]: Entering directory `/home/Compaq_Owner/gegl-0.1.2/gegl'
Making all in buffer
make[3]: Entering directory `/home/Compaq_Owner/gegl-0.1.2/gegl/buffer'
CC gegl-tile-backend-tiledir.lo
In file included from gegl-tile-backend.h:22:0,
from gegl-tile-backend-tiledir.c:26:
gegl-tile-source.h:23:23: fatal error: babl/babl.h: No such file or directory
compilation terminated.
gcc.exe: C:usrlocalincludebabl-0.1babl: No such file or directory
make[3]: *** [gegl-tile-backend-tiledir.lo] Error 1
make[3]: Leaving directory `/home/Compaq_Owner/gegl-0.1.2/gegl/buffer'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/Compaq_Owner/gegl-0.1.2/gegl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/Compaq_Owner/gegl-0.1.2'
make: *** [all] Error 2

Why in blazes is the script calling up all those directories as one name?
ie... C:usrlocalincludebabl-0.1babl ...
Shouldn't it read C:/usr/local/include/babl-0.1/babl ??

I actually ran configure all the way and got the makefiles created. Got most of the O files created and then..
I get this error...
make[4]: *** No rule to make target `gimp-2.7.rc.o', needed by `gimp-2.7.exe'. Stop.
make[4]: Leaving directory `/home/Compaq_Owner/GIMP_NEW/gimp-2.7.2/app'

Is this because no makefile was created for Gimp.exe?

That error could be because someone decided that my %-style rules are bad and have to be redone:

http://git.gnome.org/browse/gimp/commit/?id=333dfc7f134df1e092aa44108403...

None of us really bothered to check if the new rules work, and apparently they don't.

Hi,

Do you have any suggestions on a "quick and dirty" fix for this issue?

Thanks,
Partha

I just ran into the same issue when trying to compile the latest git under windows(using mingw)

make[4]: *** No rule to make target `gimp-2.7.rc.o', needed by `gimp-2.7.exe'.
Stop.

Did you find a way to resolve this?

was able to compile it by restricting rc.o commands for the make file?
I know it had a lot to do with the version i downloaded and tried to compile.
The newest src files may not have that issue.

Partha if you would kindly share the directory tree and system variables you have set for Msys and MinGW i would be greatful. I would also like to know how you have it setup as this seems to be the greatest issue with Windows compiles.Calling libraries and package config files.
Possibly you could upload the directions for setting this up to correctly compile gimp version src's?

Thanks,
Rod

An easy workaround is to revert the commit I've linked a few comments before - i.e. add the line prefixed by the minux sign back, and remove the three lines prefix by the plus signs.

Sadly this doesn't resolve the issue.

I did a complete new checkout and then changed the appropiate lines.
After setting pkg_config path, running "sh configure --disable-python" and starting to compile by typing "make" the same error occurs:

Making all in .
make[4]: Entering directory `/c/gimp/gimp-2.7.2/app'
CC app.o
CC batch.o
CC errors.o
CC sanity.o
CC signals.o
CC tests.o
CC unique.o
CC units.o
CC version.o
CC gimp-debug.o
CC gimp-log.o
AR libapp.a
CC main.o
make[4]: *** No rule to make target `gimp-2.7.rc.o', needed by `gimp-2.7.exe'.
Stop.
make[4]: Leaving directory `/c/gimp/gimp-2.7.2/app'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/c/gimp/gimp-2.7.2/app'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/c/gimp/gimp-2.7.2/app'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/c/gimp/gimp-2.7.2'
make: *** [all] Error 2

Maybe there is some more suitable place to discuss compilation problems?

Regards

Never run configure manually if you got the source code from Git. This destroys important dependency tracking rules.

The initial checkout and compile will include the following steps:

- git clone ...
- ./autogen.sh ...
- make ...

Add necessary and/or suitable parameters as needed.

Subsequent compiles will be like:

- git pull
- make

I will be happy to do so. I have been making notes on what I have been doing to get 2.7.2 compiled.

Give me till this weekend. I can put up the compiled 2.7.2 on my site.

Thanks,
Partha

looking forward to checking out your notes. :)
Maybe a couple of us can start compiling the new src's that come out for the windows user.

thanks again,
Rod

Well, I opened a bug report for the fact that we get the "no rule to make gimp-2.7.rc.o" Stop! error.

Anyway, I went ahead and deleted the various commands regarding creating rc.o files in the Makefiles in the Gimp 2.7.2 tree. I was then able to compile 2.7.2 (using Msys) with the x86_64-w64-mingw32 gcc 4.4.5 compiler.

Have not had any issues other than the fact that Windows resource files are not being utilized. Does anyone know what are the downsides (if any) of this?

Thanks,
Partha

Subscribe to Comments for "Compiling Gimp 2.7.2 for Windows"