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

[gcc] Model internal libraries #15128

Closed
wants to merge 9 commits into from

Conversation

samuel-emrys
Copy link
Contributor

This PR provides an initial model of gcc's internal libraries to allow the recipe to be used as a runtime requirement rather than only as a tool requirement. This is necessary for packages such as lapack, which provides fortran libraries liblapack and libblas, which have a runtime dependency on libgfortran.

I've made an initial attempt to model the relationships between these libraries so that they are included and in the right order in any linker commands. This implementation is likely only reasonably accurate for the shared libraries since ldd is available to show the relationships the shared libraries have. The static libraries are somewhat harder to model and has been excluded as out of scope for this pull request, though targets are still provided.

Closes #15099


@ghost
Copy link

ghost commented Jan 6, 2023

I detected other pull requests that are modifying gcc/all recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

@conan-center-bot

This comment has been minimized.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 6, 2023

Hooks produced the following warnings for commit d8a6e91
gcc/11.3.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?

@conan-center-bot

This comment has been minimized.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 6, 2023

Hooks produced the following warnings for commit 0f5e082
gcc/12.2.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/12.2.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?
gcc/11.3.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?
gcc/10.2.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?

@@ -1,12 +1,14 @@
from conan import ConanFile
from conan.tools.gnu import Autotools, AutotoolsToolchain
# from conan.tools.gnu.get_gnu_triplet import _get_gnu_triplet
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jcar87 here's a really good triplets

# | libgcc_eh.a # libgcc exception handling. User by -static-libgcc
# | libgcov.a # test coverage library

self.cpp_info.set_property("cmake_target_name", "gcc::gcc_all")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of the targets are the dame ad the default and I am pretty sure they aren't from upstream so you can save some complexity and remove them

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you elaborate what you mean? I've modelled the libraries as components mostly to represent the relationships between them so that they can be included in the link command when necessary and linked in the right order - my understanding is that collect_libs wouldn't satisfy this.

This specific line I felt necessary to put in because the default catchall target gcc::gcc was overridden to refer to libgcc.a


self.cpp_info.components["gcov"].set_property("cmake_target_name", "gcc::gcov")
self.cpp_info.components["gcov"].libdirs = [os.path.join("lib","gcc", triplet, self.version)]
self.cpp_info.components["gcov"].libs = ["gcov"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be super cool to call this one in the the twst package!

I can see a bunch of people doing coverage with it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll see if I can put something together

from conan.errors import ConanInvalidConfiguration
from conan.tools.layout import basic_layout
from conan.tools.apple import XCRun
from conan.tools.files import copy, get, replace_in_file, rmdir, rm
from conan.tools.build import cross_building
from conan.tools.env import VirtualBuildEnv
from conan.tools.microsoft import is_msvc
# from conan.tools.build.cross_building import get_cross_building_settings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, cleanup

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will - I've left this here for the first review by @jcar87 as it relates to conan-io/conan#12789. Perhaps there's a way of packaging this library that means the gnu triplet isn't required, as it's presently hardcoded: https://github.com/conan-io/conan-center-index/pull/15128/files#diff-91c51d260a5e804807092c0510143447d89f4fc2d42ac14a2203c0d71cd6abb8R166

* Add legacy env_info environment variable definitions for conan v1
  compatibility
* Define cpp_info.libdirs and cpp_info.libs to enable linkage against gnu libraries
* Populate tools.build:compiler_executables with exported compilers using conf_info
* Add model for libraries that ship with gcc to enable
  individual libraries to be linked against and included
  in the right order in command line arguments
* Remove automatic library discovery
* Remove conf propagation of tools.build:compiler_executables as this
  conflicts with profiles when used
* Removed the conf_info definition for compiler executables as this
  breaks builds when the profile doesn't match the gcc version. This
  change has been deferred to a separate PR.
* Add description of all libraries to package_info
* Add static libraries to package model. This is an initial
  representation limited by a lack of knowledge about the interdependent
  relationships between these libraries.
* Add comments describing future triplet functionality and the imports
  that will be required
Rebasing on the changes made for conan 2.0 compatibility changed the
path to liblto_plugin.so from
<package_folder>/bin/libexec/gcc/<triplet>/<version> to
<package_folder/libexec/gcc/<triplet>/<version>
@conan-center-bot

This comment has been minimized.

@github-actions
Copy link
Contributor

Hooks produced the following warnings for commit 39f5c23
gcc/10.2.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/10.2.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?

@samuel-emrys
Copy link
Contributor Author

@uilianries @prince-chrismc I'm not sure it's going to be possible to split gcc out into static and shared libs - is it possible to add an exception to KB-H076 for gcc?

@stale
Copy link

stale bot commented Jun 10, 2023

This pull request has been automatically closed because it has not had recent activity. Thank you for your contributions.

@stale stale bot closed this Jun 10, 2023
@samuel-emrys
Copy link
Contributor Author

@prince-chrismc can you open this again? looks like the stale label wasn't removed based on my last bump

@prince-chrismc prince-chrismc reopened this Jul 6, 2023
@stale stale bot removed the stale label Jul 6, 2023
@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 1 (39f5c236c9c7fb60187dfcdfb0f21f4c4b94460b):

  • gcc/12.2.0@:
    Didn't run or was cancelled before finishing

  • gcc/10.2.0@:
    Didn't run or was cancelled before finishing

  • gcc/11.3.0@:
    CI failed to create some packages (All logs)

    Logs for packageID e22f47f196f50cff15626bfbdc57fadd84b7f986:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=5
    os=Linux
    
    [...]
      172 |         snprintf (zone, ZONE_LEN + 1, "%+03d%02d",
          |                                       ^~~~~~~~~~~
    /home/conan/w/prod/BuildSingleReference/.conan/data/gcc/11.3.0/_/_/build/e22f47f196f50cff15626bfbdc57fadd84b7f986/src/libgfortran/intrinsics/date_and_time.c:172:39: note: directive argument in the range [0, 59]
    /home/conan/w/prod/BuildSingleReference/.conan/data/gcc/11.3.0/_/_/build/e22f47f196f50cff15626bfbdc57fadd84b7f986/src/libgfortran/intrinsics/date_and_time.c:172:9: note: 'snprintf' output between 6 and 12 bytes into a destination of size 6
      172 |         snprintf (zone, ZONE_LEN + 1, "%+03d%02d",
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      173 |                   values[3] / 60, abs (values[3] % 60));
          |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    libtool: install: warning: remember to run `libtool --finish //libexec/gcc/x86_64-pc-linux-gnu/11.3.0'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: remember to run `libtool --finish //lib/gcc/x86_64-pc-linux-gnu/11.3.0/plugin'
    libtool: install: warning: relinking `liblsan.la'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: relinking `libasan.la'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: relinking `libubsan.la'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: relinking `libtsan.la'
    libtool: install: warning: relinking `libgfortran.la'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    Makefile:875: warning: overriding recipe for target 'all-multi'
    Makefile:866: warning: ignoring old recipe for target 'all-multi'
    Makefile:875: warning: overriding recipe for target 'all-multi'
    Makefile:866: warning: ignoring old recipe for target 'all-multi'
    Makefile:875: warning: overriding recipe for target 'all-multi'
    Makefile:866: warning: ignoring old recipe for target 'all-multi'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    Makefile:875: warning: overriding recipe for target 'all-multi'
    Makefile:866: warning: ignoring old recipe for target 'all-multi'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    libtool: install: warning: remember to run `libtool --finish //lib/gcc/x86_64-pc-linux-gnu/11.3.0'
    libtool: install: warning: remember to run `libtool --finish //lib/../lib'
    mv: 'x86_64-pc-linux-gnu-gcc-tmp' and 'x86_64-pc-linux-gnu-gcc-11.3.0' are the same file
    make[2]: [install-driver] Error 1 (ignored)
    /home/conan/w/prod/BuildSingleReference/.conan/data/binutils/2.38/_/_/package/094dda2f30c71059ad65f91f508e55a3fc48d0b3/bin/exec_prefix/x86_64-pc-linux-gnu/bin/objdump: ./lib/libgcc_s.so: file format not recognized
    gcc/11.3.0: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    gcc/11.3.0: WARN: replace_in_file didn't find pattern '@shlib_slibdir@' in '/home/conan/w/prod/BuildSingleReference/.conan/data/gcc/11.3.0/_/_/build/e22f47f196f50cff15626bfbdc57fadd84b7f986/src/libgcc/config/t-slibgcc-darwin' file.
    [HOOK - conan-center.py] post_package(): ERROR: [EITHER STATIC OR SHARED OF EACH LIB (KB-H076)] Package contains both shared and static flavors of these libraries: libasan, libatomic, libgfortran, libgomp, libitm, liblsan, libquadmath, libssp, libstdc++, libtsan, libubsan (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H076-EITHER-STATIC-OR-SHARED-OF-EACH-LIB) 
    [HOOK - conan-center.py] post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
    [HOOK - conan-center.py] post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
    [HOOK - conan-center.py] post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
    [HOOK - conan-center.py] post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
    [HOOK - conan-center.py] post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?
    ERROR: [HOOK - conan-center.py] post_package(): Some checks failed running the hook, check the output
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds may be required once they are on the v2 ready list

The v2 pipeline failed. Please, review the errors and note this will be required for pull requests to be merged in the near future.

See details:

Failure in build 1 (39f5c236c9c7fb60187dfcdfb0f21f4c4b94460b):

  • gcc/10.2.0@:
    Error running command conan graph info --requires gcc/10.2.0@#4e3e4a875cf824aed9a2e25a7d712ec5 -f json -pr:h /home/conan/w/prod-v2_cci_PR-15128/1/be633a58-2661-4fd0-bb75-2465a08fae0f/profile_linux_11_libstdcpp11_17_gcc_release_64..txt -pr:b /home/conan/w/prod-v2_cci_PR-15128/1/be633a58-2661-4fd0-bb75-2465a08fae0f/profile_linux_11_libstdcpp11_17_gcc_release_64..txt:

    ======== Computing dependency graph ========
    mpc/1.2.0: Not found in local cache, looking in remotes...
    mpc/1.2.0: Checking remote: conan-center
    mpc/1.2.0: Downloaded recipe revision db3f79836f2a7a9e15b6c63b7a96649e
    gmp/6.2.1: Not found in local cache, looking in remotes...
    gmp/6.2.1: Checking remote: conan-center
    gmp/6.2.1: Downloaded recipe revision c0aec48648a7dff99f293870b95cad36
    m4/1.4.19: Not found in local cache, looking in remotes...
    m4/1.4.19: Checking remote: conan-center
    m4/1.4.19: Downloaded recipe revision c1c4b1ee919e34630bb9b50046253d3c
    mpfr/4.1.0: Not found in local cache, looking in remotes...
    mpfr/4.1.0: Checking remote: conan-center
    mpfr/4.1.0: Downloaded recipe revision b37ffb14d21de2b93fbbaaca21dd24b3
    zlib/1.2.13: Not found in local cache, looking in remotes...
    zlib/1.2.13: Checking remote: conan-center
    zlib/1.2.13: Downloaded recipe revision e377bee636333ae348d51ca90874e353
    isl/0.24: Not found in local cache, looking in remotes...
    isl/0.24: Checking remote: conan-center
    isl/0.24: Downloaded recipe revision 176fb061ef36057914b482bab739ca2c
    Graph root
        cli
    Requirements
        gcc/10.2.0#4e3e4a875cf824aed9a2e25a7d712ec5 - Cache
        gmp/6.2.1#c0aec48648a7dff99f293870b95cad36 - Downloaded (conan-center)
        mpc/1.2.0#db3f79836f2a7a9e15b6c63b7a96649e - Downloaded (conan-center)
        mpfr/4.1.0#b37ffb14d21de2b93fbbaaca21dd24b3 - Downloaded (conan-center)
        zlib/1.2.13#e377bee636333ae348d51ca90874e353 - Downloaded (conan-center)
    Build requirements
        m4/1.4.19#c1c4b1ee919e34630bb9b50046253d3c - Downloaded (conan-center)
    Graph error
        Package 'isl/0.24' not resolved: isl/0.24: Cannot load recipe.
    Error loading conanfile at '/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py': Unable to load conanfile in /home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py", line 1, in <module>
        from conans import AutoToolsBuildEnvironment, ConanFile, tools
    ImportError: cannot import name 'AutoToolsBuildEnvironment' from 'conans' (/opt/pyenv/versions/3.7.13/lib/python3.7/site-packages/conans/__init__.py)
    .
    *********************************************************
    Recipe 'isl/0.24' seems broken.
    It is possible that this recipe is not Conan 2.0 ready
    If the recipe comes from ConanCenter check: https://conan.io/cci-v2.html
    If it is your recipe, check if it is updated to 2.0
    *********************************************************
    
    ERROR: Package 'isl/0.24' not resolved: isl/0.24: Cannot load recipe.
    Error loading conanfile at '/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py': Unable to load conanfile in /home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py", line 1, in <module>
        from conans import AutoToolsBuildEnvironment, ConanFile, tools
    ImportError: cannot import name 'AutoToolsBuildEnvironment' from 'conans' (/opt/pyenv/versions/3.7.13/lib/python3.7/site-packages/conans/__init__.py)
    .
    
  • gcc/12.2.0@:
    Error running command conan graph info --requires gcc/12.2.0@#0929380b7ee23faccaf7940dabec03f9 -f json -pr:h /home/conan/w/prod-v2_cci_PR-15128/1/cf3f1d1b-a81a-4db7-968a-1b13a1184090/profile_linux_11_libstdcpp11_17_gcc_release_64..txt -pr:b /home/conan/w/prod-v2_cci_PR-15128/1/cf3f1d1b-a81a-4db7-968a-1b13a1184090/profile_linux_11_libstdcpp11_17_gcc_release_64..txt:

    ======== Computing dependency graph ========
    mpc/1.2.0: Not found in local cache, looking in remotes...
    mpc/1.2.0: Checking remote: conan-center
    mpc/1.2.0: Downloaded recipe revision db3f79836f2a7a9e15b6c63b7a96649e
    gmp/6.2.1: Not found in local cache, looking in remotes...
    gmp/6.2.1: Checking remote: conan-center
    gmp/6.2.1: Downloaded recipe revision c0aec48648a7dff99f293870b95cad36
    m4/1.4.19: Not found in local cache, looking in remotes...
    m4/1.4.19: Checking remote: conan-center
    m4/1.4.19: Downloaded recipe revision c1c4b1ee919e34630bb9b50046253d3c
    mpfr/4.1.0: Not found in local cache, looking in remotes...
    mpfr/4.1.0: Checking remote: conan-center
    mpfr/4.1.0: Downloaded recipe revision b37ffb14d21de2b93fbbaaca21dd24b3
    zlib/1.2.13: Not found in local cache, looking in remotes...
    zlib/1.2.13: Checking remote: conan-center
    zlib/1.2.13: Downloaded recipe revision e377bee636333ae348d51ca90874e353
    isl/0.24: Not found in local cache, looking in remotes...
    isl/0.24: Checking remote: conan-center
    isl/0.24: Downloaded recipe revision 176fb061ef36057914b482bab739ca2c
    Graph root
        cli
    Requirements
        gcc/12.2.0#0929380b7ee23faccaf7940dabec03f9 - Cache
        gmp/6.2.1#c0aec48648a7dff99f293870b95cad36 - Downloaded (conan-center)
        mpc/1.2.0#db3f79836f2a7a9e15b6c63b7a96649e - Downloaded (conan-center)
        mpfr/4.1.0#b37ffb14d21de2b93fbbaaca21dd24b3 - Downloaded (conan-center)
        zlib/1.2.13#e377bee636333ae348d51ca90874e353 - Downloaded (conan-center)
    Build requirements
        m4/1.4.19#c1c4b1ee919e34630bb9b50046253d3c - Downloaded (conan-center)
    Graph error
        Package 'isl/0.24' not resolved: isl/0.24: Cannot load recipe.
    Error loading conanfile at '/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py': Unable to load conanfile in /home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py", line 1, in <module>
        from conans import AutoToolsBuildEnvironment, ConanFile, tools
    ImportError: cannot import name 'AutoToolsBuildEnvironment' from 'conans' (/opt/pyenv/versions/3.7.13/lib/python3.7/site-packages/conans/__init__.py)
    .
    *********************************************************
    Recipe 'isl/0.24' seems broken.
    It is possible that this recipe is not Conan 2.0 ready
    If the recipe comes from ConanCenter check: https://conan.io/cci-v2.html
    If it is your recipe, check if it is updated to 2.0
    *********************************************************
    
    ERROR: Package 'isl/0.24' not resolved: isl/0.24: Cannot load recipe.
    Error loading conanfile at '/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py': Unable to load conanfile in /home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py", line 1, in <module>
        from conans import AutoToolsBuildEnvironment, ConanFile, tools
    ImportError: cannot import name 'AutoToolsBuildEnvironment' from 'conans' (/opt/pyenv/versions/3.7.13/lib/python3.7/site-packages/conans/__init__.py)
    .
    
  • gcc/11.3.0@:
    Error running command conan graph info --requires gcc/11.3.0@#c6adfa83e454b8a4fae9497bc044103d -f json -pr:h /home/conan/w/prod-v2_cci_PR-15128/1/96c1ffff-31a4-4385-8075-5909bcaab10e/profile_linux_11_libstdcpp11_17_gcc_release_64..txt -pr:b /home/conan/w/prod-v2_cci_PR-15128/1/96c1ffff-31a4-4385-8075-5909bcaab10e/profile_linux_11_libstdcpp11_17_gcc_release_64..txt:

    ======== Computing dependency graph ========
    mpc/1.2.0: Not found in local cache, looking in remotes...
    mpc/1.2.0: Checking remote: conan-center
    mpc/1.2.0: Downloaded recipe revision db3f79836f2a7a9e15b6c63b7a96649e
    gmp/6.2.1: Not found in local cache, looking in remotes...
    gmp/6.2.1: Checking remote: conan-center
    gmp/6.2.1: Downloaded recipe revision c0aec48648a7dff99f293870b95cad36
    m4/1.4.19: Not found in local cache, looking in remotes...
    m4/1.4.19: Checking remote: conan-center
    m4/1.4.19: Downloaded recipe revision c1c4b1ee919e34630bb9b50046253d3c
    mpfr/4.1.0: Not found in local cache, looking in remotes...
    mpfr/4.1.0: Checking remote: conan-center
    mpfr/4.1.0: Downloaded recipe revision b37ffb14d21de2b93fbbaaca21dd24b3
    zlib/1.2.13: Not found in local cache, looking in remotes...
    zlib/1.2.13: Checking remote: conan-center
    zlib/1.2.13: Downloaded recipe revision e377bee636333ae348d51ca90874e353
    isl/0.24: Not found in local cache, looking in remotes...
    isl/0.24: Checking remote: conan-center
    isl/0.24: Downloaded recipe revision 176fb061ef36057914b482bab739ca2c
    Graph root
        cli
    Requirements
        gcc/11.3.0#c6adfa83e454b8a4fae9497bc044103d - Cache
        gmp/6.2.1#c0aec48648a7dff99f293870b95cad36 - Downloaded (conan-center)
        mpc/1.2.0#db3f79836f2a7a9e15b6c63b7a96649e - Downloaded (conan-center)
        mpfr/4.1.0#b37ffb14d21de2b93fbbaaca21dd24b3 - Downloaded (conan-center)
        zlib/1.2.13#e377bee636333ae348d51ca90874e353 - Downloaded (conan-center)
    Build requirements
        m4/1.4.19#c1c4b1ee919e34630bb9b50046253d3c - Downloaded (conan-center)
    Graph error
        Package 'isl/0.24' not resolved: isl/0.24: Cannot load recipe.
    Error loading conanfile at '/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py': Unable to load conanfile in /home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py", line 1, in <module>
        from conans import AutoToolsBuildEnvironment, ConanFile, tools
    ImportError: cannot import name 'AutoToolsBuildEnvironment' from 'conans' (/opt/pyenv/versions/3.7.13/lib/python3.7/site-packages/conans/__init__.py)
    .
    *********************************************************
    Recipe 'isl/0.24' seems broken.
    It is possible that this recipe is not Conan 2.0 ready
    If the recipe comes from ConanCenter check: https://conan.io/cci-v2.html
    If it is your recipe, check if it is updated to 2.0
    *********************************************************
    
    ERROR: Package 'isl/0.24' not resolved: isl/0.24: Cannot load recipe.
    Error loading conanfile at '/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py': Unable to load conanfile in /home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/conan/w/prod-v2_cci_PR-15128/p/isl2f411516cc959/e/conanfile.py", line 1, in <module>
        from conans import AutoToolsBuildEnvironment, ConanFile, tools
    ImportError: cannot import name 'AutoToolsBuildEnvironment' from 'conans' (/opt/pyenv/versions/3.7.13/lib/python3.7/site-packages/conans/__init__.py)
    .
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 6, 2023

Hooks produced the following warnings for commit 39f5c23
gcc/11.3.0
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [SHORT_PATHS USAGE (KB-H066)] The file './include/c++/11.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp' has a very long path and may exceed Windows max path length. Add 'short_paths = True' in your recipe.
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Running objdump on './lib/libgcc_s.so' failed. Is the environment variable OBJDUMP correctly configured?

@samuel-emrys
Copy link
Contributor Author

Also relates to conan-io/conan#13533. Some thought needs to be put into how compiler packages are consumed, given that they impose both build time and run time requirements, which aren't always available on the host system.

@stale
Copy link

stale bot commented Aug 7, 2023

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Aug 7, 2023
@samuel-emrys
Copy link
Contributor Author

keep alive post

@stale stale bot removed the stale label Aug 7, 2023
@ghost ghost mentioned this pull request Sep 25, 2023
3 tasks
@stale
Copy link

stale bot commented Oct 15, 2023

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Oct 15, 2023
@AndreyMlashkin
Copy link
Contributor

@samuel-emrys bump?

@stale stale bot removed the stale label Oct 15, 2023
@samuel-emrys
Copy link
Contributor Author

this is still waiting on review by @jcar87 as he indicated some objection to these changes

@AndreyMlashkin
Copy link
Contributor

@jcar87 ? @uilianries @SSE4 ?

@SSE4
Copy link
Contributor

SSE4 commented Nov 2, 2023

I'll comment on: #15128 - as I can see some potential issues down the line

what are the potential issues? are they blocking us from merging the PR? can we just add FIXME and proceed for now?

@samuel-emrys
Copy link
Contributor Author

I'll comment on: #15128 - as I can see some potential issues down the line

what are the potential issues? are they blocking us from merging the PR? can we just add FIXME and proceed for now?

See @jcar87's response on #15099

@SSE4
Copy link
Contributor

SSE4 commented Nov 2, 2023

@samuel-emrys I've read, and he says as a summary:

Unless there are specific issues that we can reproduce, we are unlikely to consider

so, are there specific issues we can reproduce?

@samuel-emrys
Copy link
Contributor Author

samuel-emrys commented Nov 2, 2023

Yes, I raised this PR to demonstrate the benefit from a runtime gfortran requirement perspective: #15556

From a reproducibility perspective, my opinion is that you would want to ensure you're using the same libgfortran version on any system a resulting lapack is built with, rather than relying on whatever is installed on the system. I'm not sure this is a perspective that @jcar87 shares, and perhaps this could be circumvented to some degree with a static libgfortran compilation.

Other utility might be found in exposing gcov.

Copy link
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Feb 13, 2024
Copy link
Contributor

This pull request has been automatically closed because it has not had recent activity. Thank you for your contributions.

@github-actions github-actions bot closed this Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[package] gcc recipe doesn't export library metdata
7 participants