On 2010-04-06 08:00+0200 Werner Smekal wrote: > Hi Alan, > >> My recent experiences with MSYS-bash under Wine have been good. It's version >> is >> >> bash.exe-3.1$ bash --version >> GNU bash, version 3.1.17(1)-release (i686-pc-msys) >> Copyright (C) 2005 Free Software Foundation, Inc. >> >> [...] >> easy sell. The advantage to us of this change is that if we switch our >> Windows testers from winbash to MSYS-bash, that will put many fewer >> constraints on any future test script changes we might want to make. > > Reason is, that you either work in MSys with MinGW or in the command > line shell of Windows (cmd.exe) with MinGW. But you can't/should not > work in both. E.g. MSys doesn't know about C:\, can't take care of \ in > filenames, etc. > > I have to admit, that I have never tested using MSys bash for ctest, but > usually most (?, assumption on my side) programmers who are using MinGW > use the command line shell or an IDE. MSys is incredible slow on Windows > (even compilation), so I wouldn't recommend it using it for daily > programming tasks - only to get an Unix based source running easily on > Windows (using autoconf).
Both of these points are understood, and also apply to win-bash. Our guiding principal should be that our Windows users should not be forced to use any version of bash for anything other than PLplot tests if they prefer to avoid using bash in their daily development. > > In addition cmake doesn't want to have MSys in the path, when you > actually want the "MinGW Generator". I remember that cmake complained if > there was an sh.exe in the path (MSys provides both bash.exe and > sh.exe). So if you want to use the MinGW/CLI combination MSys should not > be in the path (or at least you need to rename sh.exe). There is no doubt that the "MinGW Makefiles" generator specifically searches for sh on the path and craps out if it finds it there. Therefore, I agree we we should advise our PLplot testers on the Windows platform that they rename sh.exe if they want to use the "MinGW Makefiles" generator. The release notes for MSYS-bash say it has only the following Runtime requirements: msysCORE-1.0.11-bin.tar.gz (e.g. stock MSYS 1.0.11 installation) and termcap-0.20050421_1-1-msys-1.0.11-bin. msysCORE has no runtime requirements and neither does termcap N.B. there is no MinGW dependency for any of these packages. Therefore, these three packages give you complete bash functionality. I double-checked that conclusion by unpacking the above three files in a special location with the associated bin directory the only thing I added to my PATH. bash worked fine under those conditions for Wine, and I am sure it will do the same for Windows. Here is the combined bin subdirectory for that special location. w...@raven> ls /home/wine/mingw/MSYS/bash_location/bin bash.exe* cls* cmd* lnkcnv* msys-1.0.dll* msysmnt.exe* sh.exe* umount* bashbug* clsb* ftp* mount* msysinfo* ps.exe* start* which* Is there any app name there that bothers you except for the necessity to rename sh.exe if you are using the "MinGW Makefiles" generator? I also suggest you try the above experiment (download and unpack those three files in a special location and rename sh.exe) for your "MinGW Makefiles" PLplot tests to make sure all is well for those conditions on Windows. I just double-checked our build system, and it appears to me to offer maximum flexiblity on all shell issues. If the user specifies -DSH_EXECUTABLE:FILEPATH=whatever (say a renamed sh.exe), then it will take that full path name and use it for tests. If they don't, it first looks for bash, then win-bash, then, sh using the PATH. However, if there is anything about that that does not work as I have described, let me know, and I will fix it. Assuming you are happy with the results of your PLPlot tests using MSYS-bash with the "MinGW Makefiles" generator in the way I have outlined above, then I think we can go ahead and recommend MSYS-bash over winbash to our Windows testers. Note in answer to Arjen's further remarks: the strong motivation for this recommendation is winbash is seriously lacking in functionality. Werner and I kept running into those bash 1 (or perhaps win-bash) limitations again and again when debugging the ctest scripts years ago. At one point I thought we would have to give up ever testing anything with win-bash, but we finally figured out workarounds (some rather clumsy) for all win-bash issues. However, now there is a good modern bash 3 alternative available on Windows I definitely want to recommend it to our Windows testers so we don't have to be so careful of further changes to our test system. Let's face it, I am the chief instigator of such test system changes, and my principal development platform is Linux with bash 3 so it is good from the perspective of reducing bugs in our test system if the Windows testers also use bash 3. Also note, my concerns about win-bash are the principal reason I have asked you, Werner, and Hazen in the past to actually try the test_noninteractive and test_interactive targets for your Windows platforms. So when you do report back with those results, please indicate whether you are using win-bash or MSYS-bash. Of course, even if it turns out you do get good test_noninteractive and test_interactive results today a minor change I might make tomorrow for the test system that works fine for bash 3 might suddenly kill your good results on windows for win-bash. So I would strongly recommend you and all other Windows testers move to MSYS-bash as soon as possible to avoid that potential issue cause by the severe version mismatch between win-bash and modern bash. As you pointed out win-bash currently does have the one minor advantage of having to download only one package rather than three, but as my above experiment showed you can unpack those three required packages for MSYS-bash in arbitrary locations so long as you adjust your PATH accordingly. Also, MSYS devels are making noises about implementing a proper installer with package dependencies so this three versus one win-bash advantage should disappear in the future. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel