[issue24385] libpython27.a in python-2.7.10 i386 (windows msi release) contains 64-bit objects
Matthew Barnett
report at bugs.python.org
Fri Jun 5 04:46:06 CEST 2015
Matthew Barnett added the comment:
Here's how I can build the regex module on Windows 8.1, 64-bit, using only MinGW64.
For Python 3.5, I can link against "python35.dll", but for earlier versions, including Python 2.7, I need "libpython??.a".
I have built regex module for all of the 16 supported versions of Python (2.5-2.7, 3.1-3.5, 64-bit and 32-bit) and they have all passed the tests.
rem For Python 3.5, 64-bit.
rem Can link against the Python DLL.
rem Compile
"C:\MinGW64\bin\gcc.exe" -mdll -m64 -DMS_WIN64 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python35-64\include" -c
"D:\mrab-regex\source\_regex_unicode.c" -o
"D:\mrab-regex\release\3.5-64\_regex_unicode.o"
"C:\MinGW64\bin\gcc.exe" -mdll -m64 -DMS_WIN64 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python35-64\include" -c
"D:\mrab-regex\source\_regex.c" -o "D:\mrab-regex\release\3.5-64\_regex.o"
rem Link
"C:\MinGW64\bin\gcc.exe" -m64 -shared -s
"D:\mrab-regex\release\3.5-64\_regex_unicode.o"
"D:\mrab-regex\release\3.5-64\_regex.o" -L"C:\Python35" -lpython35 -o
"D:\mrab-regex\release\3.5-64\_regex.pyd"
rem For Python 3.5, 32-bit.
rem Can link against the Python DLL.
rem Compile
"C:\MinGW64\bin\gcc.exe" -mdll -m32 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python35-32\include" -c
"D:\mrab-regex\source\_regex_unicode.c" -o
"D:\mrab-regex\release\3.5-32\_regex_unicode.o"
"C:\MinGW64\bin\gcc.exe" -mdll -m32 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python35-32\include" -c
"D:\mrab-regex\source\_regex.c" -o "D:\mrab-regex\release\3.5-32\_regex.o"
rem Link
"C:\MinGW64\bin\gcc.exe" -m32 -shared -s
"D:\mrab-regex\release\3.5-32\_regex_unicode.o"
"D:\mrab-regex\release\3.5-32\_regex.o" -L"C:\Python35-32" -lpython35 -o
"D:\mrab-regex\release\3.5-32\_regex.pyd"
rem For Python 3.4, 64-bit.
rem Need to link against the Python .a file.
rem Make libpython34.a
"C:\MinGW64\x86_64-w64-mingw32\bin\gendef.exe" -
"C:\Windows\System32\python34.dll" >"C:\Python34-64\libs\libpython34.def"
"C:\MinGW64\bin\dlltool.exe" --dllname python34.dll --def
"C:\Python34-64\libs\libpython34.def" --output-lib
"C:\Python34-64\libs\libpython34.a"
rem Compile
"C:\MinGW64\bin\gcc.exe" -mdll -m64 -DMS_WIN64 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python34-64\include" -c
"D:\mrab-regex\source\_regex_unicode.c" -o
"D:\mrab-regex\release\3.4-64\_regex_unicode.o"
rem Link
"C:\MinGW64\bin\gcc.exe" -mdll -m64 -DMS_WIN64 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python34-64\include" -c
"D:\mrab-regex\source\_regex.c" -o "D:\mrab-regex\release\3.4-64\_regex.o"
"C:\MinGW64\bin\gcc.exe" -m64 -shared -s
"D:\mrab-regex\release\3.4-64\_regex_unicode.o"
"D:\mrab-regex\release\3.4-64\_regex.o" -L"C:\Python34-64\libs"
-lpython34 -o "D:\mrab-regex\release\3.4-64\_regex.pyd"
rem For Python 3.4, 32-bit.
rem Need to link against the Python .a file.
rem Make libpython34.a
"C:\MinGW64\x86_64-w64-mingw32\bin\gendef.exe" -
"C:\Windows\SysWOW64\python34.dll" >"C:\Python34-32\libs\libpython34.def"
"C:\MinGW64\x86_64-w64-mingw32\bin\dlltool.exe" --as-flags=--32 -m i386
--dllname python34.dll --def "C:\Python34-32\libs\libpython34.def"
--output-lib "C:\Python34-32\libs\libpython34.a"
rem Compile
"C:\MinGW64\bin\gcc.exe" -mdll -m32 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python34-32\include" -c
"D:\mrab-regex\source\_regex_unicode.c" -o
"D:\mrab-regex\release\3.4-32\_regex_unicode.o"
"C:\MinGW64\bin\gcc.exe" -mdll -m32 -O2 -Wall -Wsign-compare
-Wconversion -I"C:\Python34-32\include" -c
"D:\mrab-regex\source\_regex.c" -o "D:\mrab-regex\release\3.4-32\_regex.o"
rem Link
"C:\MinGW64\bin\gcc.exe" -m32 -shared -s
"D:\mrab-regex\release\3.4-32\_regex_unicode.o"
"D:\mrab-regex\release\3.4-32\_regex.o" -L"C:\Python34-32\libs"
-lpython34 -o "D:\mrab-regex\release\3.4-32\_regex.pyd"
rem For earlier versions of Python, follow the pattern of Python 3.4.
----------
nosy: +mrabarnett
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue24385>
_______________________________________
More information about the Python-bugs-list
mailing list