Hi David,

the reason the Wiki had info on devlibs builds as well as MSYS2 is owed to the fact that I added all the information required for the latter but did not want to remove the information on the former prematurely as some people were still using it and I wanted some tangible test coverage on MSYS2 builds first.

However as master (formerly known as trunk) can not be built with devlibs anymore and the MSYS2-built release of Inkscape 0.92.2 was a success I took your message as a reason to pull the plug on devlibs which should be considered deprecated as of now (they still work for the 0.92.x branch but they're unmaintained and don't offer any advantages compared to MSYS2 so if anybody still wants to use them use at your own risk).

http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows is redirected accordingly now and should be considered the "official" guideline.

Old instructions are still available for reference (I moved the old page to http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows_32-bit).

As for Visual Studio: This page was outdated even for devlibs builds and should be disregarded (I marked it accordingly). There's no need to use an IDE for building Inkscape and from my own experience it causes more issues than the added convenience is typically worth.


Regarding MSYS2 builds:

MSYS2 is in fact based on the Cygwin emulation layer and (like its predecessor MSYS) provides a Linux-like development environment for use on Windows, including a full-fledged bash (which is what you'll be using to build Inkscape in).

However the actual compiler toolchain used is mingw-w64 (the name is misleading: It's the successor of MinGW and it can actually produce both 32-bit and 64-bit binaries). This means what we colloquially call an "MSYS2 build of Inkscape" is actually a mingw-w64 build of Inkscape and therefore a native Windows application that does *not* need the Cygwin emulation layer (so while we use a Cygwin-based build environment for convenience we actually build a native win32 application).

The added advantage of MSYS2 is that (besides the build environment and compiler toolchain)  it also provides a large package database (very similar to common Linux distros) which includes *all* dependencies of Inkscape, therefore completely removing the need for any custom-built devlibs. As you noted running msys2installdeps.sh will download all required libraries automatically so nobody should ever have do manually fiddle with paths again (they will simply be derived from the environment of the shell).


If you have any additional questions not covered in the (now authoritative ;-) ) Wiki article let me know. In principle everything should be covered, but it's always possible I took something for granted when writing the article that is not that obvious after all, so there might be room for improvement.

Best Regards,
Eduard


Am 25.10.2017 um 19:42 schrieb mathog:
Hi all,

Today while perusing the varied Windows build instructions I was struck by some contradictory, or at least, not fully fleshed out text.

For instance, it says here:

http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows

  Warning: As our 32-bit development libraries (devlibs) currently do not
  offer GTK+ 3 (which is required by trunk) you have to follow the
  instructions for 64-bit builds or use MSYS2 if you want to compile
  the latest code (lp:inkscape)!

Is "lp:inkscape" the name on github too?

The Msys2 page says here:

http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows_with_MSYS2

nothing about devlibs.  Presumably it doesn't need them anymore and msys2installdeps.sh takes care of it?  Never having used Msys2 it isn't entirely clear what the "gtk3" install (for instance) is.  If there is no devlib for gtk3, what is this?  More like a cygwin library?

The 64 bit build page says here:

http://wiki.inkscape.org/wiki/index.php/Compiling_Inkscape_on_Windows_64-bit

in several places to use "mingw32-make".  No explanation why 32 and not 64.
Somehow related to "win32 threading model and SEH exception handling"?

Finally the visual studio page says here:

http://wiki.inkscape.org/wiki/index.php/Using_Visual_Studio

"Follow all steps of guide Compiling Inkscape on Windows."  At that point one has a fully compiled and working Inkscape.  Why bother with Visual Studio?  For the IDE?  Is there a discussion in the wiki somewhere about other IDEs, like CODE::BLOCKS or Eclipse?

Do any of these give instructions for packing up the built Inkscape so that it can be given to somebody else, like in a zip file?  As I recall there are a bunch of dll's that need to be copied into the Inkscape folder from other locations (devlibs/bin, mostly).  That was for an Inkscape built with mingw and msys and devlibs. What about Msys2 and whatever it is using for libraries?  Can you just copy over whatever it has for devlib equivalents or are there Msys2 core libraries which must come too (like when distributing a cygwin binary)?

Regards,

David Mathog
mathog@...1176...
Manager, Sequence Analysis Facility, Biology Division, Caltech

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
Inkscape-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-devel