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

Enable llvm wasm target #83

Closed

Conversation

Shaikh-Ubaid
Copy link
Member

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@conda-forge-webservices
Copy link

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 (recipe) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe:

  • This recipe is using a compiler, which now requires adding a build dependence on {{ stdlib("c") }} as well. For further details, please see META: {{ stdlib("c") }} migration conda-forge.github.io#2102.
  • You are setting MACOSX_SDK_VERSION below c_stdlib_version, in conda_build_config.yaml which is not possible! Please ensure MACOSX_SDK_VERSION is at least c_stdlib_version (you can leave it out if it is equal).
    If you are not setting c_stdlib_version yourself, this means you are requesting a version below the current global baseline in conda-forge. In this case, you also need to override c_stdlib_version and MACOSX_DEPLOYMENT_TARGET locally.

Comment on lines 7 to 8
c_stdlib_version:
- '2.12'
- '2.27'
Copy link
Member

Choose a reason for hiding this comment

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

You cannot do this manually (will disappear on a recipe rerender), and we don't have 2.27, because there are only RHEL-based increments (2.12, 2.17, 2.28).

You should be able to set the following in recipe/conda_build_config.yaml:

c_stdlib_version:  # [linux]
  - 2.28           # [linux]

but note that support for that is not 100% complete yet (though this part should work).

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks, I will try it. Also, do you know if we need to explicitly install c_stdlib like:

diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 0af9edb..635f7c4 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -18,6 +18,7 @@ requirements:
   build:
     - {{ compiler('c') }}
     - {{ compiler('cxx') }}
+    - {{ stdlib("c") }}
     - cmake =3.21.1
     - make   # [unix]
     - xeus =3.0.5       # [build_platform != target_platform]

Copy link
Member Author

Choose a reason for hiding this comment

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

/home/conda/wasi-sdk-21.0/bin/clang: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /home/conda/wasi-sdk-21.0/bin/clang)

Looks like using 2.28 doesn't seem to help.

@conda-forge-webservices
Copy link

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 (recipe) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe:

  • You are setting MACOSX_SDK_VERSION below c_stdlib_version, in conda_build_config.yaml which is not possible! Please ensure MACOSX_SDK_VERSION is at least c_stdlib_version (you can leave it out if it is equal).
    If you are not setting c_stdlib_version yourself, this means you are requesting a version below the current global baseline in conda-forge. In this case, you also need to override c_stdlib_version and MACOSX_DEPLOYMENT_TARGET locally.

@conda-forge-webservices
Copy link

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 (recipe) and found it was in an excellent condition.

@h-vetinari
Copy link
Member

@conda-forge-admin, please rerender

@h-vetinari
Copy link
Member

So I don't know this recipe, but from what I can tell, the stuff in home/conda/wasi-sdk-21.0/bin/clang gets downloaded during the build, rather building it in conda-forge. It is therefore not a surprise that it relies on newer symbols and doesn't know where to find them, because these builds are not (fully) relocatable, and cannot find our libm.so.6, which is not under /lib64, but under $PREFIX/x86_64-conda-linux-gnu/sysroot/lib64/libm.so.6:

+ WASI_SDK_PATH=/home/conda/wasi-sdk-21.0
+ echo /home/conda/wasi-sdk-21.0
+ /home/conda/wasi-sdk-21.0/bin/clang --version
/home/conda/wasi-sdk-21.0/bin/clang: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /home/conda/wasi-sdk-21.0/bin/clang)

Again, without knowing the details of this recipe, it's very likely that the wasi-sdk should be built in conda-forge itself for use in this recipe.

@h-vetinari
Copy link
Member

Ah, nevermind what I said, what we need is to change the image to alma8 here (I managed to confuse myself between what we're compiling against, and how this recipe actually needs a new glibc for running the build tools).

This isn't in widespread use yet, but we can try with a newer docker image.

@h-vetinari
Copy link
Member

@conda-forge-admin, please rerender

@Shaikh-Ubaid Shaikh-Ubaid mentioned this pull request May 29, 2024
5 tasks
@@ -1,5 +1,5 @@
set(SRC
- ../../../src/libasr/runtime/lfortran_intrinsics.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../src/libasr/runtime/lfortran_intrinsics.c
Copy link
Member Author

Choose a reason for hiding this comment

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

.

@Shaikh-Ubaid Shaikh-Ubaid deleted the enable_llvm_wasm_target branch July 8, 2024 22:23
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.

2 participants