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

Pkg 3792: initial feedstock, v12.3 #1

Merged
merged 18 commits into from
Feb 19, 2024
Merged

Conversation

danpetry
Copy link

@danpetry danpetry commented Feb 5, 2024

Destination channel: defaults

Links

Explanation of changes:

  • Third package of CUDA 12.3 build, following conda-forge's pattern which was developed in conjunction with Nvidia. I don't see a need to stage these then release them all at once. They won't cause a problem released one at a time.
  • Please check the main branch too, this has just been forked
  • Uploads to private anaconda.org channel because we don't have the license agreement for many of the packages in this buildout, including upstreams. (this particular package we have a license for)
  • Also removes things that aren't applicable in defaults
    • binary patching to define $ORIGIN as runpath, as it's not needed because the patched binaries don't link against any conda-provided .sos (although I'm not sure why this was done in conda-forge either, awaiting info)
    • adjust required glibc on aarch64, it's different between us and conda-forge

We don't have arm-variant as a package in defaults.

It's left in run_constrained to support compatibility when mixed with
conda-forge packages.
@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_877lnzy2z6/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:24: missing_hash: The recipe is missing a sha256 checksum for a source file
  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:24: invalid_url: https://developer.download.nvidia.com/compute/cuda/redist/cuda_cudart/linux/cuda_cudart-linux-12.3.101-archive.tar.xz : Not reachable: 404
  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
    ===== Final Report: =====
    6 Errors and 1 Warning were found

@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_6ezi4pxqi2/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
    ===== Final Report: =====
    4 Errors and 1 Warning were found

@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_b3m9falo3d/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
    ===== Final Report: =====
    4 Errors and 1 Warning were found

@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_4bk6mnet7b/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
    ===== Final Report: =====
    4 Errors and 1 Warning were found

@danpetry danpetry closed this Feb 7, 2024
@danpetry danpetry reopened this Feb 7, 2024
@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_c7lix3469g/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
    ===== Final Report: =====
    4 Errors and 1 Warning were found

@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_36i7vje2b1/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
    ===== Final Report: =====
    4 Errors and 1 Warning were found

@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_f54ap9he2m/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
    ===== Final Report: =====
    4 Errors and 1 Warning were found

recipe/build.sh Outdated
# the runtime dependencies are packaged in their ecosystem.
# For defaults, they're in the default system lib location.
# if [[ $j =~ \.so\. ]]; then
# patchelf --set-rpath '$ORIGIN' ${PREFIX}/${targetsDir}/$j

Choose a reason for hiding this comment

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

I think we should avoid diverging from conda-forge too much. Having $ORIGIN in RUNPATH doesn't hurt in this case. NVidia might actually have a reason to prefer RUNPATH over RPATH here (because conda-build will set RPATH to $ORIGIN/. automatically).

So if anything, we should wait to get an answer on conda-forge#21 before proceeding with this change.

Copy link
Author

Choose a reason for hiding this comment

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

I'll wait for the answer from conda-forge

Choose a reason for hiding this comment

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

From conda-forge#21 (and conda-forge/cuda-feedstock#10), we need to keep this. We could create an issue on the cuda feedstock to suggest using --force-rpath which would silence conda-build.

Copy link
Author

Choose a reason for hiding this comment

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

yeah. This would also change precedence of $ORIGIN related to LD_LIBRARY_PATH so not sure whether that makes sense (it might do).

Copy link
Author

Choose a reason for hiding this comment

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

this is done

@@ -1,2 +1,5 @@
arm_variant_type: # [aarch64]
- sbsa # [aarch64]
conda_glibc_ver:
- 2.17 # [not aarch64]

Choose a reason for hiding this comment

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

I feel like this is the kind of thing we should probably define in aggregate?

Copy link
Author

@danpetry danpetry Feb 7, 2024

Choose a reason for hiding this comment

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

it's defined in package cbcs for everything that uses it (various compiler related packages). But yeah I agree. Would prefer this not to be blocked on that though, and move them all out at some later opportunity. Concretely, I'd generate a jira ticket for it, and if needed an epic for cbc reviewing. Would you be ok with that?

Choose a reason for hiding this comment

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

You know what, I'm even wondering we should shouldn't just do >=2.17 on both x86_64 and aarch64. If something is compiled with glibc 2.17, it will work on anything greater than that version. Like I don't know why they hard pin glibc there.

Copy link
Author

Choose a reason for hiding this comment

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

Do you know why they specify compilers and sysroot in this feedstock anyway? It's just binary repackaging.

Choose a reason for hiding this comment

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

I had this exact question with AnacondaRecipes/file-feedstock#1 yesterday and the only thing I can think of is that it's to make the DSO check happy.

Copy link
Author

Choose a reason for hiding this comment

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

right yeah

Copy link
Author

Choose a reason for hiding this comment

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

I asked that here

Copy link
Author

Choose a reason for hiding this comment

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

I haven't had a reply and this is in line with other feedstocks (example). Would you be ok with keeping it in? Seems less risky if we don't know the reason. Would like to get the PR moving along. Don't think it's critical to unpin.

@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_2208zcuso_/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:337: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:337: missing_license_family: The recipe is missing the about/license_family key.
  • clone/recipe/meta.yaml:337: missing_dev_url: The recipe is missing a dev_url
  • clone/recipe/meta.yaml:139: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:221: missing_tests: output "cuda-cudart-static": No tests were found.
    ===== Final Report: =====
    4 Errors and 1 Warning were found

@danpetry danpetry changed the title Pkg 3792: initial feedstock, v12.3 Pkg 3792: initial feedstock, v12.3 skip CI Feb 9, 2024
@danpetry danpetry changed the title Pkg 3792: initial feedstock, v12.3 skip CI Pkg 3792: initial feedstock, v12.3 Feb 13, 2024
@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_5dtu9q68v1/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
    ===== Final Report: =====
    4 Errors and 1 Warning were found

@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_208sijomxy/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
    ===== Final Report: =====
    4 Errors and 1 Warning were found

Copy link

@cbouss cbouss left a comment

Choose a reason for hiding this comment

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

LGTM, the rpath story is interesting

@skupr-anaconda
Copy link

@JeanChristopheMorinPerso

@skupr-anaconda no, this feedstock is not python related. This feedstock is about cudart from the cudatoolkit.

@danpetry danpetry changed the title Pkg 3792: initial feedstock, v12.3 Pkg 3792: initial feedstock, v12.3 skip CI Feb 19, 2024
@danpetry danpetry changed the title Pkg 3792: initial feedstock, v12.3 skip CI Pkg 3792: initial feedstock, v12.3 Feb 19, 2024
@danpetry danpetry merged commit 09d15ed into main Feb 19, 2024
1 check passed
@danpetry danpetry deleted the PKG-3792-update-for-defaults branch February 19, 2024 20:21
@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_6afpp0omz8/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
    ===== Final Report: =====
    4 Errors and 1 Warning were found

@anaconda-pkg-build
Copy link

Linter check found the following problems: ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_15jxi0_64s/clone` failed. (See above for error) The following problems have been found:

===== WARNINGS =====

  • clone/recipe/meta.yaml:336: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

  • clone/recipe/meta.yaml:138: missing_tests: output "cuda-cudart-dev": No tests were found.
  • clone/recipe/meta.yaml:336: missing_dev_url: The recipe is missing a dev_url
  • clone/recipe/meta.yaml:220: missing_tests: output "cuda-cudart-static": No tests were found.
  • clone/recipe/meta.yaml:336: missing_license_family: The recipe is missing the about/license_family key.
    ===== Final Report: =====
    4 Errors and 1 Warning were found

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

Successfully merging this pull request may close these issues.

6 participants