I have written a program that mixes Python 3 and C++. I am using boost-python 1.62 and mingw on Windows. I have compiled the C++ python libs on many, many machines so far and it has always worked well. Now I gave the sources to a colleague for installation on his machine, and compilation fails with mingw complaining about problems with symbols and 'file format not recognized'.
What I see, though, is the following: On my machine b2 reports this at the start of compile:
- 32-bit : no (cached)
- 64-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
- symlinks supported : yes
On my colleague's machine it looks like this:
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
- symlinks supported : yes
I am quite sure that the problems have to do with his system trying to compile 32-bit code and trying to link existing 64-bit code to it. The question is, though, why is it trying to compile 32 bit code in the first place? The machine is less than a year old, so it is definitely 64 bits. The more important question, however, is, how can I persuade the machine to compile with 64 bits?
By the way, this is my user-config.jam:
using python : 3.6 : C:\\StreamTest\\WinPython-64bit-3.6.6.2\\python-3.6.6.amd64\\python.exe
: C:\\StreamTest\\WinPython-64bit-3.6.6.2\\python-3.6.6.amd64\\include
: C:\\StreamTest\\WinPython-64bit-3.6.6.2\\python-3.6.6.amd64\\libs
: ;