Closed pcbennion closed 2 years ago
This issue surfaced on my CI machine after I pulled packages/recipes from conancenter on 8/6. This issue likely surfaced after 8/1, which was my last successful clean build of the above recipe.
The failure occurs for all recent boost recipe revisions. I suspect the package_info check may ignore recipe revisions - machines that have not communicated with conancenter since 8/1 are still able to run package_info without rejecting the python libraries.
Might be fixed in PR: #11998
I ran into this as well. I dug into the recipe and discovered that the issue arises from the following lines (1574-1577) in the package_info() method:
if not self.options.without_python:
pyversion = Version(self._python_version)
libformatdata["py_major"] = pyversion.major
libformatdata["py_minor"] = pyversion.minor
Where Version is conan.tools.scm.Version. The problem is that the major and minor attributes only recently became available (looks like version greater than Conan 1.50). In older versions (I'm using 1.48), using the major and minor attributes results in the strings "<bound method Version.major of '3.8'>" and "<bound method Version.minor of '3.8'>" respectively. Then those are used to generate the expected boost and numpy library names and of course no libraries are found with those names.
Using the latest version of Conan should fix the issue.
The recipe could also be updated to simply use conan.tools.Version in this location (and possibly others) which does have the expected behavior even on older versions of Conan. Otherwise, the required_conan_version needs to be updated. Right now it is at >=1.47 which obviously isn't correct.
@NormanT7 The recipe has been fixed last week. Any Conan version should work without any error. Please, update your local copy of Boost recipe. Also, >=1.47
is totally correct, since tools.scm.Version
is no longer used.
@uilianries ah, very good. I pulled boost down from Conan center early last week and it must have been updated soon after. I now have the latest revision of the recipe and it is working with the 1.48 version of Conan that I have installed. Thank you!
@uilianries ah, very good. I pulled boost down from Conan center early last week and it must have been updated soon after. I now have the latest revision of the recipe and it is working with the 1.48 version of Conan that I have installed. Thank you!
Thank you for your feedback!
Awesome! I pulled the recipe just now and it's working with my 1.49 again.
Thank you both for the help! @NormanT7 @uilianries
Package and Environment Details
Conan profile
default profiles with autodetected settings on all platforms listed above
Profile used for log
``` [settings] os=Linux os_build=Linux arch=x86_64 arch_build=x86_64 compiler=gcc compiler.version=9 compiler.libcxx=libstdc++11 build_type=Release [options] [conf] [build_requires] [env] ```Steps to reproduce
with an empty conan cache (
conan remove "*" -f
) build boost for python using the following barebones recipe:Logs
Click to expand log
``` root@3d62ac66474a:/workspaces/Conan-index/recipes/boost-python# conan install . -if install -r conancenter --build=boost Configuration: [settings] arch=x86_64 arch_build=x86_64 build_type=Release compiler=gcc compiler.libcxx=libstdc++11 compiler.version=9 os=Linux os_build=Linux [options] [build_requires] [env] boost/1.79.0: Retrieving from server 'conancenter' boost/1.79.0: Trying with 'conancenter'... Downloading conanmanifest.txt completed [0.79k] Downloading conanfile.py completed [81.52k] Downloading conan_export.tgz completed [1.50k] Decompressing conan_export.tgz completed [0.00k] boost/1.79.0: Downloaded recipe revision c77cfe98fe8bc0c5814f907c54f5de0f boost/1.79.0: running "/usr/bin/python3" -c "from __future__ import print_function; import sys; print('{}.{}'.format(sys.version_info[0], sys.version_info[1]))" zlib/1.2.12: Retrieving from server 'conancenter' zlib/1.2.12: Trying with 'conancenter'... Downloading conanmanifest.txt completed [0.33k] Downloading conanfile.py completed [4.19k] Downloading conan_export.tgz completed [0.31k] Decompressing conan_export.tgz completed [0.00k] zlib/1.2.12: Downloaded recipe revision 0 bzip2/1.0.8: Retrieving from server 'conancenter' bzip2/1.0.8: Trying with 'conancenter'... Downloading conanmanifest.txt completed [0.17k] Downloading conanfile.py completed [4.42k] Downloading conan_export.tgz completed [0.24k] Decompressing conan_export.tgz completed [0.00k] bzip2/1.0.8: Downloaded recipe revision 0 libbacktrace/cci.20210118: Retrieving from server 'conancenter' libbacktrace/cci.20210118: Trying with 'conancenter'... Downloading conanmanifest.txt completed [0.28k] Downloading conanfile.py completed [4.68k] Downloading conan_export.tgz completed [0.36k] Decompressing conan_export.tgz completed [0.00k] libbacktrace/cci.20210118: Downloaded recipe revision 0 boost/1.79.0: running "/usr/bin/python3" -c "from __future__ import print_function; import sys; print('{}.{}'.format(sys.version_info[0], sys.version_info[1]))" boost/1.79.0: Forced build from source b2/4.9.2: Retrieving from server 'conancenter' b2/4.9.2: Trying with 'conancenter'... Downloading conanmanifest.txt completed [0.10k] Downloading conanfile.py completed [4.26k] Downloading conan_export.tgz completed [0.24k] Decompressing conan_export.tgz completed [0.00k] b2/4.9.2: Downloaded recipe revision 0 conanfile.py (boost-python/0.0.1): Installing package Requirements boost/1.79.0 from 'conancenter' - Downloaded bzip2/1.0.8 from 'conancenter' - Downloaded libbacktrace/cci.20210118 from 'conancenter' - Downloaded zlib/1.2.12 from 'conancenter' - Downloaded Packages boost/1.79.0:76b2c7bd5def19088fa4e4d50b6d7c87d51cf3b9 - Build bzip2/1.0.8:da606cf731e334010b0bf6e85a2a6f891b9f36b0 - Download libbacktrace/cci.20210118:6af9cc7cb931c5ad942174fd7838eb655717c709 - Download zlib/1.2.12:6af9cc7cb931c5ad942174fd7838eb655717c709 - Download Build requirements b2/4.9.2 from 'conancenter' - Downloaded Build requirements packages b2/4.9.2:4db1be536558d833e52e862fd84d64d75c2b3656 - Download Installing (downloading, building) binaries... b2/4.9.2: Retrieving package 4db1be536558d833e52e862fd84d64d75c2b3656 from remote 'conancenter' Downloading conanmanifest.txt completed [14.27k] Downloading conaninfo.txt completed [0.24k] Downloading conan_package.tgz completed [493.74k] Decompressing conan_package.tgz completed [0.00k] b2/4.9.2: Package installed 4db1be536558d833e52e862fd84d64d75c2b3656 b2/4.9.2: Downloaded package revision 0 bzip2/1.0.8: Retrieving package da606cf731e334010b0bf6e85a2a6f891b9f36b0 from remote 'conancenter' Downloading conanmanifest.txt completed [0.32k] Downloading conaninfo.txt completed [0.43k] Downloading conan_package.tgz completed [97.23k] Decompressing conan_package.tgz completed [0.00k] bzip2/1.0.8: Package installed da606cf731e334010b0bf6e85a2a6f891b9f36b0 bzip2/1.0.8: Downloaded package revision 0 libbacktrace/cci.20210118: Retrieving package 6af9cc7cb931c5ad942174fd7838eb655717c709 from remote 'conancenter' Downloading conanmanifest.txt completed [0.27k] Downloading conaninfo.txt completed [0.38k] Downloading conan_package.tgz completed [54.06k] Decompressing conan_package.tgz completed [0.00k] libbacktrace/cci.20210118: Package installed 6af9cc7cb931c5ad942174fd7838eb655717c709 libbacktrace/cci.20210118: Downloaded package revision 0 zlib/1.2.12: Retrieving package 6af9cc7cb931c5ad942174fd7838eb655717c709 from remote 'conancenter' Downloading conanmanifest.txt completed [0.25k] Downloading conaninfo.txt completed [0.38k] Downloading conan_package.tgz completed [90.81k] Decompressing conan_package.tgz completed [0.00k] zlib/1.2.12: Package installed 6af9cc7cb931c5ad942174fd7838eb655717c709 zlib/1.2.12: Downloaded package revision 0 bzip2/1.0.8: Appending PATH environment variable: /root/.conan/data/bzip2/1.0.8/_/_/package/da606cf731e334010b0bf6e85a2a6f891b9f36b0/bin boost/1.79.0: Applying build-requirement: b2/4.9.2 Downloading conan_sources.tgz completed [3.80k] Decompressing conan_sources.tgz completed [0.00k] boost/1.79.0: Configuring sources in /root/.conan/data/boost/1.79.0/_/_/source Downloading boost_1_79_0.tar.bz2 completed [110797.67k] boost/1.79.0: /1.79.0: boost/1.79.0: boost/1.79.0: Apply patch (portability) boost/1.79.0: Building your package in /root/.conan/data/boost/1.79.0/_/_/build/76b2c7bd5def19088fa4e4d50b6d7c87d51cf3b9 boost/1.79.0: Generator txt created conanbuildinfo.txt boost/1.79.0: Aggregating env generators boost/1.79.0: Calling build() WARN: replace_in_file didn't find pattern '/* thread_local */' in '/root/.conan/data/boost/1.79.0/_/_/source/source_subfolder/boost/stacktrace/detail/libbacktrace_impls.hpp' file. WARN: replace_in_file didn't find pattern '/* static __thread */' in '/root/.conan/data/boost/1.79.0/_/_/source/source_subfolder/boost/stacktrace/detail/libbacktrace_impls.hpp' file. WARN: replace_in_file didn't find pattern 'local generic-os = [ set.difference $(all-os) : aix darwin vxworks solaris osf hpux ] ;' in '/root/.conan/data/boost/1.79.0/_/_/source/source_subfolder/tools/build/src/tools/gcc.jam' file. WARN: replace_in_file didn't find pattern 'local no-threading = android beos haiku sgi darwin vxworks ;' in '/root/.conan/data/boost/1.79.0/_/_/source/source_subfolder/tools/build/src/tools/gcc.jam' file. WARN: replace_in_file didn't find pattern '