On 2015-07-15 14:24-0700 Greg Jung wrote:

> Here is the "trully vanilla" results.  No additional library paths are
> involved (not even /mingw32/lib).

Hi Greg:

Thanks for this report for the 32-bit ?? MinGW-w64/MSYS2 platform.

To help interpret this report accurately I need the following
additional information from you:

1. Can you confirm you were attempting to test 32-bit MinGW-w64/MSYS2?

2. In shared/build_tree/CMakeCache.txt there are a number of different
path prefixes in use.  Could you please state the origin of
the ones I list below or confirm my guess if I have made one?

C:/msys64/mingw32/:            32-bit MinGW-w64/MSYS2?
C:/msys64/opt32/lib:           ????
C:/msys64/usr/:                64-bit MinGW-w64/MSYS2?

Note, Arjen mostly referred to that third prefix and had no references to
the first two prefixes or any other path reference containing "32" so I
am virtually positive he had a pure 64-bit system.  Thus, it appears
to me you have installed a mixture of 32-bit MinGW-w64/MSYS2 and
64-bit MinGW-w64/MSYS2 packages which would not be a good thing to do.

Instead, my advice is to wipe out all of 32-bit MinGW-w64/MSYS2 and
all of of 64-bit MinGW-w64/MSYS2 and proceed thereafter with fresh
installs of both using a unique installation prefix for each of them
so there is no chance of mixing the two.

Here are comments on some of the other files in your report.

====================
I. shared/output_tree/make.out

cd D:/comprehensive_test_disposeable/shared/build_tree/src && 
C:/msys64/mingw32/bin/gcc.exe  -O2 -mtune=pentium3 -DPLPLOT_HAVE_CONFIG_H
  -Dplplot_EXPORTS -IC:/msys64/mingw32/include  
@CMakeFiles/plplot.dir/includes_C.rsp   -DUSINGDLL -o 
CMakeFiles/plplot.dir/plctrl.c.obj
    -c D:/plplot-gitclone/src/plctrl.c
In file included from D:/plplot-gitclone/src/plcore.c:52:0:
C:/msys64/mingw32/i686-w64-mingw32/include/dirent.h:41:21: error: field 
'dd_dta' has incomplete type
   struct _finddata_t dd_dta;
                      ^
C:/msys64/mingw32/i686-w64-mingw32/include/dirent.h:88:22: error: field 
'dd_dta' has incomplete type
   struct _wfinddata_t dd_dta;
                       ^

I checked that for both your and Arjen's cases, HAVE_DIRENT_H was
#defined to be 1 so you are both compiling the dirent.h header that is
#included from plcore.c.  However, your compilation lead to the above
build errors for plcore.c, while Arjen's equivalent compilation
had no such issues.  (Note, you should be able to confirm everything I say
by comparing his report with yours and looking at the relevant
src/plcore.c source code.)

I ascribe your problem to the mixture of 32-bit and 64-bit
MinGW-w64/MSYS2 packages you seem to have installed (see above).  Once
you have your pure 32-bit MinGW-w64/MSYS2 platform and your pure
64-bit MinGW-w64/MSYS2 platform installed with unique prefixes so
there is no chance of mixing the two, I predict the problem will go
away for either case.  But if it persists for the pure 32-bit
MinGW-w64/MSYS case, then I would move to the pure 64-bit
MinGW-w64/MSYS2 case which Arjen's build demonstrates does not have
the above problem.
====================
II. comprehensive_test.sh.out:

cmake_added_options=-DENABLE_ada=OFF -DENABLE_octave=OFF

Please do not use -DENABLE_octave=OFF on any platform unless there is
a clear error.  (Arjen had to do this for Cygwin, but I believe I
fixed that error, but the only way my fix can be tested is for further
comprehensive testing not to use this option).

(Also note -DENABLE_ada=OFF is fine for 32-bit or 64-bit
MinGW-w64/MSYS2 because currently that is necessary on all Windows
platforms because of Ada language support limitations for CMake.  But
also note that for Linux (or any other Unix platform) the
-DENABLE_ada=OFF option should be dropped unless there is a
clear error with the Ada component of PLplot.)
====================
III. shared/output_tree/cmake.out

--  MINGWBINPATH = C:/msys64/mingw32/bin
--  include(plplot) coming: CMAKE_GENERATOR=Unix Makefiles. Examine
user-controlled variables:
  CMAKE_LIBRARY_PATH=
  CMAKE_INCLUDE_PATH=

The above is normally not in cmake.out so this means you are using a
modified version of PLplot.  This is harmless if you confine yourself
to just dumping out additional messages like above, but it does add
some uncertainty so it is probably best in future when creating public
reports like this one to simply use unmodified PLplot
for testing.

CMAKE_SYSTEM_NAME:      Windows
UNIX: 
WIN32:                  1
APPLE: 
MSVC:                           (MSVC_VERSION:  )
MINGW:                  1
MSYS:

I must say I am surprised by these variable values for the recommended
combination of MSYS2 version of cmake and "Unix Makefiles" generator
that you are using.  But let's just see how far this recommended combination
takes us for pure 32-bit MinGW-w64/MSYS or pure 64-bit MinGW-w64/MSYS.

-- WARNING: swig not found. Disabling java bindings
-- WARNING: swig not found. Disabling Python bindings

To overcome these issues, install swig with pacman.

There appears to be a package called swig at
<https://github.com/Alexpux/MSYS2-packages/tree/master/>.

There appears to be a package called python at that same location, but that
is no good to us since there is no corresponding numpy package at
that location.

There appears to be packages called mingw-w64-python2 and
mingw-w64-python-numpy at
<https://github.com/msys2/MINGW-packages/tree/master/> so that is the
combination you should install with the pacman installer.

Java and octave packages are not mentioned at the above two sites.

There appears to be a package called mingw-w64-lua at the 2nd site above.

-- WARNING: Disabling Itcl interface code
-- WARNING: Disabling Itk interface code

Itcl and Itk packages are not mentioned at the above two sites.

-- WARNING: SHAPELIB not found.  Setting HAVE_SHAPELIB to OFF.

There appears to be a package called mingw-w64-shapelib at the 2nd site above.

-- WARNING: X windows not found. Setting xcairo driver to OFF.
-- WARNING: X11 not found.  Therefore turning off tk and tkwin devices that 
depend on it

X is not mentioned at the above two sites.

-- WARNING: pango, pangoft2, or lasi not found with pkg-config.

libLASi not mentioned at the above two sites.

-- WARNING: Suitable Qt4 development environment not found so disabling Qt 
bindings.

There appears to be a packaged called mingw-w64-qt5 at the second site above.

-- WARNING: wxWidgets or its libraries not found so setting all wxwidgets 
devices to OFF.
-- WARNING: PLD_wxwidgets is OFF so setting ENABLE_wxwidgets to OFF.
-- WARNING: ENABLE_wxwidgets is OFF so setting all wxwidgets devices to OFF.

There appears to be a package called mingw-w64-wxwidgets at the second site 
above.

-- Looking for haru pdf header and library
-- Looking for haru pdf header and library - not found
-- WARNING: Setting PLD_pdf to OFF.

haruis not mentioned at the above two sites.  Sometimes the library
name contains hpdf instead, but that alias also not mentioned at the
above two sites.

-- WARNING:camlidl not found. Disabling ocaml bindings

camlidl not mentioned at the above two sites.

In sum, although MSYS2 has many more packages than MSYS, it apparently
(if the above two sites cover all MSYS2 packages) has fewer than
Cygwin.  To be specific, it appears that packages for Java, octave,
Itcl, Itk, X, libLASi, libharu (a.k.a libhpdf), and camlidl are not
available (assuming the above two URL's cover all possible MSYS2
packages) for MSYS2, but you should be able to install the following
MSYS2 packages to allow testing of more PLplot components: swig,
mingw-w64-python2, mingw-w64-python-numpy, mingw-w64-lua,
mingw-w64-shapelib, mingw-w64-qt5, and mingw-w64-wxwidgets.
====================

Suggestions for the next iteration:

1. Use a pure 32-bit or pure 64-bit MinGW-w64/MSYS2 platform rather
than a mixture.  As mentioned above I believe this will fix the
build-time error concerning dirent.h that you ran into this time.

2. Run

pacman -S \
swig \
mingw-w64-python2 \
mingw-w64-python-numpy \
mingw-w64-lua \
mingw-w64-shapelib \
mingw-w64-qt5 \
mingw-w64-wxwidgets

as per the pacman instructions in
<http://www.openwalnut.org/projects/openwalnut/wiki/InstallMSYS2>.
Note the name of the swig package really does not have that "mingw-w64-"
prefix the other package names have.

3. Use the cmake option -DPLPLOT_USE_QT5=ON which allows you to
build PLplot against Qt5.  The version of Qt in mingw-w64-qt5 is
5.3.1, and I have successfully built PLplot against an epa_built
Qt-5.3.1 and 5.3.2 in the past so I think that mingw-w64-qt5 package
should likely work for you.

Good luck with your next iteration, and let me know how it goes.

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
__________________________

------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to