[LLVMdev] Building Python with clang-cl
Russell Wallace
russell.wallace at gmail.com
Fri Jun 12 08:58:18 PDT 2015
Taking another shot at building Python with clang-cl, this time going by
the SVN version, using the following commands
cd \python-2.7.10\pcbuild
rd /q /s amd64
rd /q /s win32-temp-debug
rd /q /s win32-temp-release
rd /q /s x64-temp-debug
rd /q /s x64-temp-release
set Platform=X64
msbuild /t:clean,build /p:Configuration=Release /p:CLToolExe=clang-cl.exe
/p:CLToolPath=c:\llvm-svn\build\Release\bin\ /p:TrackFileAccess=false
/p:Platform="x64" /fileLogger pcbuild.sln
It seems to generate an invalid object file from one particular source
file, kill_python.c. This is the output when compiling that file
c:\llvm-svn\build\Release\bin\clang-cl.exe /c /I..\Include /I..\PC /Zi
/nologo /W3 /WX- /O2 /Ob1 /Oi /GL /D _WIN64 /D _M_X64 /D NDEBUG /D _WIN32
/GF /Gm- /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope
/Fo"C:\Python-2.7.10\PCbuild\x64-temp-Release\kill_python\\"
/Fd"C:\Python-2.7.10\PCbuild\x64-temp-Release\kill_python\vc120.pdb" /Gd
/TC /errorReport:queue /USECL:MS_OPTERON /GS- kill_python.c
clang-cl.exe : warning : argument unused during compilation: '/Gm-'
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
clang-cl.exe : warning : argument unused during compilation: '/GS'
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
In file included from <built-in>:299:
<command line>(6,12): warning : extra tokens at end of #undef directive
[-Wextra-tokens] [C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
#undef SECL:MS_OPTERON
^
//
kill_python.c(46,60): warning : format specifies type 'int' but the
argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
printf("CreateToolhelp32Snapshot[1] failed: %d\n",
GetLastError());
~~ ^~~~~~~~~~~~~~
%lu
kill_python.c(51,50): warning : format specifies type 'int' but the
argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
printf("Module32FirstW[1] failed: %d\n", GetLastError());
~~ ^~~~~~~~~~~~~~
%lu
kill_python.c(73,9): warning : comparison of array 'path' equal to a null
pointer is always false [-Wtautological-pointer-compare]
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
if (path == NULL) {
^~~~ ~~~~
kill_python.c(93,60): warning : format specifies type 'int' but the
argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
printf("CreateToolhelp32Snapshot[2] failed: %d\n",
GetLastError());
~~ ^~~~~~~~~~~~~~
%lu
kill_python.c(98,48): warning : format specifies type 'int' but the
argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
printf("Process32FirstW failed: %d\n", GetLastError());
~~ ^~~~~~~~~~~~~~
%lu
kill_python.c(132,54): warning : format specifies type 'int' but the
argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
printf("Module32FirstW[2] failed: %d\n", GetLastError());
~~ ^~~~~~~~~~~~~~
%lu
kill_python.c(150,52): warning : format specifies type 'int' but the
argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
printf("OpenProcess failed: %d\n", GetLastError());
~~ ^~~~~~~~~~~~~~
%lu
kill_python.c(157,57): warning : format specifies type 'int' but the
argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
printf("TerminateProcess failed: %d\n", GetLastError());
~~ ^~~~~~~~~~~~~~
%lu
9 warnings generated.
And the link error message
C:\Python-2.7.10\PCbuild\x64-temp-Release\kill_python\kill_python.obj :
fatal error LNK1107: invalid or corrupt file: cannot read at 0x1A44
[C:\Python-2.7.10\PCbuild\kill_python.vcxproj]
I tried dumpbin on kill_python.obj, and dumpbin agrees it's an invalid
object file.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150612/58cc5689/attachment.html>
More information about the llvm-dev
mailing list