From: Arjen M. <arj...@de...> - 2011-11-11 07:57:34
|
Hi Alan, On 2011-11-10 19:31, Alan W. Irwin wrote: > On 2011-11-10 08:49+0100 Arjen Markus wrote: > > > Have you ever tested the combination of CMake-2.8.x and MinGW before? > I just realized that the -Wl,--allow-multiple-definition option has > been automatically set in our > cmake/modules/language_support/cmake-2.6/Platform/*.cmake files that > override CMake-2.6 language support in the Windows case. If you > previously were just using CMake-2.6.x to test this case, then you > were always using the -Wl,--allow-multiple-definition option which > would explain why you never saw this issue before. > No, I had been using CMake-2.8.5 for quite some time. > However, if it turns out you have successfully tested CMake-2.8.x and > MinGW before, then it is important to figure out exactly what has > changed between the success you had before and now. For example, if > you can show an older version of CMake-2.8.x works but not > CMake-2.8.6, that is important information that should be passed on to > the CMake developers. > To get started with the analysis of this problem, my first step was to use the version of gfortran that comes with MinGW 2010. As I recently installed versions 4.6.1 and 4.6.2, I had a hunch that might be the cause. The installation of MinGW 2010 on my PC comes with gfortran 4.5. Running CMake and make with that version of gfortran built all examples smoothly (well, there were some enigmatic warnings about the COMMON blocks, but they were accompanied with a reassuring message that the fix should in general work) and the programs were nicely built. My conclusion right now is that gfortran 4.6.x is causing the trouble. We do not need anything more than the -Wl,--allow-multiple-define option by the way, so if all else fails, we can greatly simplify these extra files. I am going to try and find out why these gfortran routines are incorporated in the DLL and if there is a way to prevent that. Regards, Arjen 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. |