On 2015-05-22 12:57-0000 Arjen Markus wrote:

> Hi Alan,
>
>
>
>> -----Original Message-----
>> From: Alan W. Irwin [mailto:ir...@beluga.phys.uvic.ca]
>>
>> So to help you with that installation task I did some research, and here are 
>> the
>> missing PLplot components from your current comprehensive testing (in order 
>> of the
>> CMake WARNING messages about these issues); the regular expression search
>> term I used at the 64-bit version of 
>> <http://cygwin.com/cgi-bin2/package-grep.cgi> to
>> find the package; and the corresponding name of that package.
>>
>> PLplot component          GUI search term  Cygwin 64-bit
>>
>> java bindings             java             Nothing relevant
>> octave bindings           octave           octave-devel-3.8.2-1
>> Tcl/Itcl bindings         itcl             tcl-itcl-3.4.1-1
>> ada bindings              gnatmake         cygwin32-gcc-ada-4.9.2-1
>> lua bindings              lua.h            lua-5.1.5-1
>> d bindings                gdc              Nothing relevant
>> libqhull prerequisite     qhull.h          libqhull-devel-2012.1-2
>> psttf device driver       LASi.h           libLASi-devel-1.1.1-2
>> pyqt4 bindings            sip.h            python-sip-4.16.7-1
>> wxwidgets device driver   wx.h             libwx_gtk2u2.8-devel-2.8.12.1-5
>> pdf device driver         hpdf.h           Nothing relevant
>> ocaml bindings            ocamlc           ocaml-base-4.01.0-2
>> gtk+-x11-2.0 support      gtk+-x11-2.0.pc  libgtk2.0-devel-2.24.28-1
>>
>> Installation of these packages and my fixes for any issues you find with that
>> broadened scope of comprehensive testing should make PLplot nearly as 
>> powerful
>> on Cygwin as it currently is on Linux, and I am very much looking forward to
>> achieving that goal!
>>

> I installed the above packages (oh, forgot about wxwidgets), but
some of them were not fully acknowledged by CMake (see the attached
tarball) .

>
>> From the report by CMake:
>
> -        Itcl is not accepted, because CMake could not find the accompanying 
> library - that is available though
>
> -        Ocaml is not accepted, because CMake can not find camlidl, well that 
> is simply not in the installation. I installed all things that contained 
> "caml" in their name/description, but it is missing from Cygwin nonetheless
>
> -        Qhull is not accepted either, same issue as for Itcl
>
> -        Pyqt4 is not accepted because CMake does not find sip - again it all 
> seems to be there
>
> -        Tk is turned off because there was no X Window server, but that has 
> different issues

Hi Arjen:

I was extremely happy to see that your report contained no messages
concerning WIN32 not being defined on Cygwin so that we can finally
put that build-system issue to rest.  And this time there did
not appear to be any warnings concerning X or X access.  Did you
change something with regard to X?

Here is my review of your remaining cmake WARNINGS about missing
components.

1. Octave:

-- WARNING: Required external octave header, hdf5.h, not found. Disabling 
octave bindings
-- OCTAVE_LIBRARIES = /usr/lib/octave/3.8.2/liboctave.dll.a
-- OCTINTERP_LIBRARIES = /usr/lib/octave/3.8.2/liboctinterp.dll.a
-- OCTAVE_INCLUDE_PATH = 
/usr/include/octave-3.8.2;/usr/include/octave-3.8.2/octave

My 64-bit search for hdf5.h indicates you should install
libhdf5-devel-1.8.14-1. (I have now [commit id = 7d1dfa8] modified the above 
WARNING message
to make that clearer.)

On Debian wheezy, the octave-devel package depends on libhdf5-devel,
but I guess that is not the case for Cygwin (which is likely a
packaging bug on that platform) which is why you have to install this
extra package on that platform.  I hope that change will finally allow
you to test our Octave binding and examples on Cygwin.

2. Tcl/Tk/Itcl/Itk

-- Start determining consistent system data for Tcl and friends
-- Found Tclsh: /usr/bin/tclsh (found version "8.5") 
-- Found TCL: /usr/local/lib/libtcl86.a
-- Could NOT find TCLTK (missing:  TK_LIBRARY TK_INCLUDE_PATH) 
-- Could NOT find TK (missing:  TK_LIBRARY TK_INCLUDE_PATH)
-- Looking for Tcl - found
-- TCL_INCLUDE_PATH = /usr/include
-- TCL_LIBRARY = /usr/local/lib/libtcl86.a
-- TCL_STUB_LIBRARY = /usr/local/lib/libtclstub86.a
-- TCL_LIBRARY_PATH = /usr/local/lib
-- Looking for tclsh - found
-- TCL_TCLSH = /usr/bin/tclsh
-- Looking for Tcl version with tclsh - found
-- PLPLOT_TCL_VERSION = 8.5.18
-- WARNING: Tcl library version = 8.6 that is extracted from the
    library name is not consistent with PLPLOT_TCL_VERSION = 8.5.18
[...]

The PLplot build system continues with Tcl/Tk/Itcl/Itk configuration
despite this last version inconsistency warning, and that eventually
lead to other issues.  But it seems to me this is the problem you need
to address since this is a serious inconsistency issue, i.e, you are
attempting to combine Tcl from Cygwin with some other /usr/local
version which is obviously not from an official Cygwin package.

So if you want to continue to use the official Cygwin version of tclsh
that you have installed with tcl-8.5.18-1 it is essential you also
install the consistent set of Cygwin development packages, e.g.,
tcl-devel-8.5.18-1, tcl-tk-devel-8.5.18-1, tcl-itcl-3.4.1-1, and
tcl-itk-3.3-2 (found respectively by using the search strings
"tcl-devel", "tk-devel", itcl.h, and itk.h).  Note that installation
of tcl-tk-devel-8.5.18-1 should also take care of the two "-- Could
NOT find..." messages above.  Also, I note you set TCL_INCLUDE_PATH,
but please try without that workaround which I doubt will be necessary
if you have the correct Cygwin packages installed.

You may have to set CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH
environment variables to force CMake to find consistent
Tcl/Tk/Itcl/Itk versions and to avoid using the /usr/local version you
also seem to have.  Or that might not be necessary.  Also, another
option is if the /usr/local version is some left over version you do
not have any further use for I would just delete it to keep it from
confusing CMake.

Once you install the appropriate development packages, I am pretty
sure this will take care of all remaining Tcl/Tk/Itcl/Itk
inconsistency warnings, but if not, there should be enough information
given out by our build system to allow you to diagnose and fix 
exactly what that remaining Tcl/Tk/Itcl/Itk version inconsistency
issue(s) might be.

3. Ada

-- WARNING: gnat library not found. Disabling ada bindings

Sorry.  I gave you an incorrect cygwin32-gcc-ada-4.9.2-1 package to
install above.  I now realize that is a 32-bit version of the Ada
compiler with libraries in a different location that only a 32-bit gcc
could find.  So you should purge that package and any other 32-bit
compiler packages it sucked in as dependencies from your system and
install instead gcc-ada-4.9.2-3 which should be exactly consistent
with your principal 64-bit gcc package.  And this illustrates the
point (valid on both Linux and Cygwin) that you should always keep an
exact record of what is installed so that it is easy to purge again.
And in any case I hope you are keeping an exact record (or will do so
from now on) since the list of Cygwin packages that should be
installed as PLplot prerequisites is important information that should
be in our wiki.

4. Lua.  Your install of lua-5.1.5-1 lead to no obvious configuration,
build, or run-time errors. So that is already an excellent result, and
I checked further in, e.g., shared/output_tree/make_noninteractive.out
to find the following:

lua
   Missing examples            :
   Differing graphical output  :  04 26
   Missing stdout              :
   Differing stdout            :

which I exactly replicate here for the same Lua version (5.1) that is
available on Cygwin.  So that exact similarity between Cygwin and Linux
is the best you can do at the present time.

However, note that the best PLplot support for Lua is for 5.2 where
the above issues disappear here. So to get that same perfect result
eventually there, I suggest you gently encourage the Lua packager for
Cygwin to upgrade to 5.2.  :-)

5: libqhull

-- WARNING: qhull library not found.  Setting PL_HAVE_QHULL to OFF.

The above failure message is way too terse.  I have now changed that.

A typical set of failure messages on Linux for qhull is now

-- qhull_a.h header could not be found
-- qhull library could not be found
-- Could NOT find QHULL (missing:  QHULL_INCLUDE_DIRS QHULL_LIBRARIES
QHULL_LIBRARY_DIRS) 
-- QHULL_INCLUDE_DIRS = 
-- QHULL_LIBRARIES = 
-- WARNING: at least one of QHULL_INCLUDE_DIRS or QHULL_LIBRARIES is
false so setting PL_HAVE_QHULL to OFF.

And here is a typical set of success messages on Linux for qhull:

-- Found QHULL: /home/software/qhull/install/include 
-- Looking for qh_new_qhull
-- Looking for qh_new_qhull - found
-- QHULL_INCLUDE_DIRS = /home/software/qhull/install/include
-- QHULL_LIBRARIES = /home/software/qhull/install/lib/libqhull.so
-- QHULL_RPATH = /home/software/qhull/install/lib

The other issue here is your search for qhull failed unexpectedly.
If you look in libqhull-devel-2012.1-2,
it contains

/usr/include/libqhull/qhull_a.h

The issue is that our qhull find module was searching for
qhull/qhull_a.h rather than libqhull/qhull_a.h.  So I have now (commit
id = 87a9504 ) fixed that so it looks for both.  This also required
that I change the style of our qhull #includes in that commit from

#include <qhull/qhull_a.h>
==>
#include <qhull_a.h>

I am hoping that these changes will fix the Cygwin qhull troubles
and therefore make PLplot's plgriddata command on Cygwin just as powerful
as it is on Linux.

6. psttf device driver.  All seems well there now.  That device driver
implements the psttfc and psttf devices which should produce really
nice-looking PostScript results for you on Cygwin.

7. pyqt4 bindings

-- WARNING: sip not found so setting ENABLE_pyqt4 to OFF.

I notice that sip.exe is located in the python-sip-4.16.7-1 package at
/usr/lib/python2.7/site-packages/sip.exe rather than in the expected
/usr/bin/sip.exe location.  That seems like a Cygwin packaging error
to me.  Try working around that issue by putting
/usr/lib/python2.7/site-packages/ on your PATH to see if that makes
your pyqt4 issues go away.

8. wxwidgets device driver.  Please do install
libwx_gtk2u2.8-devel-2.8.12.1-5.

9. ocaml bindings

-- OCAMLC = /usr/bin/ocamlc.opt
-- WARNING:camlidl not found. Disabling ocaml bindings

I agree with your analysis above that camlidl is not available on
Cygwin.  Since camlidl is used to help generate the ocaml binding
for PLplot, this is an ocaml binding showstopper on Cygwin that
we can do nothing about (unless you request Cygwin packaging of camlid,
and someone implements that).

10. gtk+-x11-2.0 support.  All appeared to be well in this case.

To summarize all of this, there appears to be nothing you can do for
java, d, pdf, or ocaml. Components that you just got to work this time
or which should be fine on your next try due to changes I made are the
lua binding, libqhull support library, psttf device driver, and
gtk+-x11-2.0 support. However, there is more you can still do for
Octave (install an additional package); Tcl/Tk/Itcl/Itk (get rid of
version inconsistency issues by installing relevant packages); Ada (uninstall 
the incorrect package I
suggested [and its dependencies that were installed] and install the
correct Ada package instead); pyqt4 (put sip.exe on your PATH); and
wxwidgets (please install libwx_gtk2u2.8-devel-2.8.12.1-5).

Please test again with the above additional packages installed, the
suggested PATH change, and for the latest git version of PLplot (which
includes my recent fix that affects Cygwin).  I am very much looking
forward to those still broader test results on Cygwin.

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
__________________________

------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to