Yes this is what I'd need exactly. That sounds great to just include in the released binaries then.
I believe most people who download the binaries will use them to link against those mpi libraries and therefore they write source code, so they debug it. The user can built release, and would need to link against release mpi libs (include the c++ runtime release version). The user will also build debug, and woud need debug version of the mpi libs (linked against the c++ runtime debug version) The only way that the user would be ok to link their debug application vs the release mpi libs, is if the release mpi libs are linked against debug c++ runtime. which maybe a way to do it too. I think the cleanest however is to just provide on the website both release and debug vesions of the mpic++, of the libs and of the dlls. On RHEL for e.g., openmpi package contains release and debug versions of the libs. THe same issue applies to mpic++. However, the rpm package there contains mpic++ only. To be perfectionnist, mpic++d doesn't seem such a perfect solution because we never really want to debug mpic++ itself, but user may want to debug libmpid.dll in some cases. my 2cents, There is work to do to support openmpi properly in both boost and cmake. boost build has a mpi jam file which doesn't properly call mpic++ on windows. To use Option 3, mpi jam needs to change to call either mpic++ or mpic++d cmake findmpi also needs to change to account for both. Thanks, MM From: Shiqing Fan [mailto:f...@hlrs.de] Sent: 17 January 2012 15:06 To: MM Cc: 'Open MPI Users'; Jeff Squyres Subject: Re: feature requests: mpic++ to report both release and debug flags Hi MM, Actually option 3 has already been implemented for Windows build, and it seems adequate. But it was not targeting for the windows binary, as only quite a few users require this feature. When enabling WANT_EXE_DEBUG_POSTFIX option in CMake GUI, the build system will generate mpic++.exe (release) and mpic++d.exe (debug), and also their wrapper data files. So it is possible so just use mpic++ -showsome for release options and mpic++d -showsome for debug options. Is this what you are looking for? If it is really necessary, I don't see any problem to include it in the windows binary releases. I don't know how this is done on Linux system, can anyone comment? Regards, Shiqing On 2012-01-16 3:51 PM, MM wrote: Hello, It would be useful for the end user to use mpic++ to obtain the compile and link flags for both release and debug builds. There is a number of possible solutions: 1. add the showme flags of mpic++ and any other similar binary to something like -showme:compile_debug -showme:compile_release -showme:link_release -showme:link_debug 2. add a -showme_debug flag to tune the -showme:compile -showme:link 3. have 2 versions of the binary mpic++(release) and mpic++(debug) 4. have 1 version of the mpic++ but 2 versions of the of wrapper-data.txt file 5. have 1 version of mpic++ and 1 version of the wrapper-data file, and 2 sections in the wrapper-data file It would be great to have this delivered in the win binaries package (include both release and debug libs, that's already the case), and advise 3rd party packagers on unix/linux/mac distributions to do similarily It would be also useful to publish the cmake flags used by default to produce the win binaries I am available to test the packages if possible, also is there a wiki for requests or a similar system where I should file the above. MM Regards, From: Shiqing Fan [mailto:f...@hlrs.de] Sent: 19 November 2011 04:44 To: Open MPI Users Cc: MM Subject: Re: [OMPI users] mpic++-wrapper-data.txt msvc10 Release/Debug 1.5.4 Hi, There is no easy solution. But you can try to use WANT_EXE_DEBUG_POSTFIX option in CMake GUI. Enabling this option will generate different executable.library names for debug and release build. For example, mpic++d.exe for debug and mpic++.exe for release. For you case, just build both debug and release version of Open MPI 1.5.4, and install them into the same path, you will get two sets of executables/libraries (with "d" postfix for debug version) and mpic++ config files (mpic++d-wrapper-data.txt for debug version). Then just append your own debug/release compile options in the config files, and build with boost mpi as you need. Hope this helps. Regards, Shiqing On 2011-11-18 9:44 PM, MM wrote: Hello, Compiling boost mpi library uses mpic++ to get the compile flags to pass to cl.exe and link libs to pass to the linker. In my case: >>> mpic++ -showme:compile /I"C:\Program Files\openmpi\bin/../include" /TP /EHsc /MD >>> mpic++ -showme:link /link /LIBPATH:"C:\Program Files\openmpi\bin/../lib" libmpi_cxx.lib libmpi.lib libopen-pal.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib To choose Release build or Debug build, is it possible to use mpic++-wrapper-data.txt to specify both options? Release /MD libmpi_cxx.lib libmpi.lib libopen-pal.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib Debug /MDd libmpi_cxxd.lib libmpid.lib libopen-pald.lib libopen-rted.lib advapi32.lib Ws2_32.lib shlwapi.lib is there a debug version of "advapi32.lib Ws2_32.lib shlwapi.lib" For now, I will just override that file for Release, build boost mpi, override for Debug, build for Debug. thanks, MM _______________________________________________ users mailing list us...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/users -- --------------------------------------------------------------- Shiqing Fan High Performance Computing Center Stuttgart (HLRS) Tel: ++49(0)711-685-87234 Nobelstrasse 19 Fax: ++49(0)711-685-65832 70569 Stuttgart http://www.hlrs.de/organization/people/shiqing-fan/ email: f...@hlrs.de -- --------------------------------------------------------------- Shiqing Fan High Performance Computing Center Stuttgart (HLRS) Tel: ++49(0)711-685-87234 Nobelstrasse 19 Fax: ++49(0)711-685-65832 70569 Stuttgart http://www.hlrs.de/organization/people/shiqing-fan/ email: f...@hlrs.de