Slashdot Mirror


Building Gimp 2.0 on Windows XP?

Anonymouse asks: "Has anyone out there just had the urge to build Gimp 2.0 on Windows instead of using an installer made by a third party, hosted on a free web hosting service? It's probably fine but it makes me nervous, so I figure I should try building it on Windows instead...besides, it could be educational! Does anyone have any instructions/suggestions for building the source on Windows XP using MinGW and MinSYS? Keep in mind I have no experience with *nix, and my meek programing skillz only apply to Perl. Thanks!"

53 comments

  1. Not too sketchy. by SenatorTreason · · Score: 5, Informative
    "...an installer made by a third party, hosted on a free web hosting service?"

    I found this site linked from the main Gimp site. It doesn't look too sketchy to me. Why don't you use that?
    If you really want to compile from scratch, do it on Linux first with native Linux programs. When you get the hang of that, move to Windows. I'm all for sink-or-swim type trials, but, in this case, I think you'll sink. Very quickly.
    1. Re:Not too sketchy. by 0x0d0a · · Score: 3, Insightful

      If you really want to compile from scratch, do it on Linux first with native Linux programs. When you get the hang of that, move to Windows. I'm all for sink-or-swim type trials, but, in this case, I think you'll sink. Very quickly.

      Second that. Most software builds are much more extensively tested and used (and made easier and more reliable to build) under Linux. Linux distros come with a good set-up-in-a-standard-manner development toolset.

      A lot of Windows port work isn't kept up-to-date.

      Putting together your own cygwin or mingw toolchain (not that that's a bad idea in general) already is a severe pain in the ass. It can be real black magic to figure out what people last did to get primarily-used-on-UNIX-software building. When you couple that with the fact that there are all *sorts* of interesting problems that come up on Windows (case sensitivity suddenly existing, line feeds mattering, etc) things can get much more interesting.

    2. Re:Not too sketchy. by baldass_newbie · · Score: 2, Interesting

      Putting together your own cygwin or mingw toolchain (not that that's a bad idea in general) already is a severe pain in the ass. It can be real black magic to figure out what people last did to get primarily-used-on-UNIX-software building.

      Black Magic is putting it mildly. You could build a Gentoo system for how long it takes to cygwin configured just so.
      And that's not a knock on Cygwin's fine efforts, it's just the matter of fact. You're trying to dupe an OS's behavior on another OS.

      I started trying to do this very thing and realized what a colossal waste of time it was going to be.

      A good way to see if you have things working would be to try and build freeciv. That'll keep him busy. ;-)

      --
      The opposite of progress is congress
    3. Re:Not too sketchy. by 0x0d0a · · Score: 2, Insightful

      That should be "case insensitivity".

  2. No. by moosesocks · · Score: 5, Funny

    No. I've never had such urges. Seek help.

    --
    -- If you try to fail and succeed, which have you done? - Uli's moose
  3. Build is a discipline all to itself by ObviousGuy · · Score: 4, Informative

    Many software shops have dedicated build teams that do nothing more than make sure that the software is rebuilt from source every day. This entails tweaking build scripts, makefiles, and making sure that the proper libraries are available for the compiler and linker.

    This is not an easy task, though once set up properly it becomes fairly self-managing.

    Since you are coming from Perl where there is nothing to compile, it would probably be best to start by installing Cygwin and gcc and just try compiling a few simple programs first. READ the makefiles. Understanding the makefiles will make understanding the build process much easier.

    --
    I have been pwned because my /. password was too easy to guess.
    1. Re:Build is a discipline all to itself by Karora · · Score: 2, Insightful
      • Many software shops have dedicated build teams that do nothing more than make sure that the software is rebuilt from source every day. This entails tweaking build scripts, makefiles, and making sure that the proper libraries are available for the compiler and linker

      Really? I don't know about other people, but where I work we do this stuff with computers!

      Maintaining a team of people to autobuild would be really expensive, but maintaining a couple of computers to do it has mostly involved some setup costs.

      And it has been utterly fantastic, in terms of making sure we don't deliver broken software :-)

      --

      ...heellpppp! I've been captured by little green penguins!
    2. Re:Build is a discipline all to itself by Anonymous Coward · · Score: 1, Interesting

      How many software products do you build every night? 1? 5? 10? 50? 100? 500?

      Maybe for a company that only produces a handful of software titles, trusting the build machines to work flawlessly all the time is fine. You can always fire up another build in the morning if during the nightly the build machine ran out of memory or crashed a head or had any of a number of critical errors occur. But such lackadaisical care paid to the build system is not a luxury many companies can afford.

    3. Re:Build is a discipline all to itself by ogre2112 · · Score: 1

      Or install gentoo and type:

      emerge gimp

      or not.. but you'll save plenty of time and can have a beer or two while you sit back and enjoy seeing your build actually work without having to do it the hard way.

  4. Building GIMP by Tukon · · Score: 5, Informative

    The GIMP wiki has a full page on building GIMP using MinGW here.

    Not something that is worthy of an Ask Slashdot in my opinion, but we're here to help I guess. Also, check out the #gimp channel on irc.gimp.org for some help.

    -Tukon
    Stating the obvious.

    1. Re:Building GIMP by FattMattP · · Score: 5, Funny

      Ask Slashdot: Helping people who can't use search engines since 1999.

      --
      Prevent email address forgery. Publish SPF records for y
    2. Re:Building GIMP by SpaceLifeForm · · Score: 2, Funny

      Well, helping others can be therapeutic,
      it relieves stress from all of the SCO bashing.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
    3. Re:Building GIMP by Anonymous Coward · · Score: 1, Insightful

      i though SCO bashing relieved stress from (RI/MP)AA bashing.

    4. Re:Building GIMP by Mr+Z · · Score: 1

      Well, kinda like Maslow's Hierarchy of Needs, we have Slashdot's Hierarchy of Stress Relief.

      --Joe
  5. Nope by alan_dershowitz · · Score: 1, Insightful
    "Has anyone out there just had the urge to build Gimp 2.0 on Windows instead of using an installer made by a third party, hosted on a free web hosting service?

    Nope. No. Nuh-uh.

    Next!

  6. Re:You are an idiot by Steven+Reddie · · Score: 0

    Calm down buddy. He's hardly an idiot for being concerned about downloading a trojan. With all of the virus/trojan/worm activity these days I'd say he's being reasonably cautious, and good on him because if he's one less person to get infected then there's one less machine that can be used to attack the rest of us. While it may be true that the reputation of a website may not indicate that binaries on it are infected, it is still likely that any infected binaries out there would be on a less reputable website.

    As for the original question: I have no experience with building or even using gimp, but if the project supports building on Windows then just download it and give it a try. The intructions are probably quite easy to follow.

  7. New low by Anonymous Coward · · Score: 1, Insightful

    Jeez. What is going on with the quality of the Ask Slashdot questions these days?

    What next? "I'm J.Random Hax0R and I thought that I should get my own 3733t L1nux shell setup on my 14.4k modem and like I've got this 486DX33 with 8MB of RAM and a SoundBlaster Pro card but I can't work out how to recompile my own kernel. Can somebody tell me how and give me the config file as well? Greetz to Scr1ptK1dd1es and MrHax0RXtreme"

    The Gimp Wiki has plenty of information on how to compile Gimp for Windows so it's not exactly like the knowledge is particularly well hidden or proprietory. The relevant Wiki page is here. Is it so hard for somebody these days to even attempt to read the manual/documentation or search themselves?

    Who needs to think when we can just Ask Slashdot! We'll use the collective minds of several million people to work out how to use Google to search for steps to compile Gimp under Windows...

    1. Re:New low by Anonymous Coward · · Score: 2, Informative

      Maybe he's trying to draw attention to the fact that a compiled version of the gimp for windows costs $79.95, see here for more details.

      How's that for *free* software?

    2. Re:New low by Cecil · · Score: 3, Informative

      Good thing there's also a free-as-in-beer version. You can do that sort of thing with free-as-in-speech programs. You can also try to make a profit if you like.

      You're *free* to do whatever you like. Isn't that great?

    3. Re:New low by Anonymous Coward · · Score: 0

      Free as in speech, not beer :P

  8. My experiences with GIMP 2.0 on Windows by Xenkar · · Score: 5, Informative
    It's pretty nice but unfortunately the GTK version it requires breaks tray menus in Gaim and breaks Sodipodi's PNG export function and produces many errors.

    I downgraded to GTK 2.2.4.2 revision C and went back to GIMP 1.25. I'll give GIMP 2.0 another try when GTK+ 2.4.1 is released.

    1. Re:My experiences with GIMP 2.0 on Windows by DarkSarin · · Score: 1

      So that's what happened. Of course, Sodipodi still exports just fine on my linux install, but under winxp it craps out every time since I installed the gimp.

      --
      "We don't know what we are doing, but we are doing it very carefully,..." Wherry, R.J. Personnel Psychology (1995)
  9. Maybe try CygWin by robolemon · · Score: 2, Informative

    Maybe you ought to try CygWin and therefore compile Gimp for Windows in a Linux-like environment without needing to install an entirely new operating system. I am assuming of course that the ability to build Gimp for Windows comes easily provided you're building in Linux.

    --

    I design user interfaces for a free network management application,

    1. Re:Maybe try CygWin by Mr+Z · · Score: 1

      Of course, if you're not accustomed to the shell game that Cygwin plays with all your files, it could become very confusing.

      I stopped building stuff with Cygwin a long time ago for that reason. I still have it on my HD for a handful of tools, but really I should consider building those all with MinGW so that path interpretation works a little more sanely.

      --Joe
  10. Re:You are an idiot by Anonymous Coward · · Score: 0

    That's what a good (read:up2date) virus scanner and firewall software is for.

    I have downloaded many many thousands of windows binaries accross the years, and never once got a virus/trojan from them.

    Now considering gimp.org recommends this site, and has done for a long time, the risk of a trojan is so tiny it's not worth mentioning. Surely, if these binaries are infected, gimp.org would have taken down the link and put up a warning notice?

    And surely they guy who spends decent amounts of his time compiling/packaging and maintaining his site (for free I might add) - has FOSS motives, not trojan distribution motives?

    The guy with Windows XP "Anonymouse" should probably visit a shrink to have his paranoia looked at.

  11. Uhm by photon317 · · Score: 3, Insightful


    Doesn't this belong on an appropriate mailing list or something?

    --
    11*43+456^2
  12. CygWin? by 286 · · Score: 2, Informative

    People keep saying to start with installing Cygwin. But does Cygwin run everything as root? I am not a windows person but that is what my school claims is stopping them from installing it in the MS labs. If precompiled binaries make you nervous always running as root sounds worse. Is MinGW any better?

    1. Re:CygWin? by Anonymous Coward · · Score: 1, Informative

      Your school's IT deparment is staffed with idiots.

      Cygwin is a single dll that provides a posix emulation layer between via win32 api calls. The rest of cygwin is various source and binary packages available that are available for download via the setup tool. Certain packages (such as sshd for proper installation as a service) will require administrative privileges to properly install. Most packages don't require any special permissions.

    2. Re:CygWin? by batkid · · Score: 2, Informative

      The answer is no, cygwin does not running EVERYTHING as root. You can sync the cygwin passwd file with the windows account on the local machine and you can have windows level security in a *nix like environment.

      Cygwin is one of those really valuable tools that I use day in and day out. I installed cygwin on a windows server and now I have the best of both worlds. I can ssh into my windows machine and run windows commands as well as unix ones.

    3. Re:CygWin? by bccomm · · Score: 3, Informative

      There is no `root' in Cygwin. On Windows NT, the NT names are simply translated to a simple uid scheme (don't know about 9x). The names aren't even necessarily POSIX-compliant (eg. spaces are allowed). When the setuid(2) function is called, the DLL returns ENOSYS (not implemented). In short, Cygwin is pretty advanced (I almost got NetBSD cross-built on it one time, and I've been working to maybe get pkgsrc working, but that's another matter) but when it comes to security, well, the abstraction can only be as good as the underlying implementation. If a Windows box has tightened security, *cough*cough*choke*, then some operations may need the Cygwin1.dll run as ``Administrator,'' but default Windows installs give enough privilages to regular users that this is rarely a concern. Basically, programs aren't usually designed to check for `root', but rather for enough permissions to do whatever they need. If a cygwin binary cannot do something, like chdir'ing into an NT-restricted directory, it will just fail. MinGW does the exact same thing, but with no POSIX-esque layers, instead directly calling on msvcX.dll.

      As was already said by someone, your school's tech department is run by morons. If they truly wanted security, they wouldn't be running Windows in the first place.

      In one sentance: yes, everything in both MinGW and Cygwin is run as a `root'-ish user, but native programs have the exact same set of permissions. Running either is no more a security risk than is running Windows itself.

      -Bruce
      ---------
      |\|3+85D: f0r +3h r3a1 133t h4x0r5!!!!!1 Those who know will attest! They will agree! They already use it! They will not use annoying hacker-esque stereotypes!

    4. Re:CygWin? by jonadab · · Score: 1

      > (don't know about 9x)

      On Win9x, every process has the equivalent of root privileges. Always.

      On NT, any user can _get_ root (err, LocalSystem) privileges due to a thing
      called a shatter attack (which is basically a local root exploit that can't
      be fixed without breaking the Win32 API), but processes do not all have such
      privileges automatically, and cygwin would be no different from any other
      application in this regard.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    5. Re:CygWin? by scrytch · · Score: 1

      > But does Cygwin run everything as root?

      No, but the cygwin DLL maintains state such as file descriptor tables and other "kernel level" stuff, so anyone who can write to the DLL's state can screw with any running cygwin process to the point of pretty much owning it. It was designed this way so it would work on Win9x -- if it used the NT native API's exclusively, many of cygwin's design decisions would be a lot more elegant. It's not so much a risk as it sounds though -- any kernel has the same issue, where if you crack the kernel, you can potentially blow open the whole system. But since it's all in user mode emulation, it is pretty darn slow.

      You should probably think of MinGW as a native port of gcc and binutils for win32. MSYS runs over MinGW, and is a good deal more like cygwin, but is licensed differently (public domain as opposed to cygwin's GPL) and its emulation is a lot thinner because it eschews hacks to do it; MSYS has no fork(2) for example, but CreateProcess works just fine for shells and most other things. MSYS is noticeably faster than cygwin, but its installation is ultra-simplistic, and its package maintenance and upgrade paths are absolutely nonexistent, whereas cygwin has a sorta-ok installer program you can manage packages with.

      Mingw will run just fine out of user space, you can fit your mingw+msys distribution on a usb thumb drive if you want to, and unlike cygwin, you don't have to worry about distributing a runtime DLL for anything you compile with it.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    6. Re:CygWin? by Anonymous Coward · · Score: 0

      A so-called 'shatter attack' doesn't work unless you have a buggy program with enhanced privileges running. One example that was found was some anti-virus software but nothing that is installed with nt/2k/xp has this problem.

    7. Re:CygWin? by jonadab · · Score: 1
      < A so-called 'shatter attack' doesn't work unless you < have a buggy program with enhanced privileges running.

      The program doesn't have to be buggy per se; it only has to be running with enhanced privileges and have a "window" on the desktop. (Any representation on the desktop will do, even a system tray icon, if I understand correctly.) The vulnerability is in the Win32 API and widget set. The antivirus software in question was not buggy in itself (at least, not in a way that is relevant to the shatter attack), unless you count running with enhanced privileges as a bug.

      This guy claims to have exploit code for at least 4 different processes on a default installation of Windows 2000. Unless he's full of bologna, I'd rate that as pretty serious.

      Shatter is a privilege escalation attack. You have to already have some kind of user-level access to the system in order to use it. But it does allow any user on the system to get privileges. (This is particularly bad for a Terminal Services / thinclient situation, since any user on any of the thin clients can take over the whole server.)

      --
      Cut that out, or I will ship you to Norilsk in a box.
  13. Experiences from Gaim by samrolken · · Score: 3, Informative

    I've built Gaim for Windows before, and I think it would be quite similar to building The Gimp 2.0 since they both use a lot of the same software...

    The basic idea is to install cygwin, and use make and python and perl and all that other stuff the build process needs, but replace the compilers and libraries in your path with the ones from mingw.

    See here for more info:

    Windows Development - gaim

    When installing or compiling UNIX apps that have been ported to Windows, especially ones using GTK+, all kinds of crazy things end up happening with confused DLLs. Sometimes Gaim tries to use ActiveState's Perl and that breaks something, or tries to use some of Cygwin's libraries. What we need is something like the LSB that governs how UNIX-compatible environments (Cygwin and MinGW mainly) should work on Windows. That would be a big help to folks like me who must use Windows (No, trolls. I can't use Linux. I have reasons. Go away.) but want to have appilcations and environments that are UNIXey.

    --
    samrolken
    1. Re:Experiences from Gaim by OldMiner · · Score: 1
      Sometimes Gaim tries to use ActiveState's Perl and that breaks something, or tries to use some of Cygwin's libraries.

      That shouldn't happen, at least not if you used mingw all the way through. The whole purpose of compiling using Mingw is so that it uses msvcrt.dll and other common Windows equivalents instead of the Cygwin ones. I suggest you see what "ldd gaim" tells you. If you don't see 'cygwin3.dll' in there, it really shouldn't be loading said DLL. If you do, you didn't build suing Mingw all the way through.

      --
      You like splinters in your crotch? -Jon Caldara
    2. Re:Experiences from Gaim by samrolken · · Score: 1

      The cygwin DLLs that it tries to load aren't the main cygwin DLLs, but rather other DLLs that have to do with tcl, zlib, and so on.

      --
      samrolken
  14. But... but... but... by rf600r · · Score: 5, Funny

    Uhhhh, you're using WindowsXP.
    How did you find this webpage?
    What are you doing here?

    You're making me very nervous.

    Is this a trick?
    I have to go now.

  15. No by Dahan · · Score: 2, Informative
    Can't say as I've had that urge. When I get the urge to install GIMP in Windows XP, I use an installer made by a third party, hosted on the Academic and Research Network of Slovenia, recommended by the main GTK+ and GIMP for Windows porter.

    But if you feel like building it yourself, be my guest.

  16. Take paranoia pills by Anonymous Coward · · Score: 0

    It will help you for many different things.

  17. Broken tray menus in Gaim? by jtheory · · Score: 3, Informative
    If the only problem you saw in Gaim was the broken tray menus... then your version of GTK might not have been the problem.

    From their win32 page:
    What happened to the Gaim systray icon? - As of 0.65 systray functionality has moved into the docklet plugin, labeled "System Tray Icon" in Gaim's plugins section (under Preferences). You will need to load this plugin for the systray features to work.


    On the other hand, I just downloaded Gaim 0.76 (because I broke the old version when I upgraded GTK for GIMP 2.0)... and the tray icon is working fine, no changes on my part at all.

    Hmm. Either way, you should consider another shot.
    --
    There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
    1. Re:Broken tray menus in Gaim? by netsharc · · Score: 1

      My experience was, Gaim 0.75 worked fine with Gimp's GTK (20040124), but Gaim 0.76 wouldn't start because it couldn't find a "Procedure entry point".

      I preferred the ability to chat than to use Gimp, so out goes the GTK+ 20040124 and in goes GTK 2.2.4 rev. C (the one recommended by Gaim). Besides, I'm more comfortable with Paint Shop Pro.

      --
      What time is it/will be over there? Check with my iPhone app!
    2. Re:Broken tray menus in Gaim? by jtheory · · Score: 1

      My experience was, Gaim 0.75 worked fine with Gimp's GTK (20040124), but Gaim 0.76 wouldn't start because it couldn't find a "Procedure entry point".

      Weird -- maybe you're using a different OS version, or something else.... I'm running win2K, with GTK+ 20040124 (I just checked) and Gaim 0.76. And I'm using Gaim right now, so I know it's working. You might want to make sure you uninstall and reinstall Gaim, instead of just putting 0.76 on top of the older version. My older version of Gaim *did* die when I dropped and reinstalled GTK out from under it.

      --
      There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
    3. Re:Broken tray menus in Gaim? by netsharc · · Score: 1

      No luck.. I installed 20040124, tried to start Gaim, same error message: "The procedure entry point g_completion_set_compare could not be located in the dynamic link library libglib-2.0-0.dll . I have this file, it says it's version 2.2.3.0 ..

      Now installed GTK 2.2.4 rev C, and the libglib-2.0-0.dll also says it's version 2.2.3.0 .. didn't check if the files were exactly the same.

      Maybe you installed Glib separately? Or maybe the glib error is caused by some other error?

      Aah, DLL hell..

      --
      What time is it/will be over there? Check with my iPhone app!
  18. Building a native win32 gimp? by winchester · · Score: 3, Interesting

    IMO it would be a lot more challenging to try and build a native win32 binary. Yes, this means using the dreaded MFC, though I myself would prefer the way cleaner implementation of the ATL (or even the largely undocumented WTL).

    Of course building a Gimp 2 in managed code on the .NET platform would be even more interesting... imagine having a complete managed open source application to run on Longhorn way before anyone else has one...

    1. Re:Building a native win32 gimp? by Anonymous Coward · · Score: 0

      Shut up.

  19. And why don't you... by DarkDust · · Score: 2, Insightful

    And why don't you just go to the GIMP homepage, subscribe to the GIMP mailing list and ask the developers ?

    Seriously, if you're so lazy that you're using Ask Slashdot instead of their mailing list you should stick with the installer ! Especially since compiling GIMP 2.0 is diving into dependency hell (you'll need to compile about half a dozen libraries first, ATK, glib, GTK+, ... all in the correct order and with the right options (like Xft support, and if you want to use your graphic tablet you need XInput... at least on Linux/UNIX, YMMV on Windows of course)).

  20. Just use the Gimp on Linux by Anonymous Coward · · Score: 0

    Why suffer the pain of Windows when Linux Gimp is much better. Nearly every distro has a gimp. Just click a RPM file, watch the dependancies get automagiaclly sorted out and installed in less than a Minute. Then Find the gimp magically appear on Multimedia, Graphics, The Gimp on your "K" menu!

  21. GIMP on WindowsXP? by The+Bandit · · Score: 0, Flamebait

    I doubt Windows could handle GIMP. After all, XP really stands for Xtra Problems.

  22. The idea is pretty sick, but it is possible by dotz · · Score: 1

    click here

    Anyway, I don't have enough time recently to continue the development at a higher pace...

    Please help with the development!