On 3/18/22 00:26, Sal Pamukcu via Boost wrote:
On Thu, Mar 17, 2022 at 11:24 PM Andrey Semashev via Boost < boost@lists.boost.org> wrote:
On 3/17/22 22:31, Sal Pamukcu via Boost wrote:
- Compiled on Win 11 MSVC 2002 x64 toolchain with c++20 using b2 cxxstd=20 --build-type=complete stage
failed 5 target ; (mostly related to python) The full built message are on gist ; boost179b1_MSVC (github.com) https://gist.github.com/salimp2009/074cf168b4dd1231aa92fcc3845e2df7
I will do another build on windows with gcc-11.2 with MSys;
``` ...failed updating 5 targets... ...skipped 9 targets... ...updated 8376 targets... ```
Failures are like this ; `...failed msvc.link.dll
bin.v2\libs\python\build\msvc-14.3\debug\address-model-32\cxxstd-20-iso\python-3.10\threading-multi\boost_python310-vc143-mt-gd-x32-1_79.dll
bin.v2\libs\python\build\msvc-14.3\debug\address-model-32\cxxstd-20-iso\python-3.10\threading-multi\boost_python310-vc143-mt-gd-x32-1_79.lib
bin.v2\libs\python\build\msvc-14.3\debug\address-model-32\cxxstd-20-iso\python-3.10\threading-multi\boost_python310-vc143-mt-gd-x32-1_79.pdb...`
Looks like the problem is that you're building 32-bit Boost.Python and linking with 64-bit Python libraries. I'm not sure if Boost.Python is supposed to find the correct libraries or this is just a user configuration error.
Do you mean my configuration mistake; i installed python 3.10 64 bit and checked from MSVC VS 2022 64 bit command line using this ; It looks like my Python is 64 bit;
C:\Program Files\Microsoft Visual Studio\2022\Community> C:\Program Files\Microsoft Visual Studio\2022\Community>python Python 3.10.0 (tags/v3.10.0:b494f59, Oct 4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
import struct version = struct.calcsize("P")*8 print(version) 64
is there a way to configure when building with b2 I used this ; b2 cxxstd=20 --build-type=complete stage
By default both 32 and 64-bit Boost binaries are built. To build only 64-bit binaries you can add address-model=64 to the b2 command line. If you want to build 32-bit libraries, use address-model=32 and also make sure 32-bit Python libraries are found by the build process.