Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

symlink-bindir does not play nice with program-suffix #914

bos opened this Issue May 24, 2012 · 1 comment


None yet
1 participant

bos commented May 24, 2012

(Imported from Trac #924, reported by guest on 2012-03-05)

I'd expect symlinks to be created with the program-suffix. Instead what happens is that cabal-install correctly suffixes the installed binary, but attempts to create a symlink to it from an unsuffixed name, which can fail if the unsuffixed name already exists in the symlink-bindir.

~ $ cabal --version
cabal-install version 0.13.3
using version 1.14.0 of the Cabal library
gruff $ cabal install --program-suffix=-fixed
Warning: could not create a symlink in /home/claude/opt/bin for gruff because
the file exists there already but is not managed by cabal. You can create a
symlink for this executable manually if you wish. The executable file has been
installed at /home/claude/.cabal/bin/gruff-fixed
(The symlink already existed in this particular case, because I wanted to install my development program with a suffix to avoid clobbering the known working version.)

bos commented May 24, 2012

(Imported comment by @kosmikus on 2012-03-05)

I am actually not sure what was the intention here. Installing the binary with the suffix seems the right thing to do. For the symlink, I don't know. I think both makes sense in certain situations. In particular, creating the symlink without a suffix makes sense in the case that you install multiple variants of one program with different suffixes and want the symlink to point to whatever is your current default variant.

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