conan-io / conan

Conan - The open-source C and C++ package manager
https://conan.io
MIT License
8.25k stars 980 forks source link

[bug] Boost/1.76.0 build failing msvc #10040

Open lalit-g-deepr opened 2 years ago

lalit-g-deepr commented 2 years ago

Environment Details (include every applicable attribute)

Steps to reproduce (Include if Applicable)

use the below conanfile.txt content with above environment details. [requires] boost/1.76.0

[generators] cmake

[options] boost:shared=False

The winprofile.txt used by me is below: [settings] arch=x86_64 arch_build=x86_64 compiler=Visual Studio compiler.runtime=MD compiler.version=15 compiler.cppstd=17 compiler.toolset=v141 os=Windows os_build=Windows

[options]

[build_requires]

[env] CC=cl.exe CXX=cl.exe

Logs (Executed commands with output) (Include/Attach if Applicable)

boost/1.76.0: ERROR: Package 'ddab49c386512c53fc58b4666da19ec799533441' build failed boost/1.76.0: WARN: Build folder C:.conan\83e13e\1 ERROR: boost/1.76.0: Error in build() method, line 829 self.run(full_command, run_environment=True) ConanException: Error 1 while executing b2.exe -q numa=on target-os=windows architecture=x86 address-model=64 binary-format=pe abi=ms --layout=system --user-config=C:.conan\ccfd29\1\source_subfolder\tools\build\user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locout=system --user-ale.icu=off --disable-icu boost.locale.iconv=off --disable-iconv runtime-link=shared runtime-debugging=on threading=multi visibility=hidden link=stu=off u boost.locaatic variant=debug --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception -=debugrono --with--with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --files--with-json -with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wax --wi --with-testve toolset=msvc cxxflags=/std:c++17 pch=on cxxflags="-fPIC" install --prefix=C:.conan\fe0c0d\1 -j8 --abbreviate-paths -d0 --debug-configuration -c++17 -j8 --abbre-build-dir="C:.conan\83e13e\1"

memsharded commented 2 years ago

Hi @lalit-g-deepr

Can you please post the whole error message? Or at least the boost-build lines showing the build error, not just the ConanException.

lalit-g-deepr commented 2 years ago

@memsharded Please take a look. I think conan is not able to find cl.exe but it is happening just today and I was using same package since 2 months. PS D:\github\MaaS\conan> conan install .. --profile=../winprofile.txt --build=missing -s build_type=Debug -s compiler.runtime=MDd Configuration: [settings] arch=x86_64 arch_build=x86_64 build_type=Debug compiler=Visual Studio compiler.cppstd=17 compiler.runtime=MDd compiler.toolset=v141 compiler.version=15 os=Windows os_build=Windows [options] [build_requires] [env] CC=cl.exe CL=-D_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING CXX=cl.exe boost/1.76.0: Not found in local cache, looking in remotes... boost/1.76.0: Trying with 'conancenter'... Downloading conanmanifest.txt completed [0.52k] Downloading conanfile.py completed [75.16k] Downloading conan_export.tgz completed [1.36k] Decompressing conan_export.tgz completed [0.00k] boost/1.76.0: Downloaded recipe revision 0 conanfile.txt: Installing package Requirements boost/1.76.0 from 'conancenter' - Downloaded bzip2/1.0.8 from 'conancenter' - Cache zlib/1.2.11 from 'conancenter' - Cache Packages boost/1.76.0:ddab49c386512c53fc58b4666da19ec799533441 - Build bzip2/1.0.8:5c382ca84120276840c8074ab1851697636fb8ae - Cache zlib/1.2.11:8cf01e2f50fcd6b63525e70584df0326550364e1 - Cache Build requirements b2/4.5.0 from 'conancenter' - Cache Build requirements packages b2/4.5.0:ca33edce272a279b24f87dc0d4cf5bbdcffbc187 - Cache

Installing (downloading, building) binaries... b2/4.5.0: Already installed! bzip2/1.0.8: Already installed! bzip2/1.0.8: Appending PATH environment variable: C:\Users\lalit.gangwar.conan\data\bzip2\1.0.8__\package\5c382ca84120276840c8074ab1851697636fb8ae\bin zlib/1.2.11: Already installed! boost/1.76.0: Applying build-requirement: b2/4.5.0 Downloading conan_sources.tgz completed [1.32k] Decompressing conan_sources.tgz completed [0.00k] boost/1.76.0: Configuring sources in C:.conan\ccfd29\1 Downloading boost_1_76_0.tar.bz2 completed [107493.28k]

boost/1.76.0: Building your package in C:.conan\83e13e\1 boost/1.76.0: Generator txt created conanbuildinfo.txt boost/1.76.0: Aggregating env generators boost/1.76.0: Calling build() WARN: replace_in_file didn't find pattern '/ thread_local /' in 'C:.conan\ccfd29\1\source_subfolder\boost\stacktrace\detail\libbacktrace_impls.hpp' file. WARN: replace_in_file didn't find pattern '/ static __thread /' in 'C:.conan\ccfd29\1\source_subfolder\boost\stacktrace\detail\libbacktraceimpls.hpp' file.
boost/1.76.0: WARN: Patching user-config.jam boost/1.76.0: WARN: using zlib : 1.2.11 : "C:/Users/lalit.gangwar/.conan/data/zlib/1.2.11/
//package/8cf01e2f50fcd6b63525e70584df0326550364e1/include" "C:/Users/lalit.gangwar/.conan/data/zlib/1.2.11///package/8cf01e2f50fcd6b63525e70584df0326550364e1/lib" zlib ; using bzip2 : 1.0.8 : "C:/Users/lalit.gangwar/.conan/data/bzip2/1.0.8///package/5c382ca84120276840c8074ab1851697636fb8ae/include" "C:/Users/lalit.gangwar/.conan/data/bzip2/1.0.8//_/package/5c382ca84120276840c8074ab1851697636fb8ae/lib" bz2 ; using "msvc" : 14.1 : "cl.exe" : ; boost/1.76.0: WARN: b2.exe -q numa=on target-os=windows architecture=x86 address-model=64 binary-format=pe abi=ms --layout=system --user-config=C:.conan\ccfd29\1\source_subfolder\tools\build\user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=off --disable-iconv runtime-link=shared runtime-debugging=on threading=multi visibility=hidden link=static variant=debug --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wave toolset=msvc cxxflags=/std:c++17 pch=on cxxflags="-fPIC" install --prefix=C:.conan\fe0c0d\1 -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="C:.conan\83e13e\1" notice: found boost-build.jam at C:/.conan/ccfd29/1/source_subfolder/boost-build.jam notice: loading B2 from C:/.conan/ccfd29/1/source_subfolder/tools/build/src/bootstrap.jam warning: mismatched versions of B2 engine and core warning: B2 engine (b2.exe) is 4.5.0 warning: B2 core (at C:/.conan/ccfd29/1/source_subfolder/tools/build/src) is 4.4-git notice: Searching 'C:\Users\lalit.gangwar' 'C:\Users\lalit.gangwar' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/kernel' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/util' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/build' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/tools' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/contrib' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/.' for site-config configuration file 'site-config.jam'. notice: Configuration file 'site-config.jam' not found in 'C:\Users\lalit.gangwar' 'C:\Users\lalit.gangwar' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/kernel' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/util' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/build' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/tools' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/contrib' 'C:/.conan/ccfd29/1/source_subfolder/tools/build/src/.'. notice: Loading explicitly specified user configuration file: C:.conan\ccfd29\1\source_subfolder\tools\build\user-config.jam notice: Searching 'C:.conan\ccfd29\1\source_subfolder\tools\build' for user-config configuration file 'user-config.jam'. notice: Loading user-config configuration file 'user-config.jam' from 'C:/.conan/ccfd29/1/source_subfolder/tools/build'. notice: [zlib] Using pre-installed library notice: [zlib] Condition notice: [bzip2] Using pre-installed library notice: [bzip2] Condition notice: [msvc-cfg] msvc-10.0 detected, command: 'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.exe' notice: [msvc-cfg] msvc-14.2 detected, command: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\bin\Hostx64\x64\cl.exe' notice: [msvc-cfg] msvc-14.1 detected, command: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\arm\cl.exe' warning: toolset msvc initialization: warning: can not find user-provided command 'cl.exe' warning: initialized from C:.conan\ccfd29\1\source_subfolder\tools\build\user-config.jam:5

warning: Did not find command for MSVC toolset. If you have Visual Studio 2017 installed you will need to specify the full path to the command, set VS150COMNTOOLS for your installation, or build from the 'Visual Studio Command Prompt for VS 2017'.

notice: will use 'cl.exe' for msvc, condition msvc-14.1 notice: [msvc-cfg] condition: 'msvc-14.1/x86/32', setup: '' notice: [msvc-cfg] condition: 'msvc-14.1//32', setup: '' notice: [msvc-cfg] condition: 'msvc-14.1/x86/64', setup: '' notice: [msvc-cfg] condition: 'msvc-14.1//64', setup: '' notice: [msvc-cfg] condition: 'msvc-14.1/x86/', setup: '' notice: [msvc-cfg] condition: 'msvc-14.1//', setup: '' notice: [msvc-cfg] condition: 'msvc-14.1/ia64/64', setup: '' notice: [msvc-cfg] condition: 'msvc-14.1/ia64/', setup: '' notice: [msvc-cfg] condition: 'msvc-14.1/arm/32', setup: '' notice: [msvc-cfg] condition: 'msvc-14.1/arm/64', setup: '' notice: [zlib] zlib is already configured notice: [bzip2] bzip is already configured notice: iostreams: not using lzma compression notice: iostreams: not using zstd compression notice: [python-cfg] Configuring python... notice: [python-cfg] Checking interpreter command "python"... notice: [python-cfg] running command 'DIR /-C /A:S "C:\ProgramData\Anaconda3\python.exe" 2>&1' notice: [python-cfg] running command 'python -c "from sys import *; print('version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s' % (version_info[0],version_info[1],platform,prefix,exec_prefix,executable))" 2>&1' notice: [python-cfg] ...requested configuration matched! notice: [python-cfg] Details of this Python configuration: notice: [python-cfg] interpreter command: "python" notice: [python-cfg] include path: "C:\ProgramData\Anaconda3\Include" notice: [python-cfg] library path: "C:\ProgramData\Anaconda3\libs" notice: [python-cfg] DLL search path: "C:\ProgramData\Anaconda3" notice: [python-cfg] Checking for NumPy... notice: [python-cfg] running command 'python -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())"' notice: [python-cfg] NumPy enabled Performing configuration checks

- default address-model    : none [1]
- default architecture     : none [1]
- compiler supports SSE2   : no [2]
- compiler supports SSE4.1 : no [2]
- has synchronization.lib  : no [2]
- C++11 mutex              : no [2]
- has BCrypt API           : no [2]
- is Windows CE            : no [2]
- has stat::st_mtim        : no [2]
- has stat::st_mtimensec   : no [2]
- has stat::st_mtimespec   : no [2]
- has stat::st_birthtim    : no [2]
- has stat::st_birthtimensec : no [2]
- has stat::st_birthtimespec : no [2]
- has statx                : no [2]
- has statx syscall        : no [2]
- cxx11_auto_declarations  : no [2]
- cxx11_constexpr          : no [2]
- cxx11_defaulted_functions : no [2]
- cxx11_final              : no [2]
- cxx11_hdr_mutex          : no [2]
- cxx11_hdr_tuple          : no [2]
- cxx11_lambdas            : no [2]
- cxx11_noexcept           : no [2]
- cxx11_nullptr            : no [2]
- cxx11_rvalue_references  : no [2]
- cxx11_template_aliases   : no [2]
- cxx11_thread_local       : no [2]
- cxx11_variadic_templates : no [2]
- cxx11_auto_declarations  : no [3]
- cxx11_constexpr          : no [3]
- cxx11_defaulted_functions : no [3]
- cxx11_final              : no [3]
- cxx11_hdr_mutex          : no [3]
- cxx11_hdr_tuple          : no [3]
- cxx11_lambdas            : no [3]
- cxx11_noexcept           : no [3]
- cxx11_nullptr            : no [3]
- cxx11_rvalue_references  : no [3]
- cxx11_template_aliases   : no [3]
- cxx11_thread_local       : no [3]
- cxx11_variadic_templates : no [3]
- has_icu builds           : no [2]
- zlib                     : no [4]
- bzip2                    : no [4]
- cxx11_decltype           : no [2]
- cxx11_basic_alignas      : no [2]
- cxx11_decltype           : no [3]
- cxx11_basic_alignas      : no [3]
- native atomic int32 supported : no [2]
- has message compiler     : no [2]
- native syslog supported  : no [2]
- pthread supports robust mutexes : no [2]
- compiler supports SSSE3  : no [2]
- compiler supports AVX2   : no [2]
- gcc visibility           : no [2]
- sfinae_expr              : no [2]
- cxx11_unified_initialization_syntax : no [2]
- cxx11_hdr_initializer_list : no [2]
- cxx11_hdr_chrono         : no [2]
- cxx11_numeric_limits     : no [2]
- cxx11_hdr_array          : no [2]
- cxx11_hdr_atomic         : no [2]
- cxx11_hdr_type_traits    : no [2]
- cxx11_allocator          : no [2]
- cxx11_explicit_conversion_operators : no [2]
- gcc visibility           : no [3]
- sfinae_expr              : no [3]
- cxx11_unified_initialization_syntax : no [3]
- cxx11_hdr_initializer_list : no [3]
- cxx11_hdr_chrono         : no [3]
- cxx11_numeric_limits     : no [3]
- cxx11_hdr_array          : no [3]
- cxx11_hdr_atomic         : no [3]
- cxx11_hdr_type_traits    : no [3]
- cxx11_allocator          : no [3]
- cxx11_explicit_conversion_operators : no [3]
- cxx11_static_assert      : no [2]
- std::fstream is moveable and swappable : no [2]
- Has Large File Support   : no [2]
- cxx11_static_assert      : no [3]
- std::fstream is moveable and swappable : no [3]
- Has Large File Support   : no [3]
- libbacktrace builds      : no [2]
- libbacktrace builds      : no [3]
- addr2line builds         : no [2]
- addr2line builds         : no [3]
- WinDbg builds            : no [2]
- WinDbg builds            : no [3]
- WinDbgCached builds      : no [2]
- WinDbgCached builds      : no [3]
- BOOST_COMP_GNUC >= 4.3.0 : no [2]

[1] msvc-14.1 [2] msvc-14.1/dbg/adrs-mdl-64/archt-x86/bst.l-off/bst.l-off/lnk-sttc/nm-on/pythn-3.7/thrdp-wn32/thrd-mlt/vsblt-hdn [3] msvc-14.1/dbg/adrs-mdl-64/archt-x86/bst.l-off/bst.l-off/bld-no/lnk-sttc/nm-on/pythn-3.7/thrdp-wn32/thrd-mlt/vsblt-hdn [4] lnk-sttc

Component configuration:

- atomic                   : building
- chrono                   : building
- container                : building
- context                  : building
- contract                 : building
- coroutine                : building
- date_time                : building
- exception                : building
- fiber                    : building
- filesystem               : building
- graph                    : building
- graph_parallel           : not building
- headers                  : not building
- iostreams                : building
- json                     : building
- locale                   : building
- log                      : building
- math                     : building
- mpi                      : not building
- nowide                   : building
- program_options          : building
- python                   : not building
- random                   : building
- regex                    : building
- serialization            : building
- stacktrace               : building
- thread                   : building
- timer                    : building
- type_erasure             : building
- wave                     : building

...skipped <pC:.conan\83e13e\1\boost\bin.v2\libs\iostreams\build\msvc-14.1\dbg\adrs-mdl-64\archt-x86\lnk-sttc\nm-on\thrd-mlt>libboost_iostreams.lib for lack of <pC:.conan\83e13e\1\boost\bin.v2\libs\iostreams\build\msvc-14.1\dbg\adrs-mdl-64\archt-x86\lnk-sttc\nm-on\thrd-mlt>file_descriptor.obj... b for lack of <pC: ...skipped <pC:.conan\fe0c0d\1\lib>libboost_iostreams.lib for lack of <pC:.conan\83e13e\1\boost\bin.v2\libs\iostreams\build\msvc-14.1\dbg\adrs-md l-64\archt-x86\lnk-sttc\nm-on\thrd-mlt>libboost_iostreams.lib... l-64\archt-x86\lnk ...failed updating 35 targets... boost/1.76.0: boost/1.76.0: ERROR: Package 'ddab49c386512c53fc58b4666da19ec799533441' build failed boost/1.76.0: WARN: Build folder C:.conan\83e13e\1 ERROR: boost/1.76.0: Error in build() method, line 829 self.run(full_command, run_environment=True) ConanException: Error 1 while executing b2.exe -q numa=on target-os=windows architecture=x86 address-model=64 binary-format=pe abi=ms --layout=system --user-config=C:.conan\ccfd29\1\source_subfolder\tools\build\user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locout=system --user-ale.icu=off --disable-icu boost.locale.iconv=off --disable-iconv runtime-link=shared runtime-debugging=on threading=multi visibility=hidden link=stu=off u boost.locaatic variant=debug --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception -=debugrono --with--with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --files--with-json -with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wax --wi --with-testve toolset=msvc cxxflags=/std:c++17 pch=on cxxflags="-fPIC" install --prefix=C:.conan\fe0c0d\1 -j8 --abbreviate-paths -d0 --debug-configuration -c++17 -j8 --abbre-build-dir="C:.conan\83e13e\1

Grafnus commented 2 years ago

We get the same error when building the conan package of boost 1.77. We are using the conan package tools and conan center index to build several conan packages with our Jenkins server. Boost 1.77 fails with the following error:

ConanException: Error 1 while executing b2 -q numa=on target-os=linux architecture=x86 address-model=64 binary-format=elf abi=sysv --layout=system --user-config=/data/jenkins/workspace/conan_boost/cnn_l_2/.conan/data/boost/1.77.0/jenkins/stable/source/source_subfolder/tools/build/user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=on boost.locale.iconv.lib=libc threading=multi visibility=hidden link=static variant=debug --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-json --with-locale --with-log --with-math --with-nowide --with-program_options --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wave toolset=gcc define=_GLIBCXX_USE_CXX11_ABI=0 pch=on cxxflags="-fPIC -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=/usr/bin/addr2line" install --prefix=/data/jenkins/workspace/conan_boost/cnn_l_2/.conan/data/boost/1.77.0/jenkins/stable/package/02e267e873401585af1f0d6cd057134a0cda79a6 -j12 --abbreviate-paths -d0 --debug-configuration --build-dir="/data/jenkins/workspace/conan_boost/cnn_l_2/.conan/data/boost/1.77.0/jenkins/stable/build/02e267e873401585af1f0d6cd057134a0cda79a6"

Some time befor the is a similar output like the one shown in a previous comment:

notice: [python-cfg] Configuring python...
notice: [python-cfg] Checking interpreter command "python"...
notice: [python-cfg] running command python -c "from sys import *; print(version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s % (version_info[0],version_info[1],platform,prefix,exec_prefix,executable))" 2>&1
notice: [python-cfg] ...requested configuration matched!
notice: [python-cfg] Details of this Python configuration:
notice: [python-cfg]   interpreter command: "python"
notice: [python-cfg]   include path: "/usr/include/python2.7"
notice: [python-cfg]   library path: "/usr/lib/python2.7/config" "/usr/lib"
notice: [python-cfg] Checking for NumPy...
notice: [python-cfg] running command python -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())"
notice: [python-cfg] NumPy disabled. Reason:
notice: [python-cfg]   python -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())" aborted with 
notice: [python-cfg]   Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named numpy
ERROR: rules are limited to 19 arguments

The systems used to build the package are needed to have installed python 2.7 installed and set to default as well as having python3 installed and used for the conan building process. In the log output I can read that it checks for the python version itself and checks the module numpy (which is not installed) and fails. In my opinion it is supposed to use python3 and instead of python2.7.

As far as I can tell the wrong python version my be a problem here.

lalit-g-deepr commented 2 years ago

@Grafnus I have checked that my python version path shown in logs is python3. When I tried to build other packages, conan is able to build them with the same winprofile.txt inputs and other settings.