[GHC] #12485: -package-db flags now need to be sorted by dependency order
GHC
ghc-devs at haskell.org
Mon Sep 12 14:11:58 UTC 2016
#12485: -package-db flags now need to be sorted by dependency order
-------------------------------------+-------------------------------------
Reporter: niteria | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.0.2
Component: Package system | Version: 8.0.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): phab:D2450,
Wiki Page: | phab:D2514
-------------------------------------+-------------------------------------
Comment (by simonmar):
Ok, I understand that IPID does not determine ABI any more, and
dependencies only record IPID.
This situation bothers me for a couple of reasons.
* Now we are relying on the package-db ordering on the command line for
dependency safety, whereas previously we could check because we had the
ABIs of the dependencies.
* We've lost the property that you can just union all the package DBs,
which is a bit sad. The idea of a package DB "stack" was really just a
temporary situation to deal with the fact that we couldn't link multiple
package instances into the same binary so we had to have some way to
resolve conflicts; my intention was that eventually the idea of a "stack"
would just go away when it wasn't necessary any more.
The problem is really that a dependency doesn't uniquely specify its
target. We don't want dependencies to be GUIDs because something
something determinism, but having a dependency be a pair of (ABI,IPID) as
you suggest would be good enough.
In the short term, would anything go wrong if we allowed an IPID anywhere
in the stack to satisfy a dependency provided it was unique? And if a
dependency is not unique, we resolve in the current way, using the DB
ordering.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12485#comment:18>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list