Skip to content

ruby: fix build with clang 16#245813

Merged
marsam merged 1 commit intoNixOS:stagingfrom
reckenrode:ruby-clang16
Jul 28, 2023
Merged

ruby: fix build with clang 16#245813
marsam merged 1 commit intoNixOS:stagingfrom
reckenrode:ruby-clang16

Conversation

@reckenrode
Copy link
Copy Markdown
Contributor

Description of changes

Ruby requires __cospi and __sinpi from math.h. These should be available in 10.12, but they’re not because the upstream header used by the source-based SDK is from 2002. Unfortunately, there is no newer version of that header available upstream, so the only way to fix the calls to undefined library functions is by using the 11.0 SDK. These worked on clang 11, but they are an error on clang 16.

Targeting staging because of rebuilds. There shouldn’t be any on aarch64-darwin or Linux, but there are ~1300 on x86_64-darwin.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Ruby requires `__cospi` and `__sinpi` from `math.h`. These should be
available in 10.12, but they’re not because the upstream header used by
the source-based SDK is from 2002. Unfortunately, there is no newer
version of that header available upstream, so the only way to fix the
calls to undefined library functions is by using the 11.0 SDK. These
worked on clang 11, but they are an error on clang 16.
@ofborg ofborg bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Jul 28, 2023
@marsam marsam merged commit 5c53841 into NixOS:staging Jul 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants