classification
Title: __m128, can't build 3.4.1 with intel 14.0.0
Type: compile error Stage: resolved
Components: ctypes Versions: Python 3.4
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Intel icc 9.1 does not support __int128_t used by ctypes
View: 4130
Assigned To: Nosy List: amaury.forgeotdarc, aom, belopolsky, meador.inge, vstinner
Priority: normal Keywords:

Created on 2014-06-04 09:30 by aom, last changed 2021-09-10 12:55 by iritkatriel. This issue is now closed.

Messages (3)
msg219753 - (view) Author: Alain Miniussi (aom) Date: 2014-06-04 09:30
In ffi64.c, intel 14.0.0 has an issue with:
{{{
#if defined(__INTEL_COMPILER)
#define UINT128 __m128
#else
...
}}}

At leat on Linux CentOS 6.5, an include directive is required for __m128:
{{{
#if defined(__INTEL_COMPILER)
#include <xmmintrin.h>
#define UINT128 __m128
#else
...
}}}
otherwise, compilation of _ctypes fails.

Regards.
msg219815 - (view) Author: Alain Miniussi (aom) Date: 2014-06-05 14:08
Some details...

Environement:

{{{
[alainm@gurney Python-3.4.1]$ ^Cconfigure --prefix=/softs/exp/python-3.4.1-intel14-fake
[alainm@gurney Python-3.4.1]$ icc --version
icc (ICC) 14.0.0 20130728
Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.
[alainm@gurney Python-3.4.1]$ uname -a
Linux gurney 2.6.32-431.17.1.el6.x86_64 #1 SMP Wed May 7 23:32:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[alainm@gurney Python-3.4.1]$ more /etc/centos-release 
CentOS release 6.5 (Final)
[alainm@gurney Python-3.4.1]$ 
}}}

Compilation error:

{{{
icc -pthread -fPIC -Wno-unused-result -Werror=declaration-after-statement -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -Ibuild/temp.linux-x86_64-3.4/libffi/include -Ibuild/temp.linux-x86_64-3.4/libffi -I/gpfs/home/alainm/install/Python-3.4.1/Modules/_ctypes/libffi/src -I./Include -I. -IInclude -I/usr/local/include -I/gpfs/home/alainm/install/Python-3.4.1/Include -I/gpfs/home/alainm/install/Python-3.4.1 -c /gpfs/home/alainm/install/Python-3.4.1/Modules/_ctypes/libffi/src/x86/ffi64.c -o build/temp.linux-x86_64-3.4/gpfs/home/alainm/install/Python-3.4.1/Modules/_ctypes/libffi/src/x86/ffi64.o -Wall -fexceptions
icc: command line warning #10006: ignoring unknown option '-Wno-unused-result'
/gpfs/home/alainm/install/Python-3.4.1/Modules/_ctypes/libffi/src/x86/ffi64.c(56): error: identifier "__m128" is undefined
    UINT128 i128;
    ^

compilation aborted for /gpfs/home/alainm/install/Python-3.4.1/Modules/_ctypes/libffi/src/x86/ffi64.c (code 2)

Failed to build these modules:
_ctypes                                                        

}}}

Cheers
msg219817 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2014-06-05 15:14
See also the issue #4130. libffi is not part of Python, it's an external project. Python embeds a copy of libffi to limit dependencies... and because we have custom patches on libffi :-/
History
Date User Action Args
2021-09-10 12:55:25iritkatrielsetstatus: open -> closed
stage: resolved
2021-09-10 10:50:49iritkatrielsetsuperseder: Intel icc 9.1 does not support __int128_t used by ctypes
resolution: duplicate
2014-06-05 15:14:46vstinnersetnosy: + vstinner
messages: + msg219817
2014-06-05 14:08:48aomsetmessages: + msg219815
2014-06-04 11:33:18serhiy.storchakasetnosy: + amaury.forgeotdarc, belopolsky, meador.inge
2014-06-04 09:30:55aomcreate