mariadb-10.1.9 won't install because of conflicting mysql_config binaries #12072

Closed
linuxfood opened this Issue Jan 1, 2016 · 14 comments

Comments

Projects
None yet
9 participants
Contributor

linuxfood commented Jan 1, 2016

Seems like some days ago there was a split of the output paths for mariadb that makes it impossible to install or upgrade mariadb as near as I can tell.

This is the commit: e97b63a

collision between ‘/nix/store/mkmiziygv2v9hsq14xjs4lyjj12ncgsc-mariadb-10.1.9-lib/bin/mysql_config’ and ‘/nix/store/kbl8fh8mpdmisrhbaarg14v17024mbnq-mariadb-10.1.9/bin/mysql_config’; use ‘nix-env --set-flag priority NUMBER PKGNAME’ to change the priority of one of the conflicting packages

The suggested fix doesn't work because there's only one package in question.

This comment has been minimized.

Show comment Hide comment
@linuxfood

linuxfood Jan 1, 2016

Contributor

For now I've locally forked the config for mariadb to change the cp to a mv.

Contributor

linuxfood commented Jan 1, 2016

For now I've locally forked the config for mariadb to change the cp to a mv.

This comment has been minimized.

Show comment Hide comment
@mogorman

mogorman Jan 2, 2016

Contributor

would changing mysql_config to mariadb_config be the right fix?

Contributor

mogorman commented Jan 2, 2016

would changing mysql_config to mariadb_config be the right fix?

This comment has been minimized.

Show comment Hide comment
@linuxfood

linuxfood Jan 2, 2016

Contributor

@mogorman The two programs are literally identical. As far as I can tell, it's just invalid to have it in both output paths. The comment in the commit doesn't make sense to me. @wkennington could you elaborate a little on the intended purpose of the change?

My trivial one line change of 'cp' -> 'mv' at least makes it possible to create the user environment, but, I don't know if I've broken something else since I haven't tried to build any other expression that depends on mariadb yet.

Contributor

linuxfood commented Jan 2, 2016

@mogorman The two programs are literally identical. As far as I can tell, it's just invalid to have it in both output paths. The comment in the commit doesn't make sense to me. @wkennington could you elaborate a little on the intended purpose of the change?

My trivial one line change of 'cp' -> 'mv' at least makes it possible to create the user environment, but, I don't know if I've broken something else since I haven't tried to build any other expression that depends on mariadb yet.

This comment has been minimized.

Show comment Hide comment
@vcunat

vcunat Jan 2, 2016

Member

I assume that you don't need mariadb.lib in the user env and mariadb.out is enough, but that's rather a side step.

Member

vcunat commented Jan 2, 2016

I assume that you don't need mariadb.lib in the user env and mariadb.out is enough, but that's rather a side step.

This comment has been minimized.

Show comment Hide comment
@retrry

retrry Mar 2, 2016

Contributor

I do too get this error still and I can't install mysql to user profile.

$ nix-env -iA nixos.mysql                                                                                                                                                
installing ‘mariadb-10.1.9’
building path(s) ‘/nix/store/0l8vqmcqng2ykiws4hxhavpzzh4mq4sh-user-environment’
Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
collision between ‘/nix/store/b9799ll2ji4s505s6vy27wsh8zy8wsnz-mariadb-10.1.9-lib/bin/mysql_config’ and ‘/nix/store/6833bdiydb9ldv1j5dzgzqg1y1yh514d-mariadb-10.1.9/bin/mysql_config’; use ‘nix-env --set-flag priority NUMBER PKGNAME’ to change the priority of one of the conflicting packages
builder for ‘/nix/store/vv3akfnfbvbqym1p50iind80l5q2wfd0-user-environment.drv’ failed with exit code 255
error: build of ‘/nix/store/vv3akfnfbvbqym1p50iind80l5q2wfd0-user-environment.drv’ failed
Contributor

retrry commented Mar 2, 2016

I do too get this error still and I can't install mysql to user profile.

$ nix-env -iA nixos.mysql                                                                                                                                                
installing ‘mariadb-10.1.9’
building path(s) ‘/nix/store/0l8vqmcqng2ykiws4hxhavpzzh4mq4sh-user-environment’
Wide character in die at /nix/store/64jc9gd2rkbgdb4yjx3nrgc91bpjj5ky-buildenv.pl line 79.
collision between ‘/nix/store/b9799ll2ji4s505s6vy27wsh8zy8wsnz-mariadb-10.1.9-lib/bin/mysql_config’ and ‘/nix/store/6833bdiydb9ldv1j5dzgzqg1y1yh514d-mariadb-10.1.9/bin/mysql_config’; use ‘nix-env --set-flag priority NUMBER PKGNAME’ to change the priority of one of the conflicting packages
builder for ‘/nix/store/vv3akfnfbvbqym1p50iind80l5q2wfd0-user-environment.drv’ failed with exit code 255
error: build of ‘/nix/store/vv3akfnfbvbqym1p50iind80l5q2wfd0-user-environment.drv’ failed

This comment has been minimized.

Show comment Hide comment
@vcunat

vcunat Mar 6, 2016

Member

NixOS/nix#815 will give us a nice tool to specify that we only want mariadb.out when installing into a user env.

Member

vcunat commented Mar 6, 2016

NixOS/nix#815 will give us a nice tool to specify that we only want mariadb.out when installing into a user env.

This comment has been minimized.

Show comment Hide comment
@HittingSmoke

HittingSmoke Mar 13, 2016

Is there still no fix for this aside from forking the config? Trying to get Nix setup to handle my web servers.

Is there still no fix for this aside from forking the config? Trying to get Nix setup to handle my web servers.

This comment has been minimized.

Show comment Hide comment
@nicholasknight

nicholasknight Apr 28, 2016

I started playing with Nix and quickly ran into this on OS X. :(

Is this heavily dependent on internal development work in Nix, or is there something I, as someone not familiar with the internals, can do to move it forward?

If the answer is "take over MariaDB maintenance in nixpkgs because the current maintainer(s) lack time", that's something I'm willing to try. I just really don't want to maintain a separate fork and make all our engineers use it for an indeterminate period of time.

I started playing with Nix and quickly ran into this on OS X. :(

Is this heavily dependent on internal development work in Nix, or is there something I, as someone not familiar with the internals, can do to move it forward?

If the answer is "take over MariaDB maintenance in nixpkgs because the current maintainer(s) lack time", that's something I'm willing to try. I just really don't want to maintain a separate fork and make all our engineers use it for an indeterminate period of time.

This comment has been minimized.

Show comment Hide comment
@davidak

davidak Apr 28, 2016

Contributor

@nicholasknight in general, you can fix issues and create pull requests.

but this is not a build problem. it's a collision of two outputs. i think you need deep understanding of how nix works to fix this.

Contributor

davidak commented Apr 28, 2016

@nicholasknight in general, you can fix issues and create pull requests.

but this is not a build problem. it's a collision of two outputs. i think you need deep understanding of how nix works to fix this.

This comment has been minimized.

Show comment Hide comment
@zimbatm

zimbatm May 15, 2016

Member

how hard would it be to wrap one of the outputs with lib.lowPrio ?

Member

zimbatm commented May 15, 2016

how hard would it be to wrap one of the outputs with lib.lowPrio ?

This comment has been minimized.

Show comment Hide comment
@vcunat

vcunat May 16, 2016

Member

The problem is that nix installs all outputs by default. That is changeable with recent nix, after NixOS/nix#815.

Member

vcunat commented May 16, 2016

The problem is that nix installs all outputs by default. That is changeable with recent nix, after NixOS/nix#815.

This comment has been minimized.

Show comment Hide comment
@domenkozar

domenkozar Jun 1, 2016

Owner

@vcunat do we have a workaround for this except for reverting multiple outputs?

Owner

domenkozar commented Jun 1, 2016

@vcunat do we have a workaround for this except for reverting multiple outputs?

This comment has been minimized.

Show comment Hide comment
@vcunat

vcunat Jun 2, 2016

Member

nix-env -f . -iA mariadb works for me now. I think it's because of NixOS/nix#815.

Note: this problem was there long before merging the closure-size branch.

Member

vcunat commented Jun 2, 2016

nix-env -f . -iA mariadb works for me now. I think it's because of NixOS/nix#815.

Note: this problem was there long before merging the closure-size branch.

@vcunat vcunat closed this Jun 2, 2016

This comment has been minimized.

Show comment Hide comment
@vcunat

vcunat Jun 2, 2016

Member

Note: it "works" because now only .out is installed and not .lib. If you forced installing both, you would run into this problem again, but I can't see why someone might want both outputs in their user env.

Member

vcunat commented Jun 2, 2016

Note: it "works" because now only .out is installed and not .lib. If you forced installing both, you would run into this problem again, but I can't see why someone might want both outputs in their user env.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment