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

Reply via email to