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

cabal install assumes Custom packages will be installed with configured IPID, not true for old Cabal #3345

Closed
ghost opened this issue Apr 15, 2016 · 11 comments

Comments

@ghost
Copy link

ghost commented Apr 15, 2016

With 1223a39, this is how far installing yi gets:

$ cabal -j4 install yi yi-fuzzy-open
...
Installed dynamic-state-0.2.2.0
Configuring executable-path-0.0.3...
Building executable-path-0.0.3...
Configuring ghc-paths-0.1.0.9...
Installed blaze-builder-0.4.0.1
Configuring oo-prototypes-0.1.0.0...
Installed executable-path-0.0.3
Building oo-prototypes-0.1.0.0...
Configuring io-storage-0.3...
Installed oo-prototypes-0.1.0.0
Building io-storage-0.3...
Configuring parallel-3.2.1.0...
Installed io-storage-0.3
Building ghc-paths-0.1.0.9...
Configuring parsec-3.1.9...
Installed charsetdetect-ae-1.1.0.1
Building parallel-3.2.1.0...
Configuring pointedlist-0.6.1...
Installed ghc-paths-0.1.0.9
InstallPlan: internal error: configured package depends on a non-library
package
@ezyang
Copy link
Contributor

ezyang commented Apr 16, 2016

Hmm, does this occur on master?

@ghost
Copy link
Author

ghost commented Apr 16, 2016

Yes, 1223a39 is master on github.

@ghost
Copy link
Author

ghost commented Apr 16, 2016

The only non-default setting I have in ~/.cabal/config is split-objs: True.

@ghost
Copy link
Author

ghost commented Apr 16, 2016

I haven't bisected when this started to happen, but I've been using cabal from master all the time.

@ghost
Copy link
Author

ghost commented Apr 16, 2016

The previous cabal executable was built on April 4th.

@23Skidoo
Copy link
Member

23Skidoo commented Apr 16, 2016

@Tuncer Does this happen with 1.24? -- OK, I see that you said that it started happening after April 4th, so 1.24 should be fine.

My guess is that this is related to internal libraries.

@ezyang
Copy link
Contributor

ezyang commented Apr 16, 2016

Well, I've seen this error before but it was in the case of new-build and fixed by 61fb6fa I feel that the install logic in this case should be correct. In any case I'll try to repro.

@ezyang
Copy link
Contributor

ezyang commented Apr 16, 2016

OK, repro'd.

UPDATE 1: It appears to be a "one time" error; if you try again, the error goes away.

@ezyang
Copy link
Contributor

ezyang commented Apr 16, 2016

OK, I've diagnosed the problem: ghc-paths is a Custom script built against an old version of Cabal. Consequently, we don't actually pass --ipid when configuring, and then the resulting IPID of the package is not what we expect. We can fix this by adopting some code from new-build. I have a small working test case too.

ezyang added a commit to ezyang/cabal that referenced this issue Apr 17, 2016
Unfortunately, it was too difficult to factor out the common code
between ProjectBuilding and Install.

Signed-off-by: Edward Z. Yang <[email protected]>
@ezyang ezyang changed the title Failure to install yi cabal install assumes Custom packages will be installed with configured IPID, not true for old Cabal Apr 17, 2016
@ezyang
Copy link
Contributor

ezyang commented Apr 17, 2016

PR'd.

ezyang added a commit to ezyang/cabal that referenced this issue Apr 17, 2016
Unfortunately, it was too difficult to factor out the common code
between ProjectBuilding and Install.

Signed-off-by: Edward Z. Yang <[email protected]>
ezyang added a commit to ezyang/cabal that referenced this issue Apr 17, 2016
Unfortunately, it was too difficult to factor out the common code
between ProjectBuilding and Install.

Signed-off-by: Edward Z. Yang <[email protected]>
@ghost
Copy link
Author

ghost commented Apr 17, 2016

Thanks, @ezyang, #3356 fixed it for me.

ezyang added a commit to ezyang/cabal that referenced this issue Apr 17, 2016
Unfortunately, it was too difficult to factor out the common code
between ProjectBuilding and Install.

Signed-off-by: Edward Z. Yang <[email protected]>
ezyang added a commit to ezyang/cabal that referenced this issue Apr 21, 2016
Unfortunately, it was too difficult to factor out the common code
between ProjectBuilding and Install.

Signed-off-by: Edward Z. Yang <[email protected]>
ezyang added a commit to ezyang/cabal that referenced this issue May 5, 2016
Unfortunately, it was too difficult to factor out the common code
between ProjectBuilding and Install.

Signed-off-by: Edward Z. Yang <[email protected]>
@ezyang ezyang closed this as completed in 3601819 May 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants