I've been perusing mailing lists etc. about this, I don't understand enough to pass on what I might have learned, but I'll write a few lines just to help get it straight in my own mind. Newer versions of GCC for win32, 4.8.1, ... 4.9.1, come in four flavors: split on threads. (win32 .vs. posix), and on exception handling (sjlj vs dwarf2). Evidently posix,dwarf2 is the most popular download configuration. http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/
A dwarf2/sjlj is supposed to work under certain conditions - so libraries and DLLs will link together without complaint. The std library for C++ is created with one or the other treatments; there are seperate libstdc++-6.dll's provided with the toolchain distributions. Building in mingw/msys, I go to a windows cmd.exe shell for a sensible tty response. To accomodate this I have put a lot of the needed DLL's from in D:\programs and pointing the windows path there, instead of pointing the %PATH% variable to the same as mingw. So this directory can hold dwarf, sjlj versions of libgcc , libpthreadsGC and winpthreads, but only one libstdC++-6.dll and so a conflict occurs just in the loading. On Wed, Oct 29, 2014 at 6:45 AM, Arjen Markus <arjen.mar...@deltares.nl> wrote: > Hi Greg, > > > > I was away from my keyboard for a couple of days, hence my somewhat > delayed reaction. If I understand it correctly, the problems you were > facing have now been solved? (That is also the problem with the > PLGraphicsIn struct in the wingcc driver?) > > > > As for the linking of incompatible libraries: I have no idea if a tool > like CMake can be relied upon to detect and describe such problems. It does > test whether the compiler can do its work, but for that it relies on fairly > simple test programs. They may require some extra system libraries or not. > Perhaps there should be a test to see if a more complex program that uses > more system libraries can be built, but that is likely to be very > system-dependent. Though I can sympathize with you. > > > > Regards, > > > > Arjen > > > > > > *From:* Greg Jung [mailto:gvj...@gmail.com] > *Sent:* Saturday, October 25, 2014 12:45 AM > *To:* phil rosenberg > *Cc:* Arjen Markus; Alan W. Irwin; plplot-devel@lists.sourceforge.net > *Subject:* Re: [Plplot-devel] C++ examples broken in mingw > > > > > > That stackoverflow page has a clearer explanation than I've seen, that is > is dwarf2 exception in compiler .vs. sjlf in linker (?) or some-such, and > the quote: > > > > *I fixed that. What I've had wrong was in toolchain as a compiler I've had > i686-pc-mingw32-gcc-4.6.0.exe but as a linker: mingw32-g++.exe. I've change > it to i686-pc-mingw32-g++.exe and problem is solved. Thanks.* – > > gives me some hope. Is there a way to tell if a given package was > compiled with dwarf or with sjlj (or other). > > > > my gcc version is 4.8.2 which as I thought used dwarf, but > > D:\home\greg>gcc --version > > gcc (i686-win32-sjlj, Built by MinGW-W64 project) 4.8.2 > > > > . mingw32-xxx reside in /mingw/bin but the compiler I see, > i686-w64-mingw32-xxx resides on /ming32. My path is > ".:/local32/bin:/mingw32/bin:/mingw/bin:/bin:/opt/bin:/c/Windows: > ..." and there are clearly different libstdc files > > 1000974 Oct 5 2013 /mingw/bin/libstdc++-6.dll > > 883200 Dec 5 2013 /mingw32/bin/libstdc++-6.dll > > > > So that gives me a start. Here's a clue: these are evidently support > libraries since > > the mingw32 version tells me it goes with sjlj. > > /mingw/bin/libgcc_s_dw2-1.dll > > /mingw32/bin/libgcc_s_sjlj-1.dll > > > > to get a decent terminal response, I jump to a CMD shell which until today > I only > > had mingw/bin in its path. now i set the path: > > e:\python27;D:\cmd;d:\bin;e:\mingw\mingw32\bin;e:\mingw\bin;D:\programs;C:\Windows\system32; > and lets see ... > > > > ok that solves this issue: I had kept a copy of the (dwarfish) > libstdc++-6 in the general programs directory, rather than improvig hte > path to point to the correct version, which I know now is sjlj in /mingw32. > > > > Was I really supposed to know all this to run a program? I suppose that > is a pitfall > > of combining different systems under one roof. > > > > Thanks alot guys, looking at this simple example clears up a lot of things > for me in other areas - maybe. This was also the basic issue keeping me > from integrating wxWidgets, which I could compile and link but not run. > > ------------------------ > > I've made a wincairodriver for GDL which works well, has better backing > store (overplots in the wingcc device are not preserved) but doesn't have > the resize capability of wingcc. I do this without linking the main > program to the cairo or pango libraries, but > > about 12 new dependencies come in as wincairo gets loaded. > > I've done the same for Xcairo, but this attempt fails for some reason, > via segmentation > > fault, upon initiating the first window, either Linux and Cygwin64. > 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. >
------------------------------------------------------------------------------
_______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel