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

Adds symjit 1.2. #29211

Merged
merged 5 commits into from
Feb 20, 2025
Merged

Adds symjit 1.2. #29211

merged 5 commits into from
Feb 20, 2025

Conversation

moorepants
Copy link
Contributor

@moorepants moorepants commented Feb 20, 2025

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/symjit/meta.yaml) and found some lint.

Here's what I've got...

For recipes/symjit/meta.yaml:

  • ❌ The home item is expected in the about section.
  • ❌ The summary item is expected in the about section.
  • ❌ This recipe is using a compiler, which now requires adding a build dependence on {{ stdlib("c") }} as well. Note that this rule applies to each output of the recipe using a compiler. For further details, please see META: {{ stdlib("c") }} migration conda-forge.github.io#2102.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/13427782844. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/symjit/meta.yaml) and found it was in an excellent condition.

@moorepants
Copy link
Contributor Author

It seems to build with pip install on linux but I get an "overlinking" error:

Packaging symjit
Packaging symjit-1.2-py312he4ac13c_0
compiling .pyc files...
number of files: 15
   INFO (symjit,lib/python3.12/site-packages/symjit/_lib.cpython-312-x86_64-linux-gnu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libpthread.so.0 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.17=h0157908_18
   INFO (symjit,lib/python3.12/site-packages/symjit/_lib.cpython-312-x86_64-linux-gnu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libm.so.6 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.17=h0157908_18
   INFO (symjit,lib/python3.12/site-packages/symjit/_lib.cpython-312-x86_64-linux-gnu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libdl.so.2 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.17=h0157908_18
   INFO (symjit,lib/python3.12/site-packages/symjit/_lib.cpython-312-x86_64-linux-gnu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/libc.so.6 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.17=h0157908_18
   INFO (symjit,lib/python3.12/site-packages/symjit/_lib.cpython-312-x86_64-linux-gnu.so): Needed DSO x86_64-conda-linux-gnu/sysroot/lib64/ld-linux-x86-64.so.2 found in CDT/compiler package conda-forge/noarch::sysroot_linux-64==2.17=h0157908_18
WARNING (symjit): interpreter (Python) package conda-forge/linux-64::python==3.12.9=h9e4cc4f_0_cpython in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to `build/ignore_run_exports`)
Traceback (most recent call last):
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 356, in <module>
    build_all(os.path.join(root_dir, "recipes"), args.arch)
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 185, in build_all
    build_folders(recipes_dir, folders, arch, channel_urls)
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 248, in build_folders
    conda_build.api.build([recipe], config=get_config(arch, channel_urls))
  File "/opt/conda/lib/python3.12/site-packages/conda_build/api.py", line 211, in build
    return build_tree(
           ^^^^^^^^^^^
  File "/opt/conda/lib/python3.12/site-packages/conda_build/build.py", line 3656, in build_tree
    packages_from_this = build(
                         ^^^^^^
  File "/opt/conda/lib/python3.12/site-packages/conda_build/build.py", line 2767, in build
    newly_built_packages = bundlers[pkg_type](
                           ^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.12/site-packages/conda_build/build.py", line 1870, in bundle_conda
    files = post_process_files(metadata, initial_files)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.12/site-packages/conda_build/build.py", line 1650, in post_process_files
    post_build(m, new_files, build_python=python)
  File "/opt/conda/lib/python3.12/site-packages/conda_build/post.py", line 1764, in post_build
    check_overlinking(m, files, host_prefix)
  File "/opt/conda/lib/python3.12/site-packages/conda_build/post.py", line 1589, in check_overlinking
    return check_overlinking_impl(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.12/site-packages/conda_build/post.py", line 1566, in check_overlinking_impl
    raise OverLinkingError(overlinking_errors)
conda_build.exceptions.OverLinkingError: <exception str() failed>

@moorepants
Copy link
Contributor Author

Looks like mac is not support, as symjit raises a ValueError when trying to import:

import: 'symjit'
Traceback (most recent call last):
  File "/Users/runner/bld/symjit_1740025578821/test_tmp/run_test.py", line 2, in <module>
    import symjit
  File "/Users/runner/bld/symjit_1740025578821/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.10/site-packages/symjit/__init__.py", line 4, in <module>
    from . import engine
  File "/Users/runner/bld/symjit_1740025578821/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.10/site-packages/symjit/engine.py", line 25, in <module>
    raise ValueError("unsupported platform")
ValueError: unsupported platform

@moorepants
Copy link
Contributor Author

Thanks @isuruf !

@moorepants
Copy link
Contributor Author

Nice, it now builds on Linux and Windows, with the test file passing. The software does not seem to support Mac silicon yet, so that is skipped.

This is ready for review!

url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/symjit-{{ version }}.tar.gz
sha256: 8b5d497d0cad18930c37fa0610b38d211ad4be56f10b533484be7b64f6d09cef

build:
Copy link
Member

Choose a reason for hiding this comment

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

Could you please take a look at the following and include the 3rd party licenses:
https://conda-forge.org/docs/maintainer/adding_pkgs/#rust

Copy link
Contributor Author

Choose a reason for hiding this comment

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

3rd party license for what?

Copy link
Member

Choose a reason for hiding this comment

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

For some languages (Go, rust, etc.), the current policy is to include all dependencies and their dependencies in the package.

The underlying rust code uses a number of dependencies pulled in through cargo, so cargo-bundle-licenses automatically pulls them together and includes them in the conda package.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, sorry. I'm not familiar with rust. I did not know it was including other software. I followed the instructions in the knowledgebase.

@synapticarbors synapticarbors merged commit 9cb0b26 into conda-forge:main Feb 20, 2025
7 checks passed
@isuruf isuruf mentioned this pull request Feb 21, 2025
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants