[mpich-discuss] MPICH 3.2.1 build error with icc+ifort: undefined reference to `_Static_assert'

Min Si msi at anl.gov
Wed Jun 13 17:34:35 CDT 2018


I was just creating the issue on MPICH github when Jeff replied.

Please use this issue to keep track:
https://github.com/pmodels/mpich/issues/3178

Min
On 2018/06/13 15:19, Jeff Hammond wrote:
> _Static_assert comes from C11.
>
> src/include/mpir_assert.h does a direct test for C11 support based 
> upon the GCC version, which is unsafe since ICC (and other non-GCC 
> compilers) define these macros.
>
> /* GCC 4.6 added support for _Static_assert:
>  * http://gcc.gnu.org/gcc-4.6/changes.html */
> #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && 
> !defined __cplusplus
> #define HAVE_C11__STATIC_ASSERT 1
> #endif
>
> MPICH needs to test for _Static_assert properly using configure.  You 
> should file a GitHub issue to track this.
>
> Jeff
>
> On Wed, Jun 13, 2018 at 2:33 PM, Gus Correa <gus at ldeo.columbia.edu 
> <mailto:gus at ldeo.columbia.edu>> wrote:
>
>     Hi MPICH experts
>
>     I am trying to build MPICH 3.2.1 with Intel
>     compilers (icc, ifort).
>     C++ is disabled.
>
>     The configuration step goes well,
>     but make fails,
>     after a lot of stuff is compiled,
>     with the error below (undefined reference to `_Static_assert').
>
>     FYI, the OS is Linux Fedora Core 26:
>
>     Linux 4.15.17-200.fc26.x86_64 #1 SMP Thu Apr 12 18:28:26 UTC 2018
>     x86_64 x86_64 GNU/Linux
>
>     The Intel compiler version is 12.1.6:
>     ifort (IFORT) 12.1.6 20120928
>     icc (ICC) 12.1.6 20120928
>
>     The Intel compiler environment is set the standard way
>     recommended by Intel:
>
>     source /path/to/intel/bin/compilervars.sh intel64
>
>
>     Any help is appreciated.
>     Gus Correa
>
>     ****** make errror message *************************************
>     make[2]: Entering directory
>     '/home/sw/mpich/inst/3.2.1/mpich-3.2.1/build_intel-2011.13.367'
>       CCLD     src/env/mpivars
>     lib/.libs/libmpi.a(lib_libmpi_la-ch3_progress.o): In function
>     `MPIDI_CH3I_Shm_send_progress':
>     ../src/mpid/ch3/channels/nemesis/src/ch3_progress.c:(.text+0x1ea2):
>     undefined reference to `_Static_assert'
>     lib/.libs/libmpi.a(lib_libmpi_la-ch3i_eagernoncontig.o): In
>     function `MPIDI_CH3I_SendNoncontig':
>     ../src/mpid/ch3/channels/nemesis/src/ch3i_eagernoncontig.c:(.text+0x1d3):
>     undefined reference to `_Static_assert'
>     make[2]: *** [Makefile:19701: src/env/mpivars] Error 1
>     make[2]: Leaving directory
>     '/home/sw/mpich/inst/3.2.1/mpich-3.2.1/build_intel-2011.13.367'
>     make[1]: *** [Makefile:38608: all-recursive] Error 1
>     make[1]: Leaving directory
>     '/home/sw/mpich/inst/3.2.1/mpich-3.2.1/build_intel-2011.13.367'
>     make: *** [Makefile:10337: all] Error 2
>     *******************************************************************
>
>     _______________________________________________
>     discuss mailing list discuss at mpich.org <mailto:discuss at mpich.org>
>     To manage subscription options or unsubscribe:
>     https://lists.mpich.org/mailman/listinfo/discuss
>     <https://lists.mpich.org/mailman/listinfo/discuss>
>
>
>
>
> -- 
> Jeff Hammond
> jeff.science at gmail.com <mailto:jeff.science at gmail.com>
> http://jeffhammond.github.io/
>
>
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20180613/eb76b70b/attachment.html>
-------------- next part --------------
_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list