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

binutils conflicts with itself (due to .dev output) #18839

Closed
bjornfor opened this issue Sep 22, 2016 · 10 comments
Closed

binutils conflicts with itself (due to .dev output) #18839

bjornfor opened this issue Sep 22, 2016 · 10 comments
Milestone

Comments

@bjornfor
Copy link
Contributor

Issue description

So it cannot be installed:

$ nix-env -iA nixos.binutils
installing ‘binutils-2.27’
building path(s) ‘/nix/store/g6iksgvyza9470w1rsvk2mhxkk747cp0-user-environment’
Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
collision between ‘/nix/store/xank34knz9h7351m1km1x4bz4p8l1x46-binutils-2.27/bin/addr2line’ and ‘/nix/store/nqdk6dzwwhrq63gmiy4hm473z51yxcan-binutils-2.27-dev/bin/addr2line’; use ‘nix-env --set-flag priority NUMBER PKGNAME’ to change the priority of one of the conflicting packages
builder for ‘/nix/store/idd9rbr78x1i0kipk5qvf6ylq85f5jlk-user-environment.drv’ failed with exit code 255
error: build of ‘/nix/store/idd9rbr78x1i0kipk5qvf6ylq85f5jlk-user-environment.drv’ failed

Technical details

  • System: NixOS 16.09
@dezgeg
Copy link
Contributor

dezgeg commented Sep 22, 2016

Is that an old nix? I think the newer ones have the logic to install only relevant outputs. I don't know if that code is only on master though.

@bjornfor
Copy link
Contributor Author

It's the default Nix on NixOS 16.09 (as of a couple of days old, c02b9b9):

$ nix-env --version
nix-env (Nix) 1.11.4

@dezgeg
Copy link
Contributor

dezgeg commented Sep 22, 2016

Hm, damn. I guess the workaround in the meantime is to install binutils.out.

@bjornfor
Copy link
Contributor Author

@dezgeg: Does that work for you? I get

$ nix-env -iA nixos.binutils.out
installing ‘binutils-2.27’
building path(s) ‘/nix/store/a08pjik14zzdf7qifc9n5vnzxgm1l113-user-environment’
Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
collision between ‘/nix/store/nm9r5lymydnsrlxjn30ym2kix6mbyr19-binutils-2.27/bin/addr2line’ and ‘/nix/store/37hyhsfqz2wdd6gi9ns7c5h7f6gsnxbm-binutils-2.27-dev/bin/addr2line’; use ‘nix-env --set-flag priority NUMBER PKGNAME’ to change the priority of one of the conflicting packages
builder for ‘/nix/store/f5yxclwyfpdskpg7h6y8ismab5qqzdqn-user-environment.drv’ failed with exit code 255
error: build of ‘/nix/store/f5yxclwyfpdskpg7h6y8ismab5qqzdqn-user-environment.drv’ failed

@dezgeg
Copy link
Contributor

dezgeg commented Sep 22, 2016

D'oh, I forgot that it doesn't actually work...

@LnL7
Copy link
Member

LnL7 commented Sep 22, 2016

Why does the dev output have binaries, those should only be in the out output.

@dezgeg
Copy link
Contributor

dezgeg commented Sep 22, 2016

It has a symlink ${binutils.dev}/bin -> ${binutils.out}/bin, probably that could be removed if anything that depends on is fixed.

@LnL7
Copy link
Member

LnL7 commented Sep 22, 2016

A quick grep seems to indicate that the dev output is only used for headers ${binutils.dev}/include

@bjornfor bjornfor added this to the 16.09 milestone Sep 23, 2016
@manpages
Copy link

I'll just throw it in, in case it's not obvious for someone — a nasty workaround is to put some symlinks into your ~/.local/bin directory. On my machine, the following command does it:

cd ~/.local/bin
for x in /nix/store/dxmcix1wv08fad29nmwh07y3hjply7y3-binutils-2.27-dev/bin/*; do ln -s $x $(basename $x); done

@vcunat
Copy link
Member

vcunat commented Feb 27, 2017

I somehow missed this. I believe the symlink is useless, especially now that we have binutils.out as the default.

@vcunat vcunat closed this as completed in e2e270d Mar 1, 2017
vcunat added a commit that referenced this issue Mar 1, 2017
Fixes #18839.  I suspect I once added this just because of some
deficiencies in an early development version of the multiple-output
framework in stdenv.

(cherry picked from commit e2e270d)
bartoldeman pushed a commit to ComputeCanada/nixpkgs that referenced this issue Jul 6, 2017
Fixes NixOS#18839.  I suspect I once added this just because of some
deficiencies in an early development version of the multiple-output
framework in stdenv.
adrianpk added a commit to adrianpk/nixpkgs that referenced this issue May 31, 2024
Fixes NixOS#18839.  I suspect I once added this just because of some
deficiencies in an early development version of the multiple-output
framework in stdenv.

(cherry picked from commit e2e270d)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants