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-4569 happens when running cabal repl --enable-multi-repl all #10166

Closed
Kleidukos opened this issue Jul 1, 2024 · 4 comments · Fixed by #10248
Closed

Cabal-4569 happens when running cabal repl --enable-multi-repl all #10166

Kleidukos opened this issue Jul 1, 2024 · 4 comments · Fixed by #10248

Comments

@Kleidukos
Copy link
Member

How to reproduce:

$ git clone https://github.com/haskell-servant/servant
$ cabal repl --enable-multi-repl all

[…]


Running Haddock on library for servant-multipart-api-0.12.1...
Error: [Cabal-4569]
internal error when calculating transitive package dependencies.
Debug info: []

[…]

Running Haddock on library for servant-js-0.9.4.2...
Error: [Cabal-4569]
internal error when calculating transitive package dependencies.
Debug info: []

etc, etc.

No debug info is provided, so uh, no idea what's going on.

@ulysses4ever
Copy link
Collaborator

/cc @mpickering

@mpickering
Copy link
Collaborator

There is something quite broken with cabal_macros.h and multiple home units, I can see how to fix it and I think we should do that before 3.14.

@Kleidukos
Copy link
Member Author

@mpickering What do you have in mind? I have some trouble understanding the root cause here.

mpickering added a commit to mpickering/cabal that referenced this issue Aug 5, 2024
In the original implementation of promised dependencies I accidentally
left over the hard coded `currentCabalId` in the `configureDependencies`
function.

This led to several errors happening later when the package name and
version would be incorrect if you looked at this field (package
arguments are not computed using it), it is used when generating cabal
macros and something in the haddock options.

The solution is to pass the package version in the
`--promised-depenency` flag so the format is now

```
NAME-VER[:COMPONENT_NAME]=CID`
```

rather than

```
NAME[:COMPONENT_NAME]=CID
```

Fixes haskell#10166
@mpickering
Copy link
Collaborator

Fix in #10248

mpickering added a commit to mpickering/cabal that referenced this issue Aug 5, 2024
In the original implementation of promised dependencies I accidentally
left over the hard coded `currentCabalId` in the `configureDependencies`
function.

This led to several errors happening later when the package name and
version would be incorrect if you looked at this field (package
arguments are not computed using it), it is used when generating cabal
macros and something in the haddock options.

The solution is to pass the package version in the
`--promised-depenency` flag so the format is now

```
NAME-VER[:COMPONENT_NAME]=CID`
```

rather than

```
NAME[:COMPONENT_NAME]=CID
```

Fixes haskell#10166
mpickering added a commit to mpickering/cabal that referenced this issue Aug 14, 2024
In the original implementation of promised dependencies I accidentally
left over the hard coded `currentCabalId` in the `configureDependencies`
function.

This led to several errors happening later when the package name and
version would be incorrect if you looked at this field (package
arguments are not computed using it), it is used when generating cabal
macros and something in the haddock options.

The solution is to pass the package version in the
`--promised-depenency` flag so the format is now

```
NAME-VER[:COMPONENT_NAME]=CID`
```

rather than

```
NAME[:COMPONENT_NAME]=CID
```

Fixes haskell#10166
mpickering added a commit to mpickering/cabal that referenced this issue Aug 14, 2024
In the original implementation of promised dependencies I accidentally
left over the hard coded `currentCabalId` in the `configureDependencies`
function.

This led to several errors happening later when the package name and
version would be incorrect if you looked at this field (package
arguments are not computed using it), it is used when generating cabal
macros and something in the haddock options.

The solution is to pass the package version in the
`--promised-depenency` flag so the format is now

```
NAME-VER[:COMPONENT_NAME]=CID`
```

rather than

```
NAME[:COMPONENT_NAME]=CID
```

Fixes haskell#10166
mpickering added a commit to mpickering/cabal that referenced this issue Aug 27, 2024
In the original implementation of promised dependencies I accidentally
left over the hard coded `currentCabalId` in the `configureDependencies`
function.

This led to several errors happening later when the package name and
version would be incorrect if you looked at this field (package
arguments are not computed using it), it is used when generating cabal
macros and something in the haddock options.

The solution is to pass the package version in the
`--promised-depenency` flag so the format is now

```
NAME-VER[:COMPONENT_NAME]=CID`
```

rather than

```
NAME[:COMPONENT_NAME]=CID
```

Fixes haskell#10166
mpickering added a commit to mpickering/cabal that referenced this issue Aug 27, 2024
In the original implementation of promised dependencies I accidentally
left over the hard coded `currentCabalId` in the `configureDependencies`
function.

This led to several errors happening later when the package name and
version would be incorrect if you looked at this field (package
arguments are not computed using it), it is used when generating cabal
macros and something in the haddock options.

The solution is to pass the package version in the
`--promised-depenency` flag so the format is now

```
NAME-VER[:COMPONENT_NAME]=CID`
```

rather than

```
NAME[:COMPONENT_NAME]=CID
```

Fixes haskell#10166
mpickering added a commit to mpickering/cabal that referenced this issue Aug 27, 2024
In the original implementation of promised dependencies I accidentally
left over the hard coded `currentCabalId` in the `configureDependencies`
function.

This led to several errors happening later when the package name and
version would be incorrect if you looked at this field (package
arguments are not computed using it), it is used when generating cabal
macros and something in the haddock options.

The solution is to pass the package version in the
`--promised-depenency` flag so the format is now

```
NAME-VER[:COMPONENT_NAME]=CID`
```

rather than

```
NAME[:COMPONENT_NAME]=CID
```

Fixes haskell#10166
@mergify mergify bot closed this as completed in #10248 Aug 28, 2024
@mergify mergify bot closed this as completed in 9297505 Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants