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

CI failure #151

Closed
yutannihilation opened this issue Apr 8, 2023 · 8 comments
Closed

CI failure #151

yutannihilation opened this issue Apr 8, 2023 · 8 comments
Labels
bug Something isn't working os-Windows Windows-specific problems

Comments

@yutannihilation
Copy link
Contributor

https://github.com/extendr/libR-sys/actions/runs/4640105301

  error[E0425]: cannot find value `R_CStackLimit` in this scope
     --> src\lib.rs:128:17
      |
  128 |                 R_CStackLimit = usize::max_value();
      |                 ^^^^^^^^^^^^^
      |
  help: you might have meant to introduce a new binding
      |
  128 |                 let R_CStackLimit = usize::max_value();
      |                 +++
  
  error[E0412]: cannot find type `ParseStatus` in this scope
     --> src\lib.rs:145:29
      |
  145 |             let mut status: ParseStatus = 0;
      |                             ^^^^^^^^^^^ not found in this scope
  
  error[E0412]: cannot find type `ParseStatus` in this scope
     --> src\lib.rs:146:50
      |
  146 |             let status_ptr = &mut status as *mut ParseStatus;
      |                                                  ^^^^^^^^^^^ not found in this scope

My guess is that this is the core is the problem. Maybe the underlying clang changed the options?

  [libR-sys 0.4.0] cargo:warning=unused option: --allowlist-var 
@Ilia-Kosenkov
Copy link
Member

I suspect also this: it does not recognize --allowlist-function

https://github.com/extendr/libR-sys/actions/runs/4640105301/jobs/8218573032#step:14:98

@yutannihilation
Copy link
Contributor Author

Yeah, I meant these --allowlist-* options.

@Ilia-Kosenkov
Copy link
Member

I am gonna update my local setup (including MSYS) to check if I can reproduce this. Searching relevant repos gave me nothing, and the fact it fails strictly on Windows suggests it is something MSYS-related

@Ilia-Kosenkov
Copy link
Member

Confirmed locally. I'll look into this & if it can be patched temporarily

@Ilia-Kosenkov
Copy link
Member

Since MSYS seems to provide only the latest version of any package, I had to resort to compiling bindings using native installation of llvm. Using chocolatey versioning, I can reliably reproduce that on llvm 15.0.7 (latest 15.x.x version), things work as before, but on llvm 16.0.0 it breaks. So two takeaway messages:

  1. We can compile bindings on Windows using native llvm and Rtools, no need for MSYS
  2. Something has changed between 15.0.7 and 16.0.0 that affects bindgen (or maybe clang) rust crates

@Ilia-Kosenkov
Copy link
Member

Filed an issue at bindgen rust-lang/rust-bindgen#2488 . Let's see if they can point us in the right direction.

@Ilia-Kosenkov Ilia-Kosenkov added bug Something isn't working os-Windows Windows-specific problems labels Apr 9, 2023
@CGMossa CGMossa mentioned this issue Apr 11, 2023
1 task
@yutannihilation
Copy link
Contributor Author

@CGMossa
Copy link
Member

CGMossa commented Apr 12, 2023

Closing this since #154 fixes this.
Now on to the Rcomplex mess.

@CGMossa CGMossa closed this as completed Apr 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working os-Windows Windows-specific problems
Projects
None yet
Development

No branches or pull requests

3 participants