Alan, I've been watching this somewhat. If this gets narrowed down enough to a relatively simple example, I could try it out myself too. I didn't see the example attached to this email thread, so maybe someone can send me the example.
Clint On Thursday, October 25, 2012 11:20:17 AM Alan W. Irwin wrote: > Here are the results requested by Brad: > > bash.exe-3.1$ ls > CMakeFortranCompilerId.F a.exe info.cmake > > bash.exe-3.1$ cat info.cmake > file(STRINGS a.exe _strings LIMIT_COUNT 4 REGEX "INFO:") > foreach(info ${_strings}) > message(STATUS "[${info}]") > endforeach() > > bash.exe-3.1$ /z/home/wine/newstart/cmake-2.8.9-win32-x86/bin/cmake.exe -P > info.cmake > > bash.exe-3.1$ > /z/home/wine/newstart/bootstrap_cmake/install_4.7.0/bin/cmake.exe -P > info.cmake -- [INFO:compiler[GNU]INFO:platform[]] > > So these results show a clear difference between the two CMake > versions on Wine-1.5.15; the file(STRINGS,...) command fails to work > properly (delivers an empty _strings) while the bootstrapped version > works properly. > > (Note, I am now using MinGW-4.7.0 rather than the MinGW-4.5.2 results > I discussed before. Exhaustive CMake, PLplot, ephcom, and te_gen > tests show that both versions of MinGW are reliable on Wine-1.5.15 so > long as you use the bootstrapped version of CMake above, and I have > decided to go with the 4.7.0 version from now on.) > > Just in case the problem was caused by the file hash issue that Clint > Stimpson found a few years back for Wine, I also copied a.exe to b.exe, and > ran the equivalent commands with appropriately modified info.cmake to look > at b.exe, but the results were the same; nothing for downloaded > CMake-2.8.9 while the bootstrapped version gave the expected result. > > Now that we have a clear fundamental difference between the two cmake > versions can you simplify the test case a lot more? I am thinking along > the lines of a simple C++ test programme (with one version compiled > there and one version compiled here) that attempts to do the same > thing as above. > > I also hope Clint Stimpson (who I put on the CC list) is willing to > start participating in this conversation since he has some Wine > expertise that he can bring to the table. Perhaps once you > have simplified the example still further, he will be able > to spot the area of Wine that could be the issue. > > Note also, that whatever the issue is, it does not occur for the > command generated by CMake to link C libraries. So I would look > carefully at how that link command is generated for C versus Fortran > libraries to see if there are any gratuitous differences that could be > eliminated. > > Finally, I very much appreciate the CMake developers' continued > willingness to spend some effort on Wine platform concerns. I am very > happy to cooperate in any way possible to get to the bottom of the > current issue on that platform, because other than this one issue > (which can be worked around by using the bootstrapped version of > CMake) it is running very smoothly for me for a number of exhaustive > tests. Nevertheless, if there are a number of additional tests you > would like to run for the present case, then you might want to > consider running them on your own Wine platform rather than attempting > to debug the problem slowly at one remove through me. > > If you want to pursue that option further, here are the two absolutely > straightforward steps you have to do to set up a Wine platform > on Linux. > > (1) You need to build Wine-1.5.15 under Linux making sure you have > ncurses support included in the configuration step. See > http://www.winehq.org/download/ and > http://wiki.winehq.org/Recommended_Packages for clear instructions > which I followed myself for my Debian wheezy platform. Alternatively, > that first page may give you access to binary versions of Wine-1.5.15 > that you could install for your particular Linux distribution. > > (2) Download and install MinGW-4.7.0 and the corresponding latest MSYS > on Wine using > > wineconsole mingw-get-inst-20120426.exe > > Make sure you check the box that says update to the latest > versions (which gets you MinGW-4.7.0), and check the box for > the full MSYS tools as well (which includes bash). > > That second step literally only takes 5 minutes. After that you run > all commands under bash.exe on the Wine platform using, e.g., > > wineconsole --backend=curses MinGW_4.7.0/msys/1.0/bin/bash.exe > > The big advantage of that curses backend for wineconsole is you can > cut and paste to it from Linux and vice versa. To save a lot of > typing and to always have reproducible results under the bash.exe > environment, I typically source a file (using the bash . operator) to > set up all the environment variables I need, then use bash(.exe) to > execute a shell script which runs the build and install of any > software that I need. For an example of this approach see the > files I sent to David for the test case that we are still using > for comparisons. > > 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); the Time > Ephemerides project (timeephem.sf.net); PLplot scientific plotting > software package (plplot.sf.net); 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 > __________________________ -- Clinton Stimpson Elemental Technologies, Inc Computational Simulation Software, LLC www.csimsoft.com -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers