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

[package] onnxruntime/1.16.3: Broken dependency graph abseil onnxruntime/1.16.3 re2/20230901 #24387

Closed
StephanieKemna opened this issue Jun 19, 2024 · 2 comments · Fixed by #23409
Labels
bug Something isn't working

Comments

@StephanieKemna
Copy link

StephanieKemna commented Jun 19, 2024

Description

This worked back in March at least, but is broken now.

onnxruntime/1.16.3 dependency graph is broken. re2/20230901 uses abseil/20240116.1, while protobuf/3.21.12 and onnxruntime/1.16.3 rely on abseil/20230802.1, causing a conflict

image

I tried specifying the abseil version as a [requires] in conanfile.txt, but to no avail.

Any help appreciated! :)

Package and Environment Details

  • Package Name/Version: onnxruntime/1.16.3
  • Operating System+version: Windows 10
  • Conan version: conan 2.4.1
  • Python version: Python 3.12.0

Conan profile

[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=17
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=193
os=Windows

Steps to reproduce

conan install .\conanfile.txt --build=missing

where conanfile.txt:

[requires]
onnxruntime/1.16.3

[options]
*:shared=False
onnx*:disable_static_registration=True

[generators]
CMakeDeps
CMakeToolchain

We also tried replacing this with a conanfile.py and including:

    def requirements(self):
        self.requires("abseil/20230802.1", force=True)
        self.requires("re2/20230901", force=True)

and tried instead also with

        self.requires("abseil/20240116.1", force=True)
        self.requires("re2/20230901", force=True)

with no success.
Error on failing then is:
image
which I am unsure how to trace further to the actual problem. I am assuming it is still caused by the mismatch of dependency versions (i.e. different version required).

Logs

Click to expand log
conan install .\conanfile.txt --build=missing

======== Input profiles ========
Profile host:
[settings]   
arch=x86_64  
build_type=Release
compiler=msvc
compiler.cppstd=17
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=193
os=Windows

Profile build:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=17
compiler.runtime=dynamic
compiler.runtime_type=Release
compiler.version=193
os=Windows


======== Computing dependency graph ========
Graph root
    conanfile.txt: ./conanfile.txt
Requirements
    abseil/20230802.1#2366879052a579d05183a7f84ef50712 - Cache
    date/3.0.1#032e24ad8bd1fd136dd33c932563d3d1 - Cache
    libcurl/8.8.0#9170903d66d6f6e6795fbb566a403129 - Cache
    onnxruntime/1.16.3#dfae3fd9bf3904f2455ccd59ee78f329 - Cache
    openssl/3.2.2#899583c694f9deccec74dbe0bbc65a15 - Cache
    protobuf/3.21.12#2070373d5f1a2606a4491faef9315a73 - Cache
    re2/20230901#74083e2864b5961e8059bdfd2fa1246c - Cache
    zlib/1.3.1#f52e03ae3d251dec704634230cd806a2 - Cache
Build requirements
    nasm/2.16.01#d0aebbd20ccbb6ad9c9c753ab708098c - Cache
    strawberryperl/5.32.1.1#707032463aa0620fa17ec0d887f5fe41 - Cache
Resolved version ranges
    libcurl/[>=7.78 <9]: libcurl/8.8.0
    openssl/[>=1.1 <4]: openssl/3.2.2
    zlib/[>=1.2.11 <2]: zlib/1.3.1
ERROR: Version conflict: Conflict between abseil/20240116.1 and abseil/20230802.1 in the graph.
Conflict originates from re2/20230901

Run 'conan graph info ... --format=html > graph.html' and open 'graph.html' to inspect the conflict graphically.
@StephanieKemna StephanieKemna added the bug Something isn't working label Jun 19, 2024
@miklelappo
Copy link
Contributor

Puh :-) I just wanted to open the same bug :-) Fully agree
image
This is my graph

@miklelappo
Copy link
Contributor

The error probably originates from
image
Someone updated abseil dependency for existing versions.
I guess if onnxruntime doesn't directly depend on abseil we should just remove this dep from onnxruntime and keep it transitive over re2 or if this is important and abseil is part of onnxruntime we should force or override it there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants