Re: [Gimp-developer] Gimp build for Windows



Hi Jehan,

On Tue, 2013-01-22 at 14:28 +0900, Jehan Pagès wrote:
> 
> 
> 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)
Basically I used the most recent stable version at the time when I was
compiling.
> 
> - which compile option
This would be quite a long list. The best packages are happy with
PKG_CONFIG_PATH, the worse need some more.

> 
> 
> 
> 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).
> 
Well, it would certainly be easier just to install the binaries and only
compile babl, gegl and gimp. On the other hand, if I don't have the full
source compiled, I could hardly find this bug, for example:
https://bugzilla.gnome.org/show_bug.cgi?id=692232
This one really annoyed me much since I don't like the single window
mode :-) Now I have my patch included in my Windows build and I am
happy.
> 
> 
>         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)?
> 
By "editing libtool" I mean to open the generated "libtool" file
(generated bu configure) in a text editor and comment out some lines
preventing shared libraries to be built.

Do you think it is possible to cross compile something like gimp and all
its dependencies without having set the right prefixes etc.? :-)

> 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).
> 
Well, if you only compile babl, gegl and gimp, then I can imagine that
such a script may work.
>  

>         
>         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!
> 
Yes, I am very thankful for your comments. As I explained, sometimes I
like to have a full control over what I am doing. And as I showed the
problem with growing tool windows, the source of errors might be much
deeper than in the few top packages.

Anyway, I have quite working environment now and I can focus on fixing
some reported bugs.

Pavel
> 
> 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]