Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] duplicated nodes in lockfile cause ERROR: Build-require '...' cannot be found in lockfile #12973

Closed
dornbirndevelops opened this issue Jan 25, 2023 · 2 comments

Comments

@dornbirndevelops
Copy link

Environment details

  • Operating System+version: Linux Ubuntu 22.04
  • Conan version: 1.57.0

Steps to reproduce

Given a simplified package recipe:

from conans import ConanFile

class Package(ConanFile):
    name = "app"
    version = "1.0.0"

    settings = "os", "compiler", "build_type", "arch"
    
    def build_requirements(self):
        # i want to use something from the grpc package during a cross compile build (which is why this is there) 
        self.tool_requires("grpc/1.45.2@")
    
    def requirements(self):
        self.requires("grpc/1.45.2@")

    def build(self):
        pass

    def package(self):
        pass

I exported the recipe into the cache.

conan export .

I created a lockfile (see lockfile content below -> current version of conan center cannot be used due to conflicts).
The build and host configuration do not matter for now.

conan lock create --reference app/1.0.0@ --lockfile-out conan.lock -b -pr:b default -pr:h default

This yields me this file (recipes are self hosted and slightly patched, hence why revision is not officially available; center-index commit: 10b2fa5).
Notice that protobuf/3.20.0#a67a8047171b10c93a8e69da49dfa79e is entered twice for the "build" context.

{
 "graph_lock": {
  "nodes": {
   "1": {
    "ref": "app/1.0.0#3686aeaa00e6c5c29bd5fb9f0d985bb9",
    "options": "abseil:fPIC=True\nabseil:shared=False\nc-ares:fPIC=True\nc-ares:shared=False\nc-ares:tools=True\ngrpc:codegen=True\ngrpc:cpp_plugin=True\ngrpc:csharp_ext=False\ngrpc:csharp_plugin=True\ngrpc:fPIC=True\ngrpc:node_plugin=True\ngrpc:objective_c_plugin=True\ngrpc:php_plugin=True\ngrpc:python_plugin=True\ngrpc:ruby_plugin=True\ngrpc:secure=False\ngrpc:shared=False\nopenssl:386=False\nopenssl:enable_weak_ssl_ciphers=False\nopenssl:fPIC=True\nopenssl:no_aria=False\nopenssl:no_asm=False\nopenssl:no_async=False\nopenssl:no_bf=False\nopenssl:no_blake2=False\nopenssl:no_camellia=False\nopenssl:no_cast=False\nopenssl:no_chacha=False\nopenssl:no_cms=False\nopenssl:no_comp=False\nopenssl:no_ct=False\nopenssl:no_deprecated=False\nopenssl:no_des=False\nopenssl:no_dgram=False\nopenssl:no_dh=False\nopenssl:no_dsa=False\nopenssl:no_dso=False\nopenssl:no_ec=False\nopenssl:no_ecdh=False\nopenssl:no_ecdsa=False\nopenssl:no_engine=False\nopenssl:no_filenames=False\nopenssl:no_gost=False\nopenssl:no_hmac=False\nopenssl:no_idea=False\nopenssl:no_md4=False\nopenssl:no_md5=False\nopenssl:no_mdc2=False\nopenssl:no_ocsp=False\nopenssl:no_pinshared=False\nopenssl:no_rc2=False\nopenssl:no_rfc3779=False\nopenssl:no_rmd160=False\nopenssl:no_rsa=False\nopenssl:no_seed=False\nopenssl:no_sha=False\nopenssl:no_sm2=False\nopenssl:no_sm3=False\nopenssl:no_sm4=False\nopenssl:no_sock=False\nopenssl:no_srp=False\nopenssl:no_srtp=False\nopenssl:no_sse2=False\nopenssl:no_ssl=False\nopenssl:no_ssl3=False\nopenssl:no_stdio=False\nopenssl:no_tests=False\nopenssl:no_threads=False\nopenssl:no_tls1=False\nopenssl:no_ts=False\nopenssl:no_whirlpool=False\nopenssl:openssldir=None\nopenssl:shared=False\nprotobuf:fPIC=True\nprotobuf:lite=False\nprotobuf:shared=False\nprotobuf:with_rtti=True\nprotobuf:with_zlib=True\nre2:fPIC=True\nre2:shared=False\nzlib:fPIC=True\nzlib:shared=False",
    "package_id": "4bb9b57b03ba1fcfc1c5929feec27d5735883edc",
    "requires": [
     "2"
    ],
    "build_requires": [
     "11"
    ],
    "context": "host"
   },
   "2": {
    "ref": "grpc/1.45.2#c516f200deb644e2c322ac216d05bd52",
    "options": "codegen=True\ncpp_plugin=True\ncsharp_ext=False\ncsharp_plugin=True\nfPIC=True\nnode_plugin=True\nobjective_c_plugin=True\nphp_plugin=True\npython_plugin=True\nruby_plugin=True\nsecure=False\nshared=False\nabseil:fPIC=True\nabseil:shared=False\nc-ares:fPIC=True\nc-ares:shared=False\nc-ares:tools=True\nopenssl:386=False\nopenssl:enable_weak_ssl_ciphers=False\nopenssl:fPIC=True\nopenssl:no_aria=False\nopenssl:no_asm=False\nopenssl:no_async=False\nopenssl:no_bf=False\nopenssl:no_blake2=False\nopenssl:no_camellia=False\nopenssl:no_cast=False\nopenssl:no_chacha=False\nopenssl:no_cms=False\nopenssl:no_comp=False\nopenssl:no_ct=False\nopenssl:no_deprecated=False\nopenssl:no_des=False\nopenssl:no_dgram=False\nopenssl:no_dh=False\nopenssl:no_dsa=False\nopenssl:no_dso=False\nopenssl:no_ec=False\nopenssl:no_ecdh=False\nopenssl:no_ecdsa=False\nopenssl:no_engine=False\nopenssl:no_filenames=False\nopenssl:no_gost=False\nopenssl:no_hmac=False\nopenssl:no_idea=False\nopenssl:no_md4=False\nopenssl:no_md5=False\nopenssl:no_mdc2=False\nopenssl:no_ocsp=False\nopenssl:no_pinshared=False\nopenssl:no_rc2=False\nopenssl:no_rfc3779=False\nopenssl:no_rmd160=False\nopenssl:no_rsa=False\nopenssl:no_seed=False\nopenssl:no_sha=False\nopenssl:no_sm2=False\nopenssl:no_sm3=False\nopenssl:no_sm4=False\nopenssl:no_sock=False\nopenssl:no_srp=False\nopenssl:no_srtp=False\nopenssl:no_sse2=False\nopenssl:no_ssl=False\nopenssl:no_ssl3=False\nopenssl:no_stdio=False\nopenssl:no_tests=False\nopenssl:no_threads=False\nopenssl:no_tls1=False\nopenssl:no_ts=False\nopenssl:no_whirlpool=False\nopenssl:openssldir=None\nopenssl:shared=False\nprotobuf:fPIC=True\nprotobuf:lite=False\nprotobuf:shared=False\nprotobuf:with_rtti=True\nprotobuf:with_zlib=True\nre2:fPIC=True\nre2:shared=False\nzlib:fPIC=True\nzlib:shared=False",
    "package_id": "1475568be5c789f708cd6548eedc84395c696496",
    "requires": [
     "3",
     "4",
     "5",
     "6",
     "8",
     "7"
    ],
    "build_requires": [
     "9"
    ],
    "context": "host"
   },
   "3": {
    "ref": "abseil/20211102.0#61a9eb22b907920b517954493a7a6b00",
    "options": "fPIC=True\nshared=False",
    "package_id": "d8d8aba822aaa76849d2f1bafe4a2a62a9f83b74",
    "context": "host"
   },
   "4": {
    "ref": "c-ares/1.18.1#63f9d4a405fae68ccf628179834a23b4",
    "options": "fPIC=True\nshared=False\ntools=True",
    "package_id": "568a9f05046bc2a125b25bb11b7b1b0ed567b825",
    "context": "host"
   },
   "5": {
    "ref": "openssl/1.1.1n#6d54a7dfefe868303a36dda14a977259",
    "options": "386=False\nenable_weak_ssl_ciphers=False\nfPIC=True\nno_aria=False\nno_asm=False\nno_async=False\nno_bf=False\nno_blake2=False\nno_camellia=False\nno_cast=False\nno_chacha=False\nno_cms=False\nno_comp=False\nno_ct=False\nno_deprecated=False\nno_des=False\nno_dgram=False\nno_dh=False\nno_dsa=False\nno_dso=False\nno_ec=False\nno_ecdh=False\nno_ecdsa=False\nno_engine=False\nno_filenames=False\nno_gost=False\nno_hmac=False\nno_idea=False\nno_md4=False\nno_md5=False\nno_mdc2=False\nno_ocsp=False\nno_pinshared=False\nno_rc2=False\nno_rfc3779=False\nno_rmd160=False\nno_rsa=False\nno_seed=False\nno_sha=False\nno_sm2=False\nno_sm3=False\nno_sm4=False\nno_sock=False\nno_srp=False\nno_srtp=False\nno_sse2=False\nno_ssl=False\nno_ssl3=False\nno_stdio=False\nno_tests=False\nno_threads=False\nno_tls1=False\nno_ts=False\nno_whirlpool=False\nopenssldir=None\nshared=False",
    "package_id": "dfbe50feef7f3c6223a476cd5aeadb687084a646",
    "context": "host"
   },
   "6": {
    "ref": "protobuf/3.20.0#a67a8047171b10c93a8e69da49dfa79e",
    "options": "fPIC=True\nlite=False\nshared=False\nwith_rtti=True\nwith_zlib=True\nzlib:fPIC=True\nzlib:shared=False",
    "package_id": "6edb858beb38b6225fc28ac763b84c414489c437",
    "requires": [
     "7"
    ],
    "context": "host"
   },
   "7": {
    "ref": "zlib/1.2.12#8e3ee311536caa5c4dac19e531a20cae",
    "options": "fPIC=True\nshared=False",
    "package_id": "dfbe50feef7f3c6223a476cd5aeadb687084a646",
    "context": "host"
   },
   "8": {
    "ref": "re2/20220201#451a0e560f0dcab1dcd8c5b5bb9183ea",
    "options": "fPIC=True\nshared=False",
    "package_id": "d8d8aba822aaa76849d2f1bafe4a2a62a9f83b74",
    "context": "host"
   },
   "9": {
    "ref": "protobuf/3.20.0#a67a8047171b10c93a8e69da49dfa79e",
    "options": "fPIC=True\nlite=False\nshared=False\nwith_rtti=True\nwith_zlib=True\nzlib:fPIC=True\nzlib:shared=False",
    "package_id": "6edb858beb38b6225fc28ac763b84c414489c437",
    "requires": [
     "10"
    ],
    "context": "build"
   },
   "10": {
    "ref": "zlib/1.2.12#8e3ee311536caa5c4dac19e531a20cae",
    "options": "fPIC=True\nshared=False",
    "package_id": "dfbe50feef7f3c6223a476cd5aeadb687084a646",
    "context": "build"
   },
   "11": {
    "ref": "grpc/1.45.2#c516f200deb644e2c322ac216d05bd52",
    "options": "codegen=True\ncpp_plugin=True\ncsharp_ext=False\ncsharp_plugin=True\nfPIC=True\nnode_plugin=True\nobjective_c_plugin=True\nphp_plugin=True\npython_plugin=True\nruby_plugin=True\nsecure=False\nshared=False\nabseil:fPIC=True\nabseil:shared=False\nc-ares:fPIC=True\nc-ares:shared=False\nc-ares:tools=True\nopenssl:386=False\nopenssl:enable_weak_ssl_ciphers=False\nopenssl:fPIC=True\nopenssl:no_aria=False\nopenssl:no_asm=False\nopenssl:no_async=False\nopenssl:no_bf=False\nopenssl:no_blake2=False\nopenssl:no_camellia=False\nopenssl:no_cast=False\nopenssl:no_chacha=False\nopenssl:no_cms=False\nopenssl:no_comp=False\nopenssl:no_ct=False\nopenssl:no_deprecated=False\nopenssl:no_des=False\nopenssl:no_dgram=False\nopenssl:no_dh=False\nopenssl:no_dsa=False\nopenssl:no_dso=False\nopenssl:no_ec=False\nopenssl:no_ecdh=False\nopenssl:no_ecdsa=False\nopenssl:no_engine=False\nopenssl:no_filenames=False\nopenssl:no_gost=False\nopenssl:no_hmac=False\nopenssl:no_idea=False\nopenssl:no_md4=False\nopenssl:no_md5=False\nopenssl:no_mdc2=False\nopenssl:no_ocsp=False\nopenssl:no_pinshared=False\nopenssl:no_rc2=False\nopenssl:no_rfc3779=False\nopenssl:no_rmd160=False\nopenssl:no_rsa=False\nopenssl:no_seed=False\nopenssl:no_sha=False\nopenssl:no_sm2=False\nopenssl:no_sm3=False\nopenssl:no_sm4=False\nopenssl:no_sock=False\nopenssl:no_srp=False\nopenssl:no_srtp=False\nopenssl:no_sse2=False\nopenssl:no_ssl=False\nopenssl:no_ssl3=False\nopenssl:no_stdio=False\nopenssl:no_tests=False\nopenssl:no_threads=False\nopenssl:no_tls1=False\nopenssl:no_ts=False\nopenssl:no_whirlpool=False\nopenssl:openssldir=None\nopenssl:shared=False\nprotobuf:fPIC=True\nprotobuf:lite=False\nprotobuf:shared=False\nprotobuf:with_rtti=True\nprotobuf:with_zlib=True\nre2:fPIC=True\nre2:shared=False\nzlib:fPIC=True\nzlib:shared=False",
    "package_id": "1475568be5c789f708cd6548eedc84395c696496",
    "requires": [
     "12",
     "13",
     "14",
     "15",
     "17",
     "16"
    ],
    "context": "build"
   },
   "12": {
    "ref": "abseil/20211102.0#61a9eb22b907920b517954493a7a6b00",
    "options": "fPIC=True\nshared=False",
    "package_id": "d8d8aba822aaa76849d2f1bafe4a2a62a9f83b74",
    "context": "build"
   },
   "13": {
    "ref": "c-ares/1.18.1#63f9d4a405fae68ccf628179834a23b4",
    "options": "fPIC=True\nshared=False\ntools=True",
    "package_id": "568a9f05046bc2a125b25bb11b7b1b0ed567b825",
    "context": "build"
   },
   "14": {
    "ref": "openssl/1.1.1n#6d54a7dfefe868303a36dda14a977259",
    "options": "386=False\nenable_weak_ssl_ciphers=False\nfPIC=True\nno_aria=False\nno_asm=False\nno_async=False\nno_bf=False\nno_blake2=False\nno_camellia=False\nno_cast=False\nno_chacha=False\nno_cms=False\nno_comp=False\nno_ct=False\nno_deprecated=False\nno_des=False\nno_dgram=False\nno_dh=False\nno_dsa=False\nno_dso=False\nno_ec=False\nno_ecdh=False\nno_ecdsa=False\nno_engine=False\nno_filenames=False\nno_gost=False\nno_hmac=False\nno_idea=False\nno_md4=False\nno_md5=False\nno_mdc2=False\nno_ocsp=False\nno_pinshared=False\nno_rc2=False\nno_rfc3779=False\nno_rmd160=False\nno_rsa=False\nno_seed=False\nno_sha=False\nno_sm2=False\nno_sm3=False\nno_sm4=False\nno_sock=False\nno_srp=False\nno_srtp=False\nno_sse2=False\nno_ssl=False\nno_ssl3=False\nno_stdio=False\nno_tests=False\nno_threads=False\nno_tls1=False\nno_ts=False\nno_whirlpool=False\nopenssldir=None\nshared=False",
    "package_id": "dfbe50feef7f3c6223a476cd5aeadb687084a646",
    "context": "build"
   },
   "15": {
    "ref": "protobuf/3.20.0#a67a8047171b10c93a8e69da49dfa79e",
    "options": "fPIC=True\nlite=False\nshared=False\nwith_rtti=True\nwith_zlib=True\nzlib:fPIC=True\nzlib:shared=False",
    "package_id": "6edb858beb38b6225fc28ac763b84c414489c437",
    "requires": [
     "16"
    ],
    "context": "build"
   },
   "16": {
    "ref": "zlib/1.2.12#8e3ee311536caa5c4dac19e531a20cae",
    "options": "fPIC=True\nshared=False",
    "package_id": "dfbe50feef7f3c6223a476cd5aeadb687084a646",
    "context": "build"
   },
   "17": {
    "ref": "re2/20220201#451a0e560f0dcab1dcd8c5b5bb9183ea",
    "options": "fPIC=True\nshared=False",
    "package_id": "d8d8aba822aaa76849d2f1bafe4a2a62a9f83b74",
    "context": "build"
   }
  },
  "revisions_enabled": true
 },
 "version": "0.4",
 "profile_host": "[settings]\narch=x86_64\narch_build=x86_64\nbuild_type=Release\ncompiler=gcc\ncompiler.libcxx=libstdc++\ncompiler.version=11\nos=Linux\nos_build=Linux\n[options]\n[build_requires]\n[env]\n",
 "profile_build": "[settings]\narch=x86_64\narch_build=x86_64\nbuild_type=Release\ncompiler=gcc\ncompiler.libcxx=libstdc++\ncompiler.version=11\nos=Linux\nos_build=Linux\n[options]\n[build_requires]\n[env]\n"
}

Logs

user@hostname$ conan install app/1.0.0@ -b -l conan.lock
Using lockfile: '/path/to/conan.lock'
Configuration (profile_host):
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++
compiler.version=11
os=Linux
os_build=Linux
[options]
[build_requires]
[env]

Configuration (profile_build):
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++
compiler.version=11
os=Linux
os_build=Linux
[options]
[build_requires]
[env]

abseil/20211102.0: Forced build from source
c-ares/1.18.1: Forced build from source
openssl/1.1.1n: Forced build from source
re2/20220201: Forced build from source
zlib/1.2.12: Forced build from source
protobuf/3.20.0: Forced build from source
grpc/1.45.2: Forced build from source
app/1.0.0: Forced build from source
ERROR: Build-require 'protobuf' cannot be found in lockfile
@connorsmacd
Copy link

Duplicate of #10544?

@dornbirndevelops
Copy link
Author

yes, good catch @connorsmacd! let's follow the conversation there.

@dornbirndevelops dornbirndevelops closed this as not planned Won't fix, can't repro, duplicate, stale Feb 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants