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

ghostscript: link against "systemwide" liblcms2 #57313

Merged
merged 2 commits into from
Mar 11, 2019
Merged

Conversation

delroth
Copy link
Contributor

@delroth delroth commented Mar 10, 2019

Motivation for this change

GS ships with a fork of lcms2 ("lcms2mt"), but the ABI separation
between the fork and the original seems insufficient. If libgs is linked
alongside liblcms2 (for example, this is the case with imagemagick) then
it will call into the original library instead of the fork, causing
segfaults.

Follow the example of both Arch and Debian in this regard -- they both
use the systemwide lib instead of the fork.

Fixes #55118. cc @Mic92 who merged #55634

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

delroth added 2 commits March 11, 2019 00:07
GS ships with a fork of lcms2 ("lcms2mt"), but the ABI separation
between the fork and the original seems insufficient. If libgs is linked
alongside liblcms2 (for example, this is the case with imagemagick) then
it will call into the original library instead of the fork, causing
segfaults.

Follow the example of both Arch and Debian in this regard -- they both
use the systemwide lib instead of the fork.
Copy link
Member

@erikarvstedt erikarvstedt left a comment

Choose a reason for hiding this comment

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

Works as intended. Thanks for the fix!

@Mic92 Mic92 merged commit c08f808 into NixOS:master Mar 11, 2019
@Mic92
Copy link
Member

Mic92 commented Mar 11, 2019

I suppose we also should backport this?

@delroth
Copy link
Contributor Author

delroth commented Mar 11, 2019

@Mic92 👍

andersk added a commit to andersk/nixpkgs that referenced this pull request Mar 26, 2019
imagemagickBig and imagemagick7Big were marked broken in NixOS#55634 due
to NixOS#55118.  NixOS#57313 fixed the bug but reverted the broken bit only on
imagemagickBig.  Revert it on imagemagick7Big too.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
vdemeester pushed a commit to vdemeester/nixpkgs that referenced this pull request Mar 27, 2019
imagemagickBig and imagemagick7Big were marked broken in NixOS#55634 due
to NixOS#55118.  NixOS#57313 fixed the bug but reverted the broken bit only on
imagemagickBig.  Revert it on imagemagick7Big too.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants