Version 22 of Msys

Updated 2009-01-16 21:17:49 by Duoas

Intro to Msys

MSYS was created out of a long-lived desire to provide the MinGW community a Minimal SYStem, with which a configure script could be executed in a Windows environment.

"Msys is just a native compiled bash plus some other native compiled gnu tools. . . . The point is there is a minimal posix-style command line environment that should just be enough to run configure scripts. Unlike cygwin which gives you a full linux-style command line and runtime environment. . . . It's a minimal cygwin. . . . The main issue is that the configure result is suitable for mingw gcc to generate native compiled binaries."

A zip file containing msys and mingw can be downloaded here.

http://sourceforge.net/project/showfiles.php?group_id=10894

The msys and mingw download available above has been tested with current releases of Tcl and Tk. It is the same software available from http://mingw.org/ , except that all the needed software has already been packaged into a single download.

LV Is the above statement still true? Has Tcl 8.5.6 (or 8.6beta) been built with the above files? Anyone know what steps one must take to upgrade the files mentioned above - which are over 3 years old - to current versions?

See Building Tcl/Tk with Mingw for info about building Tcl/Tk with Msys and Mingw.

More information about msys and mingw can be found here:

http://www.mingw.org/msys.shtml


What is MSYS? (from the site)

MSYS or Minimal SYStem is a POSIX and Bourne shell environment use with MinGW. It provides a hand picked set of tools to allow a typical configuration script with Bourne syntax to execute. This allows most of the GNU packages to create a Makefile just from executing the typical configure script which can then be used to build the package using the native MinGW version of GCC.

The POSIX layer used by MSYS is a fork of the 1.3.3 version of Cygwin. Cygwin is a full POSIX layer and UNIX-like environment for Win32 providing both server and client utilites.

For more MSYS-specific information, please see the MSYS section of this website: http://www.mingw.org/msys.shtml .


Community Comments

RS: I've installed msys on W95 and Win XP and like them quite much. Beyond allowing configure/make to pass, it also gives a decent interactive shell (way better than command.com or cmd.exe...) Just some notes:

  • The msys.bat does quite some voodoo, but on XP I can't get plain black on white text in the console. It helped to just create a link to sh.exe directly.
  • Most commands I expected are there (Perl is not, but I'm not missing that), but du/df aren't.
  • The alternative shell rxvt.exe looks colorful, but can't run for instance tclsh interactively. So sh.exe is still best for me
  • I have not yet found a way where to put a ~/.bashrc so that it has actual effect on startup (neither in Windows HOME, nor in msys HOME...). Advice very welcome :^)

Duoas The shell only looks for ~/.profile, AFAIK. Put your configuration there. - RS: Great, thanks very much! Friendly hackers still beat the documentation, like bash's

 $ sh -c "help set"

where it says (and I had no other documentation at hand):

        -i  Force the shell to be an "interactive" one.  Interactive shells
            always read `~/.bashrc' on startup.

Also, I've never liked the wonky M icon that comes with MSYS, so I made my own: [L1 ]

LV If I have a system with a newer mingw already installed, is there a relatively painless way to get msys installed ? If I read the above info about the download zip correctly, it will install a relatively old version of mingw as a part of its installation process.

Duoas No, the MSYS/MinGW site is very confusing to read, but MSYS is separate from MinGW. In fact, when you install, be very careful to keep them separate. Never mix MSYS and MinGW. For example, on my XP, I have MSYS installed at C:\Program Files\msys and MinGW at C:\Program Files\MinGW . Keep in mind that my directories are abnormal (a lot of nix utilities need special help to deal with paths containing spaces --even those that ought to know better [bjam, for example]).

For others reading or installing MSYS for the first time: install MinGW first, and MSYS second. Doing so will make your make work right. (Don't mess with it!) You may want to create a link named "make" pointing to the mingw32-make.exe file, so you can actually type "make" at the command prompt. A simple alias will usually do just fine; in your ~/.profile add a line that reads

    alias make=`ming32-make`

Hope this helps.


See also