Re: [Gimp-developer] Gimp build for Windows




Hi,


On Thu, Jan 10, 2013 at 8:46 PM, pavel <pavel pamsoft cz> wrote:
Hi Skand,

here is a detailed guide of how to compile the dependencies. First of
all, I used MinGW64 cross compiler (Ruben's personal build) to build
both 32 and 64bit versions of Gimp. 32bit version works on Windows XP
and newer, 64bit version works on Win7, does not work on XP 64bit, I
suppose it would work on Vista and newer. I cannot see any issue like
instability or malfunctions.

zlib - I wasn't able to run configure for cross-compilation here,
fortunately this is an easy piece of code, so make can be called
directly with Makefile.gcc
libffi - no problems from here onwards until I mention some
libiconv
libxml2
gettext
glib - this is a bit tricky. I don't want to go into details, but there
are several issues with it and requires lots of manual intervention. I
can perhaps describe all the issues in a separate thread, if someone
request that
gtk-doc - no problems
atk - does not want to build shared library for 64bit version. Generated
libtool must be manually edited to go through.
libpng - no problems again
jpeg-8d
jasper
tiff
gdk-pixbuf
freetype
fontconfig
lcms (taken from ghostscript source)
lcms2
jbig2dec (taken from ghostscript source)

ghostscript - this is really hard one. In the end I created my own
script to build libgs.dll

libspectre - no problems again
poppler
pixman - must be configured with --disable-sse2 !!! Otherwise Gimp gets
very unstable, at least on virtual XP SP3
cairo - no problems from now till the end
harfbuzz
pango
libcroco
librsvg
libexif
libmng
iso-codes
gtk+
babl
gegl
GIMP !!!


Impressive list. I would have abandoned before...
In any case, for it to be more useful, details are better because that make a lot of difference:
- which version you installed for each dependency (that can change much)
- which compile option

Still I would say that you made too much effort (as impressive as they are). As Mitch said, you should not have to compile this all (the wiki page that Alexandre linked contains all the details to make a simple cross-compile environment).

Some final thoughts. The configure and libtool are very often so clever
that they refuse to build shared libraries even if all the required
dependencies exist. libtool must be manually edited and then it builds
them OK. The extra mentioned atk package is an exception to this role -
they are even more clever here for the 64bit cross-compilation that much
bigger portion of libtool must be commented out.

Could you be more specific? What do you mean by "editing libtool"? Are you sure you simply have not set your environment variables to point to the right prefixes for your cross-compiled environment *instead of* your normal environment (/usr/ and /usr/local usually)?
Once again the wiki page has some information on which such environment variables to set (note that there may be other env variables good to set. In any case it is rarely a good idea to do too specific configuration for a generic compilation environment).


For this reason it is almost impossible to create an automated script
which would do all the job. Or at least I am not skilled enough for
that.

Well as I said, the wiki gives all this information. And it is perfectly automatable. Actually I know it, because I wrote such a script, using my wiki notes.  :-)
I have a command line which allows me to create and enter cross-compilation environments in both 32 and 64 bits in 1 line (obviously it does not compile all the chain like you do! I use pre-compiled packages as in the wiki).
 


I don't know whether the sequence I gave here is an optimal one, but it
works. I hope it will be helpful anyway.

And I hope my comments were useful too. I don't want to look like I am negative. I just try to simplify your process. Plus, that should ease your work and give you more time for actual bug fixing!
Have fun!

Jehan

 

Pavel


On Thu, 2013-01-10 at 15:11 +0530, Skand Hurkat wrote:
> Could you provide a list of steps that went into compiling the
> dependencies? I have been trying to compile a similar list of
> dependencies for Win64 (using MinGW64), and have found very little,
> and/or scattered documentation for the same.
> A consolidated list of steps, or even better, a shell script that does
> the job will be highly appreciated.
>
> Regards,
> Skand.
>
> On 09-01-2013 15:05, pavel wrote:
> > Hi Gimp team,
> >
> > are you still looking for a Windows developer? Recently I've spent
> > couple of days, or maybe weeks, to compile Gimp for Windows, 32bit. In
> > the end I have a working Gimp, version 2.8.2. I have built the whole GNU
> > chain, starting with zlib through gtk+-2.0 and ending with Gimp, using
> > the most recent stable versions of all the necessary packages. Today I
> > quickly went through the list of Windows related bugs and it looks like
> > lots of them have gone.
> >
> > My initial intention was only to have a working build so that I could
> > compile my plugin for Windows. But now, when I invested so much work in
> > it, it would perhaps be good to share the whole work. I can create a new
> > Windows installer using msi and also build 64bit version.
> >
> > Would there be an interest in this? If yes, it would certainly require
> > lots of other discussion of what to include in the final package and
> > what to fix. I saw for example a request for the LANG environment
> > variable. I can confirm that this does not work anymore in the 2.8.2
> > version, but should be quite easy to add it.
> >
> > So I am waiting for your thoughts and ideas.
> >
> > Thanks, Pavel
> >
> > _______________________________________________
> > gimp-developer-list mailing list
> > gimp-developer-list gnome org
> > https://mail.gnome.org/mailman/listinfo/gimp-developer-list
>
> _______________________________________________
> gimp-developer-list mailing list
> gimp-developer-list gnome org
> https://mail.gnome.org/mailman/listinfo/gimp-developer-list


_______________________________________________
gimp-developer-list mailing list
gimp-developer-list gnome org
https://mail.gnome.org/mailman/listinfo/gimp-developer-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]