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