From: Walt B. <wal...@gm...> - 2015-07-13 20:25:14
|
Here are my attempts to run the test as you requested. Just to get all the facts: The TDM version of Mingw is in C:\mingw. It includes gcc version 5.1. Msys is in C:\msys\1.0--the MSYS web site implied this was not the latest, but I couldn't find anything else. I enclose the test output with the directory "shared" removed. OW my mail wouldn't let me attach the tgz result. How do I install libplplot.dll if I can't build plplot? There may simply be too many things different, especially gcc 4.9 vs 5.1, but I will keep trying things if it will help you improve Plplot. BTW, I tried a build with MSYS instead of MINGW Makefiles for the first time before running the test and got pretty much the same results as before. [image: Inline image 1] On Mon, Jul 13, 2015 at 11:15 AM, Arjen Markus <Arj...@de...> wrote: > Hi Walt, > > > > As Alan suggested off-list, it might be a good idea to run the > comprehensive_test.sh script yourself and send me and Alan the resulting > tarball. Here is the script I use to get it going: > > > export PATH=/d/cmake/bin:$PATH > > > > # Generate all script results in ../comprehensive_test_disposeable > > ../plplot-git/scripts/comprehensive_test.sh > --do_test_traditional_install_tree no --do_test_interactive no --do_ctest > no --generator_string "MSYS Makefiles" --build_command make --ctest_command > ctest --do_clean_as_you_go no --cmake_added_options "-DENABLE_tcl=OFF" > --do_shared yes --do_nondynamic yes > > > > The command line is longer than it actually needs to be (it has gathered a > lot of cruft over the various iterations), but I have it stored in a small > shell script for easy use. > > > > The output is gathered in a concise tarball in the > comprehensive_test_disposeable directory. It is called > > “comprehensive_test.tar.gz”. > > > > The nice thing about this script, besides being an automatic test of > various build options (you only need to confirm that you want to run it, > because it will throw away anything in the test directory), is that it > collects as much information as could be relevant from the environment. > That will save us some time ;). > > > > Regards, > > > > Arjen > > > > > > > > *From:* Arjen Markus > *Sent:* Monday, July 13, 2015 1:18 PM > *To:* Arjen Markus; Walt Brainerd > *Cc:* plplot_general > *Subject:* RE: [Plplot-general] Problem building 5.11 on Windows 8.1 > > > > Hi Walt, > > > > The link problem with Fortran under MinGW I reported is solved – it turned > out that the condition to include the .def file in the link step was > incomplete. With that fixed it works all fine now. For this I have tested > the build options covered by the comprehensive test script, using the GCC > compiler suite that comes with MSYS2. > > > > Now, since you have problems with theTDM version of the GCC suite, can you > tell me how the make process fails? What are the error messages? It seems > strange that it would succeed after several retries – it would almost seem > that some dependencies are not handled correctly. Or perhaps there is a > problem with parallel builds? I have done my tests with a single-threaded > make command. > > > > Regards, > > > > Arjen > > > > > > *From:* Arjen Markus [mailto:Arj...@de... > <Arj...@de...>] > *Sent:* Monday, July 13, 2015 10:35 AM > *To:* Walt Brainerd > *Cc:* plplot_general > *Subject:* Re: [Plplot-general] Problem building 5.11 on Windows 8.1 > > > > Hi Walt, > > > > I had to reinstall MinGW 64-bits, as indeed it was hardly useable. I have > done so by installing MSYS2 as recommended by Alan. Now I see problems with > the .def file for the Fortran libraries – it has to do with the calling > convention (stdcall versus cdecl and that sort of fun stuff). Is that the > sort of failures you have been seeing? Here is a small fragment: > > Cannot export _PLPARSEOPTS@4: symbol not defined > > Cannot export _PLPLOTP_mp_PLAXES@40: symbol not defined > > Cannot export _PLPLOTP_mp_PLBOX3@72: symbol not defined > > Cannot export _PLPLOTP_mp_PLBOX@32: symbol not defined > > Cannot export _PLPLOTP_mp_PLCOLORBAR_1@96: symbol not defined > > > > It is not all that difficult to repair, but it has to be done, otherwise > the shared library option won’t work. > > > > Regards, > > > > Arjen > > > > *From:* Walt Brainerd [mailto:wal...@gm... > <wal...@gm...>] > *Sent:* Friday, July 10, 2015 9:27 PM > *To:* Arjen Markus > *Cc:* plplot_general > *Subject:* Re: [Plplot-general] Problem building 5.11 on Windows 8.1 > > > > Alan: mingw-64 etc. does not yet include gcc 5.1; > > that is why I am using the TDM version. > > > > Arjen: with the new version, plplot builds (the static > > library version), but when I run it, I get all kinds of > > errors about missing routines of the form __imp*. > > being called from wingcc (for example). > > > > So I tried the DLL version (which is what I think I > > was successful with before). make was strange. > > I would get an error, then try it again. It got further > > before getting another error. After about 5-6 tries > > it went all the way. > > > > Trying to compile a code then produced an error > > trying to load wingcc.dll. Windows says it isn't > > suitable to run on Windows; in a bash shell, it > > just says there is an error loading wingcc.dll. > > > > Any other suggestions? > > > > On Fri, Jul 10, 2015 at 2:14 AM, Arjen Markus <Arj...@de...> > wrote: > > Hi Walt, > > > > I just completed the set of comprehensive tests and committed the small > patch I had to make for the access() function. With this latest version it > ought to work for you too. > > > Regards, > > > > Arjen > > > > > > *From:* Arjen Markus [mailto:Arj...@de...] > *Sent:* Friday, July 10, 2015 10:37 AM > *To:* Walt Brainerd; plplot_general > *Subject:* Re: [Plplot-general] Problem building 5.11 on Windows 8.1 > > > > Hi Walt, > > > > I am trying this myself – using the comprehensive tests script under MSYS > – and I ran into the same issue. It seems that the logic for including the > header file unistd.h is incomplete or incorrect as far as MinGW is > concerned. I have changed this in my own repository to: > > > > > > #include "plConfig.h" > > #if !PL_HAVE_UNISTD_H > > #define F_OK 1 > > #include <stdio.h> > > int access( char *filename, int flag ) > > > > and that is doing the trick as far as the build up to now is concerned. If > successful, I will contribute this. > > > > Regards, > > > > Arjen > > > > > > *From:* Walt Brainerd [mailto:wal...@gm...] > *Sent:* Friday, July 10, 2015 1:25 AM > *To:* plplot_general > *Subject:* [Plplot-general] Problem building 5.11 on Windows 8.1 > > > > I have the TDM version of MinGW installed. > > > > C:\Users\Walt>gfortran --version > > GNU Fortran (tdm64-1) 5.1.0 > > Copyright (C) 2015 Free Software Foundation, Inc. > > > > I downloaded 5.11.0 using git and built with the following > > (all one line, of course): > > > > cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=install > > -DBUILD_SHARED_LIBS=OFF -DDEFAULT_NO_BINDINGS=ON -DENABLE_cxx=ON > > -DENABLE_f95=ON -DDEFAULT_ALL_DEVICES=ON ../plplot.git > > > > [Something different: I got a lot more devices and drivers.] > > > > Make produces the following: > > > > C:\walt\Software\Plplot\BUILD>make > > [ 0%] Built target csirocsa > > [ 3%] Built target deltaT-gen > > [ 4%] Built target deltaT.h_built > > [ 6%] Built target tai-utc-gen > > [ 7%] Built target tai-utc.h_built > > [ 10%] Built target qsastime > > [ 12%] Built target nistcd > > [ 12%] Built target cdexpert > > [ 13%] Built target cdmulti > > [ 15%] Built target cdsimple > > [ 16%] Built target cdtest > > [ 18%] Built target cdtext > > [ 18%] Built target color16 > > [ 26%] Built target test_nistcd > > [ 26%] Built target plhershey-unicode-gen > > [ 27%] Built target plhershey-unicode.h_built > > [ 29%] Building C object src/CMakeFiles/plplot.dir/plfreetype.c.obj > > In file included from > C:/Fortran_Tools/gfortran/x86_64-w64-mingw32/include/unistd.h:10:0, > > from > C:/walt/Software/Plplot/plplot.git/include/plplotP.h:110, > > from > C:\walt\Software\Plplot\plplot.git\src\plfreetype.c:90: > > C:/Fortran_Tools/gfortran/x86_64-w64-mingw32/include/io.h:310:15: error: > conflicting types for 'access' > > int __cdecl access(const char *_Filename,int _AccessMode) > __MINGW_ATTRIB_DEPRECATED_MSVC2005; > > ^ > > C:\walt\Software\Plplot\plplot.git\src\plfreetype.c:69:5: note: previous > definition of 'access' was here > > int access( char *filename, int flag ) > > ^ > > In file included from > C:\walt\Software\Plplot\plplot.git\src\plfreetype.c:90:0: > > C:/walt/Software/Plplot/plplot.git/include/plplotP.h:252:0: warning: > "isfinite" redefined > > # define isfinite finite > > ^ > > In file included from > C:/walt/Software/Plplot/plplot.git/include/plplotP.h:105:0, > > from > C:\walt\Software\Plplot\plplot.git\src\plfreetype.c:90: > > C:/Fortran_Tools/gfortran/x86_64-w64-mingw32/include/math.h:520:0: note: > this is the location of the previous definition > > #define isfinite(x) ((fpclassify(x) & FP_NAN) == 0) > > ^ > > src\CMakeFiles\plplot.dir\build.make:366: recipe for target > 'src/CMakeFiles/plplot.dir/plfreetype.c.obj' failed > > make[2]: *** [src/CMakeFiles/plplot.dir/plfreetype.c.obj] Error 1 > > CMakeFiles\Makefile2:798: recipe for target > 'src/CMakeFiles/plplot.dir/all' failed > > make[1]: *** [src/CMakeFiles/plplot.dir/all] Error 2 > > Makefile:135: recipe for target 'all' failed > > make: *** [all] Error 2 > > > > To me, the first one (access) looks like a conflict between gcc and plplot. > > The second (isfinite) is a conflict between two things in Plplot??? > > > > Help please? Thanks. > > > > > > -- > > Walt Brainerd > > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > > > > > > -- > > Walt Brainerd > > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > DISCLAIMER: This message is intended exclusively for the addressee(s) > and may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is > strictly prohibited. The foundation 'Stichting Deltares', which has its > seat at Delft, The Netherlands, Commercial Registration Number 41146461, is > not liable in any way whatsoever for consequences and/or damages resulting > from the improper, incomplete and untimely dispatch, receipt and/or content > of this e-mail. > -- Walt Brainerd |