On 2017-05-09 11:31-0000 Arjen Markus wrote: > Hi Alan, > > > >> -----Original Message----- >> From: Alan W. Irwin [mailto:ir...@beluga.phys.uvic.ca] >> Sent: Monday, May 08, 2017 7:18 PM >> >> Assuming the form I suggested on Cygwin >> >> cmake .... "-CMAKE_INSTALL_PREFIX=d:/plplot-src/install with spaces" >> >> does work there, please check that same form (used by the comprehensive test >> script) works on this platform as well. >>
> Unfortunately, it doesn't. CMake gets stuck again - this time I left it running over lunch and it had made no progress whatsoever when I came back (except writing lots of bytes according to the task monitor). Hi Arjen: The CMake developers have been notoriously lax concerning how the cmake command parses its command-line arguments. So when there is some error in that parsing you do often get a hang. But I would strongly advise you when that happens to not let it run more than a minute or two (i.e., the maximum time that cmake normally takes to configure PLplot). After all, with a hang, there is some indefinite loop happening, and if there are any memory leaks in that loop you could end up with an out-of-memory error and take down your whole system! That said, whatever the quirks in cmake command-line processing, those quirks should be consistent for a given version of CMake (unless the guy that packages CMake for Cygwin has applied a specific patch to have unique command-line processing for the Cygwin version of CMake which in my opinion would be a huge mistake on his part.) Up to now all my space in pathname checking has been done from the bash shell and for CMake-3.7.2. To check whether you are also running the bash shell, what is the result of the "echo $0" command there? Here it is software@raven> echo $0 /bin/bash If you get an empty response or a non-bash response, please switch to the bash shell for your tests by simply executing the "bash" command. Just to make sure what you have encountered is not a quirk for CMake-3.6.2 that has been fixed for 3.7.2, I tried CMake-3.6.2 here (built by me from unpatched source code provided by Kitware using the bootstrap method on Debian Jessie just like I build 3.7.2), and the above experiment worked fine. For the record, here is what I did (note the CMake constraints to make this a minimal version of PLplot so those same constraints give you the highest chance this will also work on your three Windows platforms including Cygwin assuming you can work around the Cygwin CMake "space" issue you have discovered. Note the spaces in the prefixes for all of the source tree, the build tree, and the install tree in this experiment. # Create build tree if it did not exist before. software@raven> mkdir -p /home/software/plplot/HEAD/build_dir\ blank # Remove contents of build tree (if there are any there) and all of install tree to get a fresh start. software@raven> rm -rf /home/software/plplot/HEAD/build_dir\ blank/* ~/plplot/installcmake\ blank # Change directory to (now) empty build tree. cd /home/software/plplot/HEAD/build_dir\ blank # Confirm software@raven> pwd /home/software/plplot/HEAD/build_dir blank # Configure minimal PLplot with CMake-3.6.2. software@raven> /home/software/cmake/install-3.6.2/bin/cmake \ "-DCMAKE_INSTALL_PREFIX=/home/software/plplot/installcmake blank" \ -DDEFAULT_NO_BINDINGS=ON -DDEFAULT_NO_DEVICES=ON \ "../plplot blank .git" >& cmake.out # Install make install >& install.out A check of cmake.out, install.out and install_manifest.txt all confirm that the install prefix was consistently "/home/software/plplot/installcmake blank" on my platform, and you should get the same result there. N.B. Please note the exact form above of both -DCMAKE_INSTALL_PREFIX and the source tree specification in the cmake command and follow that form for all your experiments. I suggest you stick to this exact order of arguments as well in case there is some CMake quirk with regard to that. If under bash, the above exact form still does not work for you, please try the Windows native Kitware binary download of CMake-3.6.2 (note the same version) to see if that works since you have already had "space" success with a Kitware version of CMake on MSVC. If the Kitware version works and the Cygwin one does not on Cygwin for the above form of the cmake command, then that is a clear bug in the Cygwin version that you should report to the Cygwin list, and meanwhile continue with the above experiment using the Kitware version (contrary to how I have argued before since my assumption was any patches added by the Cygwin packager would add some value for this platform rather than introducing a bug). Of course, if both the Kitware version and Cygwin version of CMake-3.6.2 fail to work, then I assume the cause is some unknown Cygwin issue that is likely nothing to do with CMake or the bash shell. In which case you really are stuck, and we have to emphasize in our wiki that blanks in the install prefix are simply not allowed by the Cygwin platform for unknown reasons. But hopefully it is just a bug in the Cygwin version of cmake that can be worked around (until that bug is fixed) by using the Kitware CMake (or you were using a slightly different form than above, and in fact both the Kitware CMake and Cygwin CMake work if you use the exact form above). 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 __________________________ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel