From: Arjen M. <Arj...@de...> - 2015-07-13 11:18:02
|
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...] 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...] 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...<mailto: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...<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...<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. |