question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

conan profile for gcc "compiler.version=5" does not resolve packages with "compiler.version=5.4"

See original GitHub issue

Hi,

we found an issue concerning the gcc-compiler (version) and the package resolving algo. History: Our CI system created packages using the conan settings at command line like conan create . MyProduct1/1.0.0@user/channel -s compiler=gcc -s compiler.version=5.4 .... When searching for these packages the output contains compiler.version: 5.4. Because all jobs used the same command line, everything works as expected and everything was fine. I know this was probably not the best idea due to gcc 5 compatibility but on the other hand it is not completely incorrect. Now: After the discussion in another issue we switched to conan profiles as suggested by @memsharded which are distributed through a zip file and installed using the conan config install. Therefor I collected all default profiles of all our different slaves (Windows & Linux with different compiler versions) and put them into that zip file. But now packages which are formerly built with the same gcc and with the command line setting -s compiler.version=5.4 can no longer be found, (I think) because "compiler.version=5.4" != "compiler.version=5".

But IMHO these packages (with compiler.version=5.4) should also be found when a depending package is built with compiler.version=5.

Best Aalmann

Issue Analytics

  • State:open
  • Created 5 years ago
  • Comments:17 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
lasotecommented, Nov 27, 2018

This could be related with the GLIBC issue, where it matters the retro-compatibility. I add this to the 2.0 milestone to see if we can improve the settings model to support this use case of “compatible” possible values of settings.

1reaction
lasotecommented, Apr 23, 2018

If you want to mix them you need to implement a package_id() method in your recipes to allow the mix:

from conans.model.version import Version
def package_id(self):
    v = Version(str(self.settings.compiler.version))
    if self.settings.compiler == "gcc" and v >= "5": 
        self.info.settings.compiler.version = v.major
Read more comments on GitHub >

github_iconTop Results From Across the Web

settings.yml — conan 1.55.0 documentation
The input settings for packages in Conan are predefined in ~/.conan/settings.yml file, so only a few like os or compiler are possible. These...
Read more >
Having a different version of a dependency based on a conan ...
Use version 1.8.0 when building for the gcc 4.4.3 profile and use a newer version for ... Version(self.settings.compiler.version) < "5": ...
Read more >
Package List — Spack 0.20.0.dev0 documentation
It is automatically generated based on the packages in this Spack version. ... to provide LAPACK for someone who does not have access...
Read more >
Op Nav Build Issues - Google Groups
Morgan Yost's profile photo ... I can't figure out how to get zlib to install on my machine. Has this issue been ......
Read more >
README-CONAN.md · apertis/v2023dev3 · pkg / exiv2 · GitLab
Conan is a portable package manager for C/C++ libraries. ... set compiler.libcxx=libstdc++11 when using a version of gcc >= 5.1.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found