GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2024-03-28T05:02:38Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/16135Assertion failure with ExistentialQuantification and ApplicativeDo2024-03-28T05:02:38ZAshley YakeleyAssertion failure with ExistentialQuantification and ApplicativeDo```hs
{-# LANGUAGE ExistentialQuantification, ApplicativeDo #-}
module Bug where
data T f = forall a. MkT (f a)
runf :: forall f. Functor f => IO (T f)
runf = do
return ()
MkT fa <- runf
return $ MkT fa
```
```
Bug.hs:11:...```hs
{-# LANGUAGE ExistentialQuantification, ApplicativeDo #-}
module Bug where
data T f = forall a. MkT (f a)
runf :: forall f. Functor f => IO (T f)
runf = do
return ()
MkT fa <- runf
return $ MkT fa
```
```
Bug.hs:11:18: error:ghc: panic! (the 'impossible' happened)
(GHC version 8.6.3 for x86_64-unknown-linux):
No skolem info:
[a_a1nb[ssk:2]]
Call stack:
CallStack (from HasCallStack):
callStackDoc, called at compiler/utils/Outputable.hs:1160:37 in ghc:Outputable
pprPanic, called at compiler/typecheck/TcErrors.hs:2891:5 in ghc:TcErrors
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
```https://gitlab.haskell.org/ghc/ghc/-/issues/24462Exponentially increasing compilation w/ Higher-Kinded Data under 9.8.12024-03-27T17:08:50Zm4dc4pExponentially increasing compilation w/ Higher-Kinded Data under 9.8.1## Summary
GHC 9.8.1 takes increasingly longer (and uses radically more memory) to compile a module as fields are added to a data type; the same did not occur with GHC 9.6.
## Steps to reproduce
The repo at https://github.com/m4dc4p/g...## Summary
GHC 9.8.1 takes increasingly longer (and uses radically more memory) to compile a module as fields are added to a data type; the same did not occur with GHC 9.6.
## Steps to reproduce
The repo at https://github.com/m4dc4p/ghc98-bug can demonstrate the issue. You can just run `cabal build` to try it.
The file `AAAX.hs` contains the `HKDType` data type. As you uncomment fields, the compilation times (`cabal build`) take longer and longer.
For example, on my M2, with GHC 9.8, I get these timings & peak memory usage:
* 1 field - 2.5s, 198MB peak
* 2 fields - 7s, 1.0GB peak
* 3 fields - 26.8s, 4.6GB peak
* 4 fields - 82.9s, 14.5GB peak
Note that with -O0, there is no problem - compilation time does not increase. Also, removing the standalone `Eq` instance also causes the problem to go away (but, of course, I want that instance).
Under GHC 9.6, with -O1, compilation times do not increase either (even up to 10 fields on the data type).
I found this on MacOS 14.2.1, using an M2 chip.
(Note I also reported this as a bug against the Barbies library - https://github.com/jcpetruzza/barbies/issues/51)9.8.3Simon Peyton JonesSimon Peyton Joneshttps://gitlab.haskell.org/ghc/ghc/-/issues/21741The Simplifier's deferring of evals can cause space leaks2024-03-27T17:03:40ZSebastian GrafThe Simplifier's deferring of evals can cause space leaksSee also: #24251
# Problem
I trying to prove a point in https://gitlab.haskell.org/ghc/ghc/-/issues/21497#note_436914, I came up with the following program and decided to continue the discussion in a separate thread
```hs
{-# LANGUAGE...See also: #24251
# Problem
I trying to prove a point in https://gitlab.haskell.org/ghc/ghc/-/issues/21497#note_436914, I came up with the following program and decided to continue the discussion in a separate thread
```hs
{-# LANGUAGE BangPatterns #-}
import System.Environment
f :: [Int] -> Int
f xs = g (length xs) (even $ mySum xs)
{-# NOINLINE f #-}
g :: Int -> Bool -> Int
g 0 _ = 0
g n !b = length xs + mySum xs + if b then 0 else 1
where
xs = [0..n]
{-# NOINLINE g #-}
mySum :: [Int] -> Int
mySum = go 0
where
go acc (x:xs) = go (x+acc) xs
go acc _ = acc
main = do
(n:_) <- map read <$> getArgs
print $ f [0..n]
```
The key here is
1. `length` forces the spine of `xs`, potentially a very big list
2. The thunk `sum xs` retains that list
2. This pattern occurs twice in the program, once in `f` and once in `g`.
3. `g` has a bang on `b`, so the programmer really wants to force the `even $ mySum xs` thunk *before* doing the next long and allocation-heavy `length` and then `mySum` operation, so that at most one big list is live at any point
But the Simplifier (on master as well as 9.0) discards the seq because the `if` will eval it later on, so we'll get overlapping lifetimes for both big lists (keep an eye out for `ds_s2TY`):
```
-- RHS size: {terms: 49, types: 14, coercions: 0, joins: 0/1}
$wg_r2UH :: GHC.Prim.Int# -> Bool -> GHC.Prim.Int#
[GblId, Arity=2, Str=<1L><ML>, Unf=OtherCon []]
$wg_r2UH
= \ (ww_s2TW :: GHC.Prim.Int#) (ds_s2TY :: Bool) ->
case ww_s2TW of ds1_X1 {
__DEFAULT ->
case GHC.Prim.># 0# ds1_X1 of {
__DEFAULT ->
letrec {
go3_a2T6 [Occ=LoopBreaker, Dmd=SCS(L)] :: GHC.Prim.Int# -> [Int]
[LclId, Arity=1, Str=<L>, Unf=OtherCon []]
go3_a2T6 = ... in
case $wgo_r2UG 0# (go3_a2T6 0#) of ww1_s2Ua { __DEFAULT ->
case ds_s2TY of {
False -> GHC.Prim.+# ww1_s2Ua 1#;
True -> ww1_s2Ua
}
};
1# ->
case ds_s2TY of {
False -> 1#;
True -> 0#
}
};
0# -> 0#
}
```
So every GC has to copy over the the retained list. Here's an example invocation:
```
./simpl 10000000 +RTS -s
50000025000003
1,440,058,976 bytes allocated in the heap
8,368 bytes copied during GC
497,755,080 bytes maximum residency (9 sample(s))
85,244,984 bytes maximum slop
1133 MiB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 340 colls, 0 par 0.386s 0.386s 0.0011s 0.0038s
Gen 1 9 colls, 0 par 0.903s 0.903s 0.1004s 0.3653s
INIT time 0.000s ( 0.000s elapsed)
MUT time 0.198s ( 0.196s elapsed)
GC time 1.289s ( 1.289s elapsed)
EXIT time 0.000s ( 0.004s elapsed)
Total time 1.488s ( 1.490s elapsed)
%GC time 0.0% (0.0% elapsed)
Alloc rate 7,255,512,961 bytes per MUT second
Productivity 13.3% of total user, 13.2% of total elapsed
```
As you can see, the majority of time is spent in GC, major GCs in particular. The latter are necessary to copy over the retained list. Note also almost 500MB of max residency.
Btw., I think our "bytes copied during GC" counter might be broken. Hence I'll continue to show the output of GHC 9.0, where we'll get
```
./simpl 10000000 +RTS -s
50000025000003
1,440,058,840 bytes allocated in the heap
2,370,752,112 bytes copied during GC
660,038,856 bytes maximum residency (12 sample(s))
113,040,184 bytes maximum slop
1499 MiB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 1384 colls, 0 par 0.398s 0.399s 0.0003s 0.0009s
Gen 1 12 colls, 0 par 1.145s 1.145s 0.0954s 0.4550s
INIT time 0.000s ( 0.000s elapsed)
MUT time 0.210s ( 0.209s elapsed)
GC time 1.543s ( 1.544s elapsed)
EXIT time 0.000s ( 0.000s elapsed)
Total time 1.753s ( 1.753s elapsed)
%GC time 0.0% (0.0% elapsed)
Alloc rate 6,868,178,975 bytes per MUT second
Productivity 12.0% of total user, 11.9% of total elapsed
```
Note the *excessive* copied during GC number, which seems much more reasonable and accounts for the intense GC pressure.
If I put a single bang on `g 0 !_ = 0`, I trigger call-by-value (in CorePrep) in `f` and instead get the desired
```
./simpl 10000000 +RTS -s
50000025000003
1,440,058,816 bytes allocated in the heap
1,970,756,096 bytes copied during GC
385,938,608 bytes maximum residency (12 sample(s))
66,104,144 bytes maximum slop
1045 MiB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 1384 colls, 0 par 0.401s 0.402s 0.0003s 0.0009s
Gen 1 12 colls, 0 par 0.841s 0.841s 0.0701s 0.2717s
INIT time 0.000s ( 0.000s elapsed)
MUT time 0.177s ( 0.176s elapsed)
GC time 1.242s ( 1.243s elapsed)
EXIT time 0.000s ( 0.000s elapsed)
Total time 1.419s ( 1.419s elapsed)
%GC time 0.0% (0.0% elapsed)
Alloc rate 8,150,089,956 bytes per MUT second
Productivity 12.5% of total user, 12.4% of total elapsed
```
Note that residency almost *halved*. The same is reproducible on HEAD, where residency goes down to about 300MB.
# Diagnosis
It's pretty clear to me that we should not delay the eval of `b` in the original, lazy `g`: A `Bool` has constant space whereas the thunk `even $ sum xs` retains a list which clearly takes non-constant/input-dependent space. Even without *knowing* what thunk we evaluate, it can't result in a smaller residency than a simple `Bool`.
That's [what I mean with](https://gitlab.haskell.org/ghc/ghc/-/issues/21497#note_436906)
> I mean, it is probably the very reason why inserting apparently redundant evals is so beneficial for !8148!
Because tag inference puts some of the evals back into the wrapper of `$wgo` (especially if the argument is trivial, which is not the case here, but I hope you see that I could arrange for it to trigger).
Of course you can find examples where we'd retain a list if we eval early but retain only an O(1) thunk when we delay. But in this example there are two independent, good reasons *not* to delay the eval:
1. The programmer put a bang on `b`
2. `b` has (non-recursive) type `Bool`
I think this is somewhat similar to the debate of "which results/parameters are worth unboxing" which we concluded with "don't unbox recursive DataCons" (#11545) for now. I think it makes sense to do the same for evals. We could experiment around with that in `Note [Speculative evaluation]` and unliftedness worker/wrapper.
# Proposal
So let's try not to drop evals on non-recursive data types. We could also try to drop evals only if they happen *immediately before* a call to a strict function, because these evals get re-inserted back in CorePrep.https://gitlab.haskell.org/ghc/ghc/-/issues/24577Memory Leak with GHC 9.4.72024-03-27T16:43:28ZMathieu BessouMemory Leak with GHC 9.4.7## Summary
Hello, we have a web service running on a machine and the memory usage increase over multiple days:
(The times were the memory usage goes down is when it is restarted during an update.
![image](/uploads/438698384cc45ff446b96...## Summary
Hello, we have a web service running on a machine and the memory usage increase over multiple days:
(The times were the memory usage goes down is when it is restarted during an update.
![image](/uploads/438698384cc45ff446b9686710ece40b/image.png)
However, the live memory and the compact regions are using a fixed amount of memory:
![image](/uploads/a7f532c645e5f7bcf0d5fb3e39042c13/image.png)
![image](/uploads/3087da64e78e5a46e1a5e0ca43079225/image.png)
I know that the problem has existed for months but I am don't know when it started.
The server is written using servant and Warp.
## Steps to reproduce
I can't share the code but I have tracked the problem quite a bit.
I have tracked down the problem to a endpoint that writes data from the db to disk.
It is called every 4 hours.
If I only get the data from the db it desn't leak.
By doing the request in a loop I get an increase in memory use of multiple GB.
The code that leak looks like that:
```
let f data = do
let bs = getjson data
fp = getFilepath data
liftIO $ BL.writeFile fp bs
return $ partOf data
index <- S.fold_ (\acc (k,v) -> M.insert k v acc) def id $ S.mapM f input
```
Where the library S is streaming
I tried running it with -M to limit the memory use in case it was just memory that wasn't released to the os but it eventualy crashes because it doesn't have enough memory.
If I remove `writeFile` it doesn't leak.
If I then evaluate the bytestring manualy and not write it it leaks
If I run the garbage collector after each call it doesn't leak:
```
let f data = do
let bs = getjson data
fp = getFilepath data
liftIO $ BL.writeFile fp bs
return $ partOf data
index <- S.fold_ (\acc (k,v) -> M.insert k v acc) def id $ S.mapM S.mapM (f >=> (\x -> Mem.performGC >> pure x)) input
```
I looked at the fragmentation with ghc-debug and there is barely any pinned data after the request terminate.
## Expected behavior
I would expect:
- that the memory use to be the same before running the request and after.
- that evaluating a bytestring and not using it shouldn't make the program leak.
- that adding a call the the gc doesn't remove the leak
## Environment
* GHC version used: 9.4.7
Optional:
* Operating System: Debian 11
* System Architecture: x86https://gitlab.haskell.org/ghc/ghc/-/issues/22317Boring join points should not inline2024-03-27T16:39:35ZSebastian GrafBoring join points should not inlineIn https://gitlab.haskell.org/ghc/ghc/-/merge_requests/9104#note_457018 I investigated how a different optimisation path in the Simplifier caused unnecessary code bloat. Here is a standalone reproducer:
```hs
{-# LANGUAGE BangPatterns #...In https://gitlab.haskell.org/ghc/ghc/-/merge_requests/9104#note_457018 I investigated how a different optimisation path in the Simplifier caused unnecessary code bloat. Here is a standalone reproducer:
```hs
{-# LANGUAGE BangPatterns #-}
module Lib where
data T = T (Maybe Bool) (Maybe Bool) (Maybe Bool) (Maybe Bool)
m :: Maybe a -> Maybe a -> Maybe a
m (Just v1) Nothing = Just v1
m _ mb = mb
{-# INLINE m #-}
f :: T -> T -> T
f (T a1 b1 c1 d1) (T a2 b2 c2 d2)
= let j1 !a = let j2 !b = let j3 !c = let j4 !d = T a b c d
in j4 (m d1 d2)
in j3 (m c1 c2)
in j2 (m b1 b2)
in j1 (m a1 a2)
{-# OPAQUE f #-}
```
(The use of `OPAQUE` is jsut so that we don't unbox.)
After inlining `m`, this is pretty much the optimal code; specifically, it doesn't make sense to inline the join points, for the following reasons:
- No simplification to be had with the return site, because otherwise we'd have pushed the context into the join point
- No simplifiation to be had with concrete arguments, because they just end up in `T`'s fields. The `seq` will be done at the call site thanks to tag inference.
- `jump j4 ...` is much smaller than `T a b c d` and an unconditional direct jump, so that is also not a good reason.
Yet in HEAD, I see
```
f = \ ds ds1 ->
case ds of { T a1 b1 c1 d1 ->
case ds1 of { T a2 b2 c2 d2 ->
join {
$j a
= case a of a4 { __DEFAULT ->
join {
$j1 b
= case b of b4 { __DEFAULT ->
case c1 of wild2 {
Nothing ->
case c2 of c { __DEFAULT ->
case d1 of wild3 {
Nothing -> case d2 of d { __DEFAULT -> T a4 b4 c d };
Just v1 ->
case d2 of wild4 {
Nothing -> T a4 b4 c wild3;
Just ipv -> T a4 b4 c wild4
}
}
};
Just v1 ->
case c2 of wild3 {
Nothing ->
case d1 of wild4 {
Nothing -> case d2 of d { __DEFAULT -> T a4 b4 wild2 d };
Just v2 ->
case d2 of wild5 {
Nothing -> T a4 b4 wild2 wild4;
Just ipv -> T a4 b4 wild2 wild5
}
};
Just ipv ->
case d1 of wild4 {
Nothing -> case d2 of d { __DEFAULT -> T a4 b4 wild3 d };
Just v2 ->
case d2 of wild5 {
Nothing -> T a4 b4 wild3 wild4;
Just ipv1 -> T a4 b4 wild3 wild5
}
}
}
}
} } in
case b1 of wild2 {
Nothing -> jump $j1 b2;
Just v1 ->
case b2 of wild3 {
Nothing -> jump $j1 wild2;
Just ipv -> jump $j1 wild3
}
}
} } in
case a1 of wild2 {
Nothing -> jump $j a2;
Just v1 ->
case a2 of wild3 {
Nothing -> jump $j wild2;
Just ipv -> jump $j wild3
}
}
}
}
```
Note that we inlined `j3` and `j4`.
My investigation so far pointed to `Note [Inline small things to avoid creating a thunk]` which causes us to postinline small join points in the final phase. But inlining join points doesn't avoid creating a thunk! So at the very least that Note should not apply to join points.
But even then, this is the output of `-dinline-check \$j`:
```
Considering inlining: $j_szM
arg infos [ValueArg]
interesting continuation BoringCtxt
some_benefit True
is exp: True
is work-free: True
guidance ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)
ANSWER = YES
Considering inlining: $j_szM
arg infos [ValueArg]
interesting continuation BoringCtxt
some_benefit True
is exp: True
is work-free: True
guidance ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)
ANSWER = YES
Considering inlining: $j_szM
arg infos [ValueArg]
interesting continuation BoringCtxt
some_benefit True
is exp: True
is work-free: True
guidance ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)
ANSWER = YES
Considering inlining: $j_szN
arg infos [ValueArg]
interesting continuation BoringCtxt
some_benefit True
is exp: True
is work-free: True
guidance IF_ARGS [20] 120 30
case depth = 1
depth based penalty = 0
discounted size = 80
ANSWER = YES
Considering inlining: $j_szN
arg infos [ValueArg]
interesting continuation BoringCtxt
some_benefit True
is exp: True
is work-free: True
guidance IF_ARGS [20] 120 30
case depth = 2
depth based penalty = 0
discounted size = 80
ANSWER = YES
Considering inlining: $j_szN
arg infos [ValueArg]
interesting continuation BoringCtxt
some_benefit True
is exp: True
is work-free: True
guidance IF_ARGS [20] 120 30
case depth = 2
depth based penalty = 0
discounted size = 80
ANSWER = YES
...
```
So `calcUnfoldingGuidance` seems to give some of these an `ALWAYS_IF` guidance and boring contexts and unsaturated calls (!!) are OK, too. `Note [INLINE for small functions]` seems relevant there.
It's all a bit fishy; clearly `j4` is *not* just a function call that is as small as the call to `j4` itself. There is no call to `j4` to begin with, just a jump, because it's a join point. The only time when inlining a join point may decrease code size is when itself is just a jump to another join point. Currently, `condInline` does not check for join points at all.
Anyway,
Still, it's wasteful to inline *any* of the join points.https://gitlab.haskell.org/ghc/ghc/-/issues/23536Making template-haskell refactorable2024-03-27T15:40:22ZAdam GundryMaking template-haskell refactorable### Background
The `template-haskell` package is a wired-in package that contains some known-key names. These are identifiers and data constructors that the compiler expects to be in specific locations in the `template-haskell` package ...### Background
The `template-haskell` package is a wired-in package that contains some known-key names. These are identifiers and data constructors that the compiler expects to be in specific locations in the `template-haskell` package when it desugars things like quotes or derived `Lift` instances. (Or indeed for recognizing the `Lift` type class as one that has bespoke deriving logic at all!)
At the moment, the `ghc` package and some of its dependencies (`bytestring`, `containers`, `exceptions`, `filepath` and `text`) depend on the `template-haskell` package. More specifically the compiler itself `ghc` depends on _its own in-tree version_ of `template-haskell`, while boot libraries like `bytestring` contain derived `Lift` instances and quotes.
### Problem
Now consider what happens when we build a stage-1 ghc, with some bootstrap version of ghc:
1. We must build the _in-tree_ version of `template-haskell` (with the boot compiler) because the `ghc` package being build depends on that in-tree version.
2. We compile a derived `Lift` instance in one of the boot libraries like `bytestring`, the bootstrap compiler will only accept the derived instance if the class itself lives at the specific wired-in location `template-haskell:Language.Haskell.TH.Syntax.Lift`. Furthermore, the body of the derived instance will refer to various known-key names in `template-haskell:Language.Haskell.TH.Lib.Internal` and elsewhere.
This makes it difficult to make changes to `Language.Haskell.TH.Syntax`, which defines many wired-in names used by TH: If we move or change one, in step 2 the boot compiler will still try to look it up at its old location and use it as if it had its old type. See for example #20828 and #22229 which have run into this issue.
### Possible solutions
1. One possible fix would be to make it possible to compile these packages without depending on `template-haskell` (e.g. using a Cabal flag and CPP). Then we could build stage-1 GHC without the boot compiler ever touching any `template-haskell` package at all, and hence it would be possible to move definitions around. The stage-2 GHC build would then depend on `template-haskell` as normal.
* This would require changes to several boot libraries, and although their dependencies on `template-haskell` are fairly trivial, the relevant maintainers may not all be happy about expanding the configuration spaces for these packages to accommodate this approach.
2. Another possibility is to build a stage-1 `ghc` against the version of `template-haskell` shipped with the bootstrap compiler instead of the in-tree `template-haskell`. Then in step 2 above, the lookups by the bootstrap compiler will succeed because the bootstrap compiler performs these lookup based on where things are in its own version of `template-haskell`.
* This means that the compiler must be buildable with multiple versions of `template-haskell`, most likely through some awkward CPP.
3. A third possibility is to build the various boot libraries for the stage-1 `ghc` against the `template-haskell` shipped with the bootstrap compiler, but make the stage-1 `ghc` itself directly depend on another package that provides the same API as the in-tree version of `template-haskell`. This package's implementation could consist of a `.cabal` file and a hadrian-created symlink into the in-tree `template-haskell`'s sources.
* This introduces a bit of complexity into hadrian, but requires no CPP anywhere.
Any of these would make it easier to refactor `Language.Haskell.TH.Syntax`, which is currently rather unwieldy and could do with API cleanup.https://gitlab.haskell.org/ghc/ghc/-/issues/22069Tracking ticket for using TemplateHaskell in GHC bootstrapping2024-03-27T15:02:20ZBen GamariTracking ticket for using TemplateHaskell in GHC bootstrappingCurrently GHC has a policy of avoiding use of TH in its bootstrapping process. However, we suspect that on-going work in cross-compilation should address many of the technical barriers to using it. Moreover, TH can be a compelling altern...Currently GHC has a policy of avoiding use of TH in its bootstrapping process. However, we suspect that on-going work in cross-compilation should address many of the technical barriers to using it. Moreover, TH can be a compelling alternative to `Generic` instance deriving in many cases. @mpickering and I have discussed options for achieving this, including possibly running splices on the host.https://gitlab.haskell.org/ghc/ghc/-/issues/24528Bump time to 1.142024-03-27T13:44:44ZAshley YakeleyBump time to 1.14I've just released time-1.14 to Hackage. The corresponding git commit is the ghc branch, which always points to the commit that I intend for GHC (and matches the latest release in Hackage).I've just released time-1.14 to Hackage. The corresponding git commit is the ghc branch, which always points to the commit that I intend for GHC (and matches the latest release in Hackage).9.10.1Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/17418MacOS notarization2024-03-27T12:34:17ZBen GamariMacOS notarizationIt seems that macOS Catalina may [require](https://appletoolbox.com/everything-you-need-to-know-about-app-notarization-in-macos-catalina/) that all "Apps" (which I believe covers GHC, although it is such a vague term that it is hard to t...It seems that macOS Catalina may [require](https://appletoolbox.com/everything-you-need-to-know-about-app-notarization-in-macos-catalina/) that all "Apps" (which I believe covers GHC, although it is such a vague term that it is hard to tell) must be ["notarized"](https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution). I suppose this is yet another hoop that we will have to jump through. Sigh...
# Temporary workaround
Users can explicitly mark the binary distribution as trusted after extraction by running `xattr -rc $path_to_bindist_directory`.
# References
* [NodeJS issue](https://github.com/nodejs/node/issues/29216)
* [golang issue](https://github.com/golang/go/issues/34986)
* [GraalVM issue](https://github.com/oracle/graal/issues/1724)
* [Mono issue](https://github.com/mono/mono/issues/15333)
* [a potential workaround](https://news.ycombinator.com/item?id=21180185) although apparently this requires that the user have `root`
* [macports thread](https://lists.macports.org/pipermail/macports-dev/2019-April/040593.html)
* [a useful StackOverflow question](https://apple.stackexchange.com/questions/356994/how-will-apples-notarization-impact-programs-written-in-python)
* [bit of prose from Apple](https://developer.apple.com/news/?id=09032019a) which states that all software released after Jan 2020 will need to use the [hardened runtime](https://developer.apple.com/documentation/security/hardened_runtime_entitlements)https://gitlab.haskell.org/ghc/ghc/-/issues/23117Hadrian can't build stage-cabal with cabal 3.102024-03-27T10:38:23ZRodrigo MesquitaHadrian can't build stage-cabal with cabal 3.10## Summary
I'm unable to build stage-cabal on HEAD with hadrian, it fails with:
```
| Create directory /Users/romes/ghc-dev/ghc/_build/stage-cabal/bin
| Run Cabal Install Stage2: none => none
/Users/romes/.ghcup/bin/cabal --store-dir=/U...## Summary
I'm unable to build stage-cabal on HEAD with hadrian, it fails with:
```
| Create directory /Users/romes/ghc-dev/ghc/_build/stage-cabal/bin
| Run Cabal Install Stage2: none => none
/Users/romes/.ghcup/bin/cabal --store-dir=/Users/romes/ghc-dev/ghc/_build/stage-cabal/cabal-store build binary --project-file /Users/romes/ghc-dev/ghc/cabal.project-reinstall --distdir _build/stage-cabal/dist-newstyle --with-compiler=/Users/romes/ghc-dev/ghc/_build/stage1/bin/ghc --enable-executable-dynamic --enable-library-vanilla
Command line: /Users/romes/.ghcup/bin/cabal --store-dir=/Users/romes/ghc-dev/ghc/_build/stage-cabal/cabal-store build binary --project-file /Users/romes/ghc-dev/ghc/cabal.project-reinstall --distdir _build/stage-cabal/dist-newstyle --with-compiler=/Users/romes/ghc-dev/ghc/_build/stage1/bin/ghc --enable-executable-dynamic --enable-library-vanilla
===> Command failed with error code: 1
Error: cabal: Could not resolve dependencies:
[__0] next goal: ghc (user goal)
[__0] rejecting: ghc-9.7 (only already installed instances can be used)
[__0] rejecting: ghc-9.4.4, ghc-9.4.3, ghc-9.4.2, ghc-9.4.1, ghc-9.2.7,
ghc-9.2.6, ghc-9.2.5, ghc-9.2.4, ghc-9.2.3, ghc-9.2.2, ghc-9.2.1, ghc-9.0.2,
ghc-8.10.7, ghc-8.10.2, ghc-8.10.1, ghc-8.8.3, ghc-8.8.1, ghc-8.6.5,
ghc-8.6.4, ghc-8.6.1, ghc-8.4.4, ghc-8.4.3, ghc-8.4.1, ghc-8.2.2, ghc-8.2.1,
ghc-9.2.3.20220620 (constraint from user target requires ==9.7)
[__0] fail (backjumping, conflict set: ghc)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: ghc
Resolving dependencies...
Command failed
Build failed.
```
## Steps to reproduce
`./hadrian/build -j --flavour=default+no_profiled_libs+omit_pragmas build-cabal`
## Expected behavior
I expected stage-cabal to build :smile:
## Environment
* GHC version used: HEAD
* Operating System: MacOS Ventura
* System Architecture: Apple Silicon M2ZubinZubinhttps://gitlab.haskell.org/ghc/ghc/-/issues/15681Take exhaustiveness checking into consideration when using MonadFailDesugaring2024-03-27T10:21:00ZDmitrii KovanikovTake exhaustiveness checking into consideration when using MonadFailDesugaringConsider the following code:
```hs
import Data.List.NonEmpty (NonEmpty (..))
foo :: Monad m => m (NonEmpty a) -> m a
foo m = do
(x :| _) <- m
pure x
```
It works completely fine on GHC 8.6.1 and doesn't require `MonadFail` con...Consider the following code:
```hs
import Data.List.NonEmpty (NonEmpty (..))
foo :: Monad m => m (NonEmpty a) -> m a
foo m = do
(x :| _) <- m
pure x
```
It works completely fine on GHC 8.6.1 and doesn't require `MonadFail` constraint because `NonEmpty` has only single constructor so there're no other cases in pattern-matching. Howewer, if I rewrite this code using `-XPatternSynonyms` with `{-# COMPLETE #-}` pragma, it doesn't work anymore.
```hs
{-# LANGUAGE PatternSynonyms #-}
import Data.List.NonEmpty (NonEmpty (..))
newtype Foo a = Foo (NonEmpty a)
pattern (:||) :: a -> [a] -> Foo a
pattern x :|| xs <- Foo (x :| xs)
{-# COMPLETE (:||) #-}
foo :: Monad m => m (Foo a) -> m a
foo m = do
(x :|| _) <- m
pure x
```
And I see the following error:
```
• Could not deduce (Control.Monad.Fail.MonadFail m)
arising from a do statement
with the failable pattern ‘(x :|| _)’
from the context: MonadFoo m
bound by the type signature for:
foo :: forall (m :: * -> *) a. MonadFoo m => m (Foo a) -> m a
at /Users/fenx/haskell/sandbox/Fail.hs:13:1-37
Possible fix:
add (Control.Monad.Fail.MonadFail m) to the context of
the type signature for:
foo :: forall (m :: * -> *) a. MonadFoo m => m (Foo a) -> m a
• In a stmt of a 'do' block: (x :|| _) <- m
In the expression:
do (x :|| _) <- m
pure x
In an equation for ‘foo’:
foo m
= do (x :|| _) <- m
pure x
|
15 | (x :|| _) <- m
| ^^^^^^^^^^^^^^
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 8.6.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Take {-# COMPLETE #-} pragma into consideration when using MonadFailDesugaring","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"8.6.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"8.6.1","keywords":["pattern-matching,monadfail,desugaring"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Consider the following code:\r\n\r\n{{{#!hs\r\nimport Data.List.NonEmpty (NonEmpty (..))\r\n\r\nfoo :: Monad m => m (NonEmpty a) -> m a\r\nfoo m = do\r\n (x :| _) <- m\r\n pure x\r\n}}}\r\n\r\nIt works completely fine on GHC 8.6.1 and doesn't require `MonadFail` constraint because `NonEmpty` has only single constructor so there're no other cases in pattern-matching. Howewer, if I rewrite this code using `-XPatternSynonyms` with `{-# COMPLETE #-}` pragma, it doesn't work anymore.\r\n\r\n{{{#!hs\r\n{-# LANGUAGE PatternSynonyms #-}\r\n\r\nimport Data.List.NonEmpty (NonEmpty (..))\r\n\r\nnewtype Foo a = Foo (NonEmpty a)\r\n\r\npattern (:||) :: a -> [a] -> Foo a\r\npattern x :|| xs <- Foo (x :| xs)\r\n{-# COMPLETE (:||) #-}\r\n\r\nfoo :: Monad m => m (Foo a) -> m a\r\nfoo m = do\r\n (x :|| _) <- m\r\n pure x\r\n}}}\r\n\r\nAnd I see the following error:\r\n\r\n{{{\r\n • Could not deduce (Control.Monad.Fail.MonadFail m)\r\n arising from a do statement\r\n with the failable pattern ‘(x :|| _)’\r\n from the context: MonadFoo m\r\n bound by the type signature for:\r\n foo :: forall (m :: * -> *) a. MonadFoo m => m (Foo a) -> m a\r\n at /Users/fenx/haskell/sandbox/Fail.hs:13:1-37\r\n Possible fix:\r\n add (Control.Monad.Fail.MonadFail m) to the context of\r\n the type signature for:\r\n foo :: forall (m :: * -> *) a. MonadFoo m => m (Foo a) -> m a\r\n • In a stmt of a 'do' block: (x :|| _) <- m\r\n In the expression:\r\n do (x :|| _) <- m\r\n pure x\r\n In an equation for ‘foo’:\r\n foo m\r\n = do (x :|| _) <- m\r\n pure x\r\n |\r\n15 | (x :|| _) <- m\r\n | ^^^^^^^^^^^^^^\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->⊥https://gitlab.haskell.org/ghc/ghc/-/issues/22364JavaScript Backend: fix typePrimRep failure2024-03-27T09:26:53ZJosh MeredithJavaScript Backend: fix typePrimRep failure# Description
Test: T13244
```
Compile failed (exit code 1) errors were:
js-unknown-ghcjs-ghc: panic! (the 'impossible' happened)
GHC version 9.5.20220920:
runtimeRepPrimRep
typePrimRep (Unboxed Int :: TYPE (Rep Int))
Rep Int
C...# Description
Test: T13244
```
Compile failed (exit code 1) errors were:
js-unknown-ghcjs-ghc: panic! (the 'impossible' happened)
GHC version 9.5.20220920:
runtimeRepPrimRep
typePrimRep (Unboxed Int :: TYPE (Rep Int))
Rep Int
Call stack:
CallStack (from HasCallStack):
callStackDoc, called at compiler/GHC/Utils/Panic.hs:188:37 in ghc:GHC.Utils.Panic
pprPanic, called at compiler/GHC/Types/RepType.hs:617:5 in ghc:GHC.Types.RepType
CallStack (from HasCallStack):
panic, called at compiler/GHC/Utils/Error.hs:442:29 in ghc:GHC.Utils.Error
Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug
*** unexpected failure for T13244(normal)
```
Test T13822:
```
Compile failed (exit code 1) errors were:
js-unknown-ghcjs-ghc: panic! (the 'impossible' happened)
GHC version 9.5.20220920:
kindPrimRep
IK 'STAR
typePrimRep (I a_avj :: IK 'STAR)
Call stack:
CallStack (from HasCallStack):
callStackDoc, called at compiler/GHC/Utils/Panic.hs:188:37 in ghc:GHC.Utils.Panic
pprPanic, called at compiler/GHC/Types/RepType.hs:587:5 in ghc:GHC.Types.RepType
CallStack (from HasCallStack):
panic, called at compiler/GHC/Utils/Error.hs:442:29 in ghc:GHC.Utils.Error
Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug
*** unexpected failure for T13822(normal)
```
# Tests affected by this issue
- [ ] T13105
- [ ] T13244
- [x] T13822 !10261
- [x] T14749 !10261
- [ ] Dep3
- [x] KindEqualities2Sylvain HenryLuite StegemanJosh Meredithdoyougnujmy6342@gmail.comSylvain Henryhttps://gitlab.haskell.org/ghc/ghc/-/issues/24596missing export lists warning gives wrong line2024-03-27T03:14:14ZHateUsernamesmissing export lists warning gives wrong line## Summary
When compiling a file that has LANGUAGE or OPTIONS_GHC pragmas at the top the warning `-Wmissing-export-lists` gives the incorrect line number.
```txt
DB/Command.hs:1:1: error: [-Wmissing-export-lists, -Werror=missing-export...## Summary
When compiling a file that has LANGUAGE or OPTIONS_GHC pragmas at the top the warning `-Wmissing-export-lists` gives the incorrect line number.
```txt
DB/Command.hs:1:1: error: [-Wmissing-export-lists, -Werror=missing-export-lists]
The export item ‘module DB.Command’ is missing an export list
|
1 | {-# LANGUAGE Unsafe #-}
| ^
```
## Steps to reproduce
```sh
echo '{-# LANGUAGE Unsafe #-}\nmodule ABC where\n' > /tmp/mxl.hs
ghc -Wmissing-export-lists -Werror /tmp/mxl.hs
```
## Expected behavior
```txt
Loaded package environment from /home/wjr/.ghc/x86_64-openbsd-9.2.7/environments/default
[1 of 1] Compiling ABC ( /tmp/mxl.hs, /tmp/mxl.o )
/tmp/mxl.hs:1:1: error: [-Wmissing-export-lists, -Werror=missing-export-lists]
The export item ‘module ABC’ is missing an export list
|
1 | {-# LANGUAGE Unsafe #-}
| ^
```
## Environment
* GHC version used: 9.2.7
Optional:
* Operating System: OpenBSD 7.4
* System Architecture: x86_64https://gitlab.haskell.org/ghc/ghc/-/issues/24569CI: MacOS update causes build failure2024-03-27T02:35:41ZBryan Rbryan@haskell.foundationCI: MacOS update causes build failureExample: https://gitlab.haskell.org/ghc/ghc/-/jobs/1811344
This affected https://gitlab.haskell.org/admin/runners/706#/ and https://gitlab.haskell.org/admin/runners/705#/
@angerman reports:
> When you run m4, it tells you "requesting ...Example: https://gitlab.haskell.org/ghc/ghc/-/jobs/1811344
This affected https://gitlab.haskell.org/admin/runners/706#/ and https://gitlab.haskell.org/admin/runners/705#/
@angerman reports:
> When you run m4, it tells you "requesting installation of command line developer tools", you then get the popup, it installs the CLT.
>
> If you run m4 again, the whole process starts all over again.
```
Command line: sh configure --enable-shared=no --with-pic=yes --host=aarch64-apple-darwin --build=aarch64-apple-darwin
===> Command failed with error code: 1
configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).
```Moritz AngermannBryan Rbryan@haskell.foundationMoritz Angermannhttps://gitlab.haskell.org/ghc/ghc/-/issues/24595GHC-9.10.0-rc linking error on Linux OS2024-03-27T02:33:49Zrecursion-ninjaGHC-9.10.0-rc linking error on Linux OS## Summary
The new GHC-9.10.0 release candidate results in a linker error when building at least [one project](https://github.com/amnh/PhyG) on Linux OS(es).
This linker error did not occur when building the same project with GHC-9.8.1 ...## Summary
The new GHC-9.10.0 release candidate results in a linker error when building at least [one project](https://github.com/amnh/PhyG) on Linux OS(es).
This linker error did not occur when building the same project with GHC-9.8.1 or GHC-9.8.2, hence I beleive the liker error was introduced by the GHC-9.10.0 release candidate.
The introduced linker error does not occur when building the same project on MacOS with either M1 or M3 chipsets using the GHC-9.10.0 release candidate.
It seems this might be a "Linux-only" issue.
I have uploaded a copy of the terminal output generated during the second phase of the build procedure below [`bug-report.log`](/uploads/c3d0f77c7b92bec130216f2e1c63cc2a/bug-report.log)
## Steps to reproduce
```bash
# Initialize the reproducible environment
git clone git@github.com:amnh/PhyG.git
cd PhyG
git checkout 27b86ae56ccfa4270bab1af37eb4af5f8972653f
cabal update
cabal clean
# First build just the dependencies, to omit them from the verbose logs:
cabal build PhyG:phyg \
--with-compiler=ghc-9.10.0.20240313 \
--dependencies-only
# ... < wait a very long time, so sorry >
# Second build the executable and verbosely log the resulting linker error:
cabal build PhyG:phyg \
--with-compiler=ghc-9.10.0.20240313 \
--ghc-options=-v \
&> bug-report.log
# ... < wait a less long time >
[62 of 62] Linking /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg
*** systool:cc:
*** C Compiler:
gcc -c /tmp/ghc2756050_0/ghc_19.c -o /tmp/ghc2756050_0/ghc_20.o -fno-PIC -I/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/rts-1.0.2/include
!!! systool:cc: finished in 0.68 milliseconds, allocated 0.165 megabytes
*** systool:cc:
*** C Compiler:
gcc -c /tmp/ghc2756050_0/ghc_22.s -o /tmp/ghc2756050_0/ghc_23.o
!!! systool:cc: finished in 0.42 milliseconds, allocated 0.131 megabytes
*** systool:linker:
*** Linker:
gcc '-fuse-ld=gold' -Wl,--no-as-needed -o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg -lm -no-pie -Wl,--gc-sections /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/CommandLineOptions/Types.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Complexity/Constants.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Complexity/CodeStrings.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Complexity/Graphs.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Complexity/Huffman.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Complexity/Utilities.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/PackageInfo_PhyG.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Paths_PhyG.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Software/Metadata/Embedded.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Software/License.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Software/Credits.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Software/Metadata/TimeStamp.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Software/Metadata.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Software/Preamble.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Software/SplashImage.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/CommandLineOptions/Display.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/CommandLineOptions.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/System/Timing.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Types/DistanceTypes.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Utilities/LocalGraph.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Types/Types.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Utilities/DistanceUtilities.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/DistanceWagner.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/DistanceMethods.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Reconciliation/Adams.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Debug/Debug.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Commands/Verify.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Utilities/LocalSequence.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Utilities/TcmHash.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Utilities/Utilities.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Input/DataTransformation.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Input/FastAC.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Input/TNTUtilities.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Input/ReadInputFiles.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Commands/ProcessCommands.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Input/BitPack.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/GraphOptimization/Medians.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Utilities/ThreeWayFunctions.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Utilities/Distances.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Input/Reorganize.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Graphs/GraphOperations.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Reconciliation/Eun.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Reconciliation/ReconcileGraphs.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/GraphOptimization/PreOrderFunctions.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/GraphOptimization/PostOrderSoftWiredFunctionsNew.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/GraphOptimization/PostOrderSoftWiredFunctions.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/GraphOptimization/Traversals.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/WagnerBuild.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/Swap.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/SwapMaster.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/NetworkAddDelete.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/Fuse.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/GeneticAlgorithm.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/Refinement.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/Build.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Support/Support.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Commands/CommandUtilities.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Commands/Transform.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Search/Search.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Commands/CommandExecution.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/Main.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/ffi/external-direct-optimization/alignCharacters.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/ffi/external-direct-optimization/alignmentMatrices.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/ffi/external-direct-optimization/c_alignment_interface.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/ffi/external-direct-optimization/c_code_alloc_setup.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/ffi/external-direct-optimization/costMatrix.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/ffi/external-direct-optimization/dyn_character.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/ffi/external-direct-optimization/ukkCheckPoint.o /home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/x/phyg/opt/build/phyg/phyg-tmp/ffi/external-direct-optimization/ukkCommon.o -L/home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/l/dynamic-character/opt/build/dynamic-character -L/home/ward/.cabal/store/ghc-9.10.0.20240313/matrices-0.5.0-9a87c80463dbe35ef27be22acdc771f1188447138fd0f1c061dbcf179a3332fb/lib -L/home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/l/tcm/opt/build/tcm -L/home/ward/.cabal/store/ghc-9.10.0.20240313/hashtables-1.3.1-d6b607aa090d5fd689970c5124246936962a52923884ad9a8cdc5abad1233eee/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/concurrent-hashtable-0.1.8-6d80284bacf78296e263f30ec70f18661d4f982e3ab9690de9f1d756cf746442/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/atomic-primops-0.8.5-d1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/concurrent-extra-0.7.0.12-a602ce75c4fc0cd682b22f0d1fea5b5783bcf6bd3c8848986f1d849bb3043b26/lib -L/home/ward/home/PhyG/dist-newstyle/build/x86_64-linux/ghc-9.10.0.20240313/PhyG-0.1.4/l/utility/opt/build/utility -L/home/ward/.cabal/store/ghc-9.10.0.20240313/vector-instances-3.4.2-1bb3a95bcd58dbb188689f3c179c710d7630d0a88b821704741d4fb104582485/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/vector-binary-instances-0.2.5.2-5bb3221da661c7078a5cd4fb1ff298bcea14cdb8000cc3cb3c91641adaa4b73a/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/pointed-5.0.4-ed7f1dcfd8a1ba770a563461033de10e1a2633f26969ca97947e8db628a50f9d/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/data-default-class-0.1.2.0-5c0e1b43c8299caa99a50773e1f4a0e1adb8887fbcb8131a82bc4ef9d4b9f13d/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/matrix-0.3.6.3-f3f5a075e29810e884b15dfa2e0150f0645a0fc7f638baeff3e8362d89c19518/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/loop-0.3.0-d88ffc61282f6b41f4efd3e26979fb5dd8be60941be8355c27152e067fa191c1/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/lens-5.2.3-b4dca3ff3cc8c706a97847f8608c8688504b240607f09ac6c768d404f58f0c20/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/kan-extensions-5.2.5-21ccbc0205c83db218e3ea62812d048bb36516fc4fa79e9340ec51ceae075351/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/invariant-0.6.2-604b6f28b872ebdfbbe8ab139df6b2330e5f10273903d9b74d0906472317a3c5/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/adjunctions-4.4.2-009b046c6a460a9987c0fe6d4cede557850c4f2b622dccac5c0be76e09dee155/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/void-0.7.3-d94546b220f98856f3b952037a8ced59eeb2561efaf978b88ab7bfb04e28e69d/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/call-stack-0.4.0-99c99225a3a2549fbde9205528d058b5dc6d6061c1d029893decf2078b516540/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/keys-3.12.3-80331c1e5a0900b85cd925b090d4be6edd3268c03ae62cc43311c9b56227f425/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/semigroups-0.20-433fa4ea165918f07c69e4c6dbfe87f4963f75b93f0a124a72a5b17be0505795/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/free-5.2-01bb8a61bfcf52d09512ed8029f4709cda9f99ffac177277dfc29fae697cb3ed/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/transformers-base-0.4.6-d1b31c6625064809c8ab473833302c5d0eb4750004faad2d6ecb9b40c2cb08ae/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/mmark-0.0.7.6-f0d7a30f192e6a6f9bf265ffec4f2e40edf48c7a1210cec9bc8fcedaf5f4cf42/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/yaml-0.11.11.2-d94c79ab18b84c59e53e73a5e31a1ba1a711f25768640f2452868f0e753c0ddb/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/libyaml-0.1.4-fe3cc56e711985416fd203a5940a49aaafa1550fe9acf3fd883f54dbe1470f95/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/libyaml-clib-0.2.5-fff58eb26dc021cd0949644bf8d2d1e2a25817f943bd6ad180c552278a274d99/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/conduit-1.3.5-b0261fe83cb8d18d96e4406f524712c9abe03c0d76955f18b9a41eb3735137b5/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/resourcet-1.3.0-bc513d8b036d9192eb8254a59c5ecc1ac62a0cacb7215951095cd70262c84194/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/mono-traversable-1.0.17.0-d11dc60575166ae0c6e24566b2e54c303c73999ea8637f96fb7eea54d7806e40/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/vector-algorithms-0.9.0.1-25d1d87a515ec667881a5b55a37ecaddc33f73dc6b99c2f8de4795d37113083b/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/text-metrics-0.3.2-3a570e6e1bdcc01b6a273b45b92617dacb550a6a8ff64b176549bd03d3c8dfd9/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/modern-uri-0.3.6.1-09f4a2a5835da6cb4c33b3e3f0a1f5adf73780cc192628b94da38fe4165e39ae/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/reflection-2.1.7-39deb79fe52241cc499b49172e0d7a07d68f6ad1c9d472f3b7698ac0de778ef3/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/microlens-th-0.4.3.14-57431124cf516db9640522c6ebdc05fe856777d786bfcde7a396d6e4cfd3aa3a/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/microlens-0.4.13.1-7ecacbc77e9a9c2eb73258db30d8c59efa2c7fcd8d493419f34bf105edce5934/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/megaparsec-9.6.1-8250b6748d335e93b30097ca7c84f48ca6314004010ab5d0f45c541b8b742427/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/parser-combinators-1.3.0-2001cdbbdd4e42f0073204441050a8fafe6693531a404ba1f7ccb503a29c9e96/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/lucid-2.11.20230408-4138c9d2c50a6792d42ed48f00b077b8cb2fbeb65edf2ef1ea409f57146b8acc/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/blaze-builder-0.4.2.3-5bb60ad90b8e92a67fd002c65339763ef10aa190c00042f63061e697af6a46f1/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/html-entity-map-0.1.0.0-eda09169ccfde47e573785ba6fabb6562933894b326c33175bddc1aee7b20df3/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/foldl-1.4.16-ff63c7e8c1cedf48f2670e40b3310727a533b9595f29f864ed502621f0579de1/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/profunctors-5.6.2-842c805864d8ce95639ee8088b1a96084fa2731f6e7ce38d34f960c7e02b8661/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/email-validate-2.3.2.20-66bb6773c17f7b0329d309dacf52116f18adbd62425d8303cc401b1133e2bd49/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/aeson-2.2.1.0-8befb79d0d106f1d4c60c5b20aedfdf64f5eda1783b800809dcecdcb33e712d5/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/witherable-0.4.2-b53f864bb77e2282548f63dc267ffb4ae21f0f65c5ae7e69c74904ccbfd528e6/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/text-iso8601-0.1-aac844663b2d31becc08aa07b88b9b29f861171c9f90fd847b6d7da7dabfb00c/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/semialign-1.3-52ac0fbe2aeb663cb47f3b7eeb5701ee2b7fa92264a23b41e5f243ca04fc586c/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/semigroupoids-6.0.0.1-86c0b62329f9ac2dfe87fbbb5c8a3dc84243bd3f43dc9d001473f47e0abd3ed0/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/contravariant-1.5.5-32bf2fbeee28b9e8e4d1a40ba16df4bcda31f4efec746051a8ae489f35ab22fb/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/StateVar-1.2.2-3be256fecd0c57e14cb78e136bf2e7c80b8d1d6dc33eb599da8dc39e802c1eef/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/bifunctors-5.6.1-ab6cb543e37e5be9101a015f625bec8e6e6092baa43fa3b5dc7d04f9af18293a/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/comonad-5.0.8-6f3d11816e42419daefa539d3466d9293c6f8e823801066e769556fc1685271e/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/distributive-0.6.2.1-10a3b641d8f398fc6e830221bfe36744b22985d3f5cf4dd5a25329fc553cde95/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/indexed-traversable-instances-0.1.1.2-f6645ef51e0bc1a0c55288ede1da4b4cc0b44d2527013e5c56e2a99ccf990130/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/network-uri-2.6.4.2-6011520a1bf141d76d6a03a4d9eae3f578e0abc92671941c03ac57a94f8ec96f/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/th-compat-0.1.4-ddfa68d85e6c624aa3dbbce8ea9f8ba7b402c2963b36de45fb8c7708637f05cb/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/integer-conversion-0.1.0.1-956dd66c19940f595754137f2ab1ffbe6374734494162328e7965b9148cf9c09/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/indexed-traversable-0.1.3-95e606a9cc39926b2fb8da2a5b2676650c294ec94dc4a4379e3937d19eef4042/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/generically-0.1.1-ee28e64e964fc0323cfc6306a0b6c655d60120a74c24f48718d4f97d3f70c6a4/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/unbounded-delays-0.1.1.1-4280607e4d240d535c11f8c54e57e61df1a44012f4bd962d728b9a43c7f026a0/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/fingertree-0.1.5.0-131d0b0b298131f2c6ea9ad081e2cfa0cc649029edc45a5efa9bf425ee5c0152/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/logfloat-0.14.0-f194320452509c40111f2bef67943d1a776327d506c77ff48ce57c092fc50897/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/PHANE-evaluation-0.1.0-2e429c55d9cb0ac90d219d9942adb8bdb31b298bff29e2b6235ef70e0ab1b928/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/unliftio-0.2.25.0-659f8e2cdccb124175a8e79c216e75c5d4b7caef60197805ca65f2eaede21c2d/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/safe-exceptions-0.1.7.4-4ebbd0a99aa6b2f9714158becb9667579f3f646763529a0661da212c549c5e81/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/async-2.2.5-aaf0327b1564b4aba95159e470fd38dbf8c8eedbe144ea06620e7c74e5d123da/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/random-shuffle-0.0.4-36e5d58d479af0151bdcbb826cc7df94009ecd10e15bc5353953f47127a80a4a/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/QuickCheck-GenT-0.2.2.1-0313bf034b771b4f18f837ff2bffb7a288aa922a0d64448470f87b17da73e398/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/mmorph-1.2.0-b45ff2680fdce77ec2bcb176a68105984ef1027d6e4f565c76b2dc05db4c6f83/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/PHANE-evaluation-0.1.0-l-result-efbd4bd08610ffcad07d5ae499903f187f3fd093b2a38abaf8026a3f1c37477c/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/text-builder-linear-0.1.2-d15499532d43bd462b4434a7a15118f78c2433c2cb717f99c8ae9288a4177da7/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/quote-quot-0.2.1.0-8c074ed9653c32399fb275f7f2ad3d75c77d1b7459845a8506d7920455fe43a1/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/quickcheck-instances-0.3.30-76dfdf6a921936b8b49d449368ed6b72089b0ea7c7523095ec02e0b439e2cd96/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/uuid-types-1.0.5.1-96f4ab439a2ade32174fe3c4847d3c4a841a8ca812947d2682b0d12b16ceba3e/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/unordered-containers-0.2.20-9bd3dd75181ca839210ba79d192953b66874fc0c66e13ca6eb71b496d371acb1/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/time-compat-1.9.6.1-7a82772002738dcc84d179824eba6c61b1dfec19169b0a9f952bf49ea0d1d5f0/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/base-orphans-0.9.1-4ff2811d4947467a1c993a95d8e3734ff881e08fa8d4418bbf410dfd3b524f61/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/text-short-0.1.5-e2e846f1f09be81b4602dcfbf33b46b972b1b5780c4b44e4cece84335faf27b9/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/strict-0.5-147de9c8aecb7c5af21f41d618ef67be1afe6bb2c48632ec6d98d0da34146c85/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/these-1.2-cefda0a70a6c15c2df268520621ea2ddf98cc25c56c2510453d84eb218627e0a/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/assoc-1.1-0d0dacad358cd6dcd8cf5a0d0a52494aec3f2c7d245fa5338a2539dea7fb5c95/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/tagged-0.8.8-48ae4460345ce738e542e6d0c46d3265536a7ecb6228e86f6d9b4566e8f5029d/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/data-fix-0.3.2-2c09420051677ef7bea1fb4bffb035ecd89862766412bfdd1feb7db6197f5d04/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/case-insensitive-1.2.1.0-b3d8e67d93badbaf9be944b078af50674d9ddbaf382117f10c7da1106944eafc/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/OneTuple-0.4.1.1-271841e54034f1c5a4b69dda2bcac28324300c76fdb3aeeb7ae402f1fa74ea89/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/file-embed-0.0.16.0-af8d4076932d1314dd1c4ea82f78dcf156bdb8dfefad3c7e9679146381e7b444/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/encode-string-0.1.0.0-45f1c815e706e90d21926e966bca216dc54cb47f7f9b3b487dfa44e768f87a4f/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/th-lift-instances-0.1.20-f9236a9145e60a4bcaeb295601b2bdd57b1857aaf24ec8542d89d3fe42610845/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/th-lift-0.8.4-434cda8f59eeb4133f3487357e15f98fd32f1a2aac62d792002df65370df6273/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/th-abstraction-0.6.0.0-5aa19f6979ac1301fc167208e35578130c94638237693bb8abbf4a99aba22adf/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/gitrev-1.3.1-4eb1bc6f330f4c5c2102460f59ea7cd072554a98557168f4ce17e5ddb44edd77/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/unliftio-core-0.2.1.0-ee8834331f87a686edc6b072ed331f51b7f0c1b89669540d8bdf346f3f00b70d/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/MonadRandom-0.6-5bff522e25f5a5156e56b4cb31f407a603dfd8474721e94cd4cb4e92ec5e56a0/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/PHANE-dynamic-character-0.1.0-l-core-5417cd5a35a6d5fb7b7c499c451d9bd18ff21100a50aceb2a4322e0f3af506c1/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/monad-loops-0.4.3-adf67481ae46e3f990ab25d61c909154ab1feef35d4f220227e501d40f1749d3/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/MissingH-1.6.0.1-ce6febc5a32f5209e67580573750f133b9d71038dc546824e81ccd4576c1948f/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/regex-compat-0.95.2.1-678f4a6f654677003c2d6cb12951031028f8549a69f963280b2bcbe0e404222d/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/regex-posix-0.96.0.1-09bf6204202b01ab8017870c8a6b82a19b01de047dfc7dd8814b035b39d4e34d/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/regex-base-0.94.0.2-97972b35fd301aa76cbd54c102627cbda4652c6a235dbc2159ff78641f13374f/lib -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/parsec-3.1.16.1-7a99 -L/home/ward/.cabal/store/ghc-9.10.0.20240313/old-time-1.1.0.4-45c303b9b4fcef7cb87347454164fdde9e92b84a981cbbc5c6ccf1551addc337/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/hslogger-1.3.1.0-37aae41ec7ad718b8d6732b2c191a2a1ec01d93436ae3694d3890d8ec9c4e6b9/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/old-locale-1.0.0.7-8f48608228de8769f88a0f5f216197a62f37df059327aa8f5cc8a441e2d03b9b/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/network-bsd-2.8.1.0-0bed7ea7b41bc6e29e1e594982632d0c2441969dc5710bf4cb1ec35b6640bb4e/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/network-3.1.4.0-2e852c263a71fdb4634a494c7c64a01f028737be30d7eafa48354b914dd63ba9/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/inflist-0.0.1-4702c17a69cab6eb0304e406f6cd04aa2d732306a25ce26d6bd5b8973d35d9a4/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/QuickCheck-2.14.3-7361a2a5fcfca6327ecf98169d6de62d4022891eb983e4aa4ef86c86d551a16c/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/PHANE-PhyloLib-0.1.0-0ecff0762185545d099be07c6b1a300a9029638b9771d74b61940b5bad38ecb9/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/sort-1.0.0.0-071d8c7c237807d6a1c6cba384384ee3c9e50b0bcbc583f659dfdb68ee335b9b/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/parallel-3.2.2.0-6b03a2d48793f9d78ee5fa4d135eb3ae3152e2e8cfae16ac39153cb6560820de/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/graphviz-2999.20.2.0-001619552d5ae6e973768f7a50f5bfbc41172d52d2f7a95f63aa3ff5beea43b4/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/wl-pprint-text-1.2.0.2-d35a32b242bbadcc2907884759589a583717dde5fb6e79ac3c3891a3108a2cf6/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/base-compat-0.13.1-f8da63fc026603e83d0e439e3abb40ada687e7f7a5601b45eae1e206daa894d9/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/temporary-1.3-d96a437ad3748af0523521a3c37c665156e8d2907a9277c8f274eac811307a95/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/random-1.2.1.2-169527d7b513727e30f59486dbd5feea96dd7530665e6ef38c4d9b81fc1f5f04/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/splitmix-0.1.0.5-258c37948587547443795f4877180c2ae7d800482e38af1a9803e808993aa962/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/polyparse-1.13-69b29990d8978f614f7903de39d7d5a1bf1f884792039c19c48e7fb9257ddad3/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/dlist-1.0-9c644bd7106b4fabceb49ddfa405280251f24ddc90bc1def7b85e7b4d9987525/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/bv-little-1.3.2-84c7e70393d54bc2aaa815bc88b19c1c75fd1cd192a32421f3864a5774098646/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/bv-little-1.3.2-l-core-56c05e3401b513743e941fcde029877a031d48e365d19a351dd65e954c1f65d3/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/bv-0.5-8539d98d6802c0ed85cf7aec0e8b0c11029d8ca42a765b2e9b36d7289665cc4c/lib -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/integer-gmp-1.1-060f -L/home/ward/.cabal/store/ghc-9.10.0.20240313/PHANE-dynamic-character-element-0.1.0-40c01af5b8f4ec8b04384d1b84f7cf6d74e8952932c48542df99f1706a7ae4f1/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/PHANE-dynamic-character-element-0.1.0-l-core-a3e6a8d26264734aac1b148b0c1769950837ed78b7b747db079edc69f3efcbb5/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/bitvec-1.1.5.0-87285043749926a6da7a702129f184fa40e5133f06dd40c0f2c5bce250d1be28/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/PHANE-alphabet-0.1.0-91c3a224f8fcd2686217c4cab65da0e4f17d71ab1976f424073f8e7f5f57f8da/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/bimap-0.5.0-24c2e4a64e68f06564d3f245d7a1e60537be56861fd63f4f86ecd7b56865ee98/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/PHANE-alphabet-0.1.0-l-core-63d2ac0998c007b972b5701b9350da6aed3082d56b3147a2200f16e31928cc71/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/PHANE-measure-units-0.1.0-e8db44473454fb9e34ae190aaff84fba263e3a7ca83ebeb695bb49f6a7065cbe/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/vector-0.13.1.0-8dd3acf28f4218c732ff7446a937c02a168b6ca0b458ca8c8b06cdcb1ef5a26a/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/vector-stream-0.1.0.1-43d7326a2f5d1e129a86650285b4f59f852b604eb7f2233a852a995420bfcdb1/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/fgl-5.8.2.0-338e107736ed8ad2fdb1d41acf12f9308fc8cb11ae7df4f66eed5b969e49e92c/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/zlib-0.7.0.0-04c483d310d80e111950b59b78d4281a51930682650d883416bed3e37ad31d56/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/split-0.2.5-d67e7d971a4a42223615f63130b314ad39aa543d4f0742bea300aea40ceb614b/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/cpuinfo-0.1.0.2-d63e4c0f4ca355594d6dcc62cf674ecc89d401977c763b3ab3ad64112af81b86/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/attoparsec-0.14.4-16af435b2e647346c1d6d6624f6db0253c14dc40632c84c2a6f61d27cf5e6864/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/scientific-0.3.7.0-1f28a550478c91ad5535a24e7b02e945fbaeaddf6a2dc81d9cf4691e5138cc53/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/primitive-0.9.0.0-74b0b78a7155a064dc1f301b8e4c1698fe756ec1ec838f99f56e29560368dd8a/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/integer-logarithms-1.0.3.1-48eaa839fa97ec6253f87b64aea58f20e3707f927b5636a657cd14ebd7a1508c/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/hashable-1.4.3.0-63fb114e80737ed55c49027500ebb252862b286bfa670d2c3ee8fcbfa71c3209/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/attoparsec-0.14.4-l-attoparsec-internal-8f6e0f908499a00fdfbe9ca5f6c99353ec0c0f95e3e309f44a1501ec7cbcb9f2/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/optparse-applicative-0.18.1.0-7a2d25360e9a1524a9087b047f4fde0f0786d3c4ccd59992096fccc029a7bc56/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/transformers-compat-0.7.2-5b684c55afc805ea0e07a0ea47c141a9ec569c95a0449b6a4d9e2497e9126d40/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/process-1.6.18.0-31b02aa9b98b46bda2995b158752605ee4e5d58a729c9cfbed03a0d0c8cd9c1f/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/directory-1.3.8.1-107b22c0e7ebbe3c8d544fbc68f0a9d6f3b9c030ab746efcb44ac3dad04233b9/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/unix-2.8.5.0-ff79bc3b37242ff9c4f6c3743c0c38a3c346dd95478cd31574319b213226e237/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/filepath-1.4.300.1-e13738987058f2bc651531b5174e7137f3721b7d252227bf692a2210e4552bc3/lib -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/exceptions-0.10.7-5fa6 -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/stm-2.5.3.0-f23a -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/mtl-2.3.1-a73e -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/transformers-0.6.1.1-c378 -L/home/ward/.cabal/store/ghc-9.10.0.20240313/prettyprinter-ansi-terminal-1.1.3-f6ccc3e953bd6e7f36c2612bcf635a501d22edc1ca5a22a8a9ea8ee1afa92b39/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/ansi-terminal-1.1-bbc3bc4bac4723d9f39112568c226d83a33f83335996810f69004319b911c803/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/ansi-terminal-types-1.1-856077d4de8b5f226274a9d4f123cf3d02df68d7d26402416ec90c93bd4b1469/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/colour-2.3.6-bf4351fb8f3e089bffe64d7480284caa3dbd7194642175a49797978e61469fad/lib -L/home/ward/.cabal/store/ghc-9.10.0.20240313/prettyprinter-1.7.1-f2f04d58e9ef6102321faae325eddcddc9fe88363e796f98ff490957de19557a/lib -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/time-1.12.2-c238 -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/text-2.1.1-7204 -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/binary-0.8.9.1-0ced -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/containers-0.7-08af -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/bytestring-0.12.1.0-315d -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/template-haskell-2.22.0.0-7b8f -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/pretty-1.1.3.6-dd28 -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/ghc-boot-th-9.10.0.20240313-c8d6 -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/deepseq-1.5.0.0-b3b5 -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/array-0.5.6.0-4317 -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/base-4.20.0.0-9d65 -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/ghc-internal-9.1001.0-1dbd -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/ghc-bignum-1.3-cfac -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/ghc-prim-0.11.0-3fe2 -L/home/ward/.ghcup/ghc/9.10.0.20240313/lib/ghc-9.10.0.20240313/lib/../lib/x86_64-linux-ghc-9.10.0.20240313/rts-1.0.2 /tmp/ghc2756050_0/ghc_20.o /tmp/ghc2756050_0/ghc_23.o -Wl,-u,ghczminternal_GHCziInternalziTopHandler_runIO_closure -Wl,-u,ghczminternal_GHCziInternalziTopHandler_runNonIO_closure -Wl,-u,ghczmprim_GHCziTuple_Z0T_closure -Wl,-u,ghczmprim_GHCziTypes_True_closure -Wl,-u,ghczmprim_GHCziTypes_False_closure -Wl,-u,ghczminternal_GHCziInternalziPack_unpackCString_closure -Wl,-u,ghczminternal_GHCziInternalziWeakziFinalizze_runFinalizzerBatch_closure -Wl,-u,ghczminternal_GHCziInternalziIOziException_stackOverflow_closure -Wl,-u,ghczminternal_GHCziInternalziIOziException_heapOverflow_closure -Wl,-u,ghczminternal_GHCziInternalziIOziException_allocationLimitExceeded_closure -Wl,-u,ghczminternal_GHCziInternalziIOziException_blockedIndefinitelyOnMVar_closure -Wl,-u,ghczminternal_GHCziInternalziIOziException_blockedIndefinitelyOnSTM_closure -Wl,-u,ghczminternal_GHCziInternalziIOziException_cannotCompactFunction_closure -Wl,-u,ghczminternal_GHCziInternalziIOziException_cannotCompactPinned_closure -Wl,-u,ghczminternal_GHCziInternalziIOziException_cannotCompactMutable_closure -Wl,-u,ghczminternal_GHCziInternalziIOPort_doubleReadException_closure -Wl,-u,ghczminternal_GHCziInternalziControlziExceptionziBase_nonTermination_closure -Wl,-u,ghczminternal_GHCziInternalziControlziExceptionziBase_nestedAtomically_closure -Wl,-u,ghczminternal_GHCziInternalziEventziThread_blockedOnBadFD_closure -Wl,-u,ghczminternal_GHCziInternalziConcziSync_runSparks_closure -Wl,-u,ghczminternal_GHCziInternalziConcziIO_ensureIOManagerIsRunning_closure -Wl,-u,ghczminternal_GHCziInternalziConcziIO_interruptIOManager_closure -Wl,-u,ghczminternal_GHCziInternalziConcziIO_ioManagerCapabilitiesChanged_closure -Wl,-u,ghczminternal_GHCziInternalziConcziSignal_runHandlersPtr_closure -Wl,-u,ghczminternal_GHCziInternalziTopHandler_flushStdHandles_closure -Wl,-u,ghczminternal_GHCziInternalziTopHandler_runMainIO_closure -Wl,-u,ghczmprim_GHCziTypes_Czh_con_info -Wl,-u,ghczmprim_GHCziTypes_Izh_con_info -Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info -Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info -Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info -Wl,-u,ghczminternal_GHCziInternalziPtr_Ptr_con_info -Wl,-u,ghczminternal_GHCziInternalziPtr_FunPtr_con_info -Wl,-u,ghczminternal_GHCziInternalziInt_I8zh_con_info -Wl,-u,ghczminternal_GHCziInternalziInt_I16zh_con_info -Wl,-u,ghczminternal_GHCziInternalziInt_I32zh_con_info -Wl,-u,ghczminternal_GHCziInternalziInt_I64zh_con_info -Wl,-u,ghczminternal_GHCziInternalziWord_W8zh_con_info -Wl,-u,ghczminternal_GHCziInternalziWord_W16zh_con_info -Wl,-u,ghczminternal_GHCziInternalziWord_W32zh_con_info -Wl,-u,ghczminternal_GHCziInternalziWord_W64zh_con_info -Wl,-u,ghczminternal_GHCziInternalziStable_StablePtr_con_info -Wl,-u,hs_atomic_add8 -Wl,-u,hs_atomic_add16 -Wl,-u,hs_atomic_add32 -Wl,-u,hs_atomic_add64 -Wl,-u,hs_atomic_sub8 -Wl,-u,hs_atomic_sub16 -Wl,-u,hs_atomic_sub32 -Wl,-u,hs_atomic_sub64 -Wl,-u,hs_atomic_and8 -Wl,-u,hs_atomic_and16 -Wl,-u,hs_atomic_and32 -Wl,-u,hs_atomic_and64 -Wl,-u,hs_atomic_nand8 -Wl,-u,hs_atomic_nand16 -Wl,-u,hs_atomic_nand32 -Wl,-u,hs_atomic_nand64 -Wl,-u,hs_atomic_or8 -Wl,-u,hs_atomic_or16 -Wl,-u,hs_atomic_or32 -Wl,-u,hs_atomic_or64 -Wl,-u,hs_atomic_xor8 -Wl,-u,hs_atomic_xor16 -Wl,-u,hs_atomic_xor32 -Wl,-u,hs_atomic_xor64 -Wl,-u,hs_cmpxchg8 -Wl,-u,hs_cmpxchg16 -Wl,-u,hs_cmpxchg32 -Wl,-u,hs_cmpxchg64 -Wl,-u,hs_xchg8 -Wl,-u,hs_xchg16 -Wl,-u,hs_xchg32 -Wl,-u,hs_xchg64 -Wl,-u,hs_atomicread8 -Wl,-u,hs_atomicread16 -Wl,-u,hs_atomicread32 -Wl,-u,hs_atomicread64 -Wl,-u,hs_atomicwrite8 -Wl,-u,hs_atomicwrite16 -Wl,-u,hs_atomicwrite32 -Wl,-u,hs_atomicwrite64 -Wl,-u,ghczminternal_GHCziInternalziStackziCloneStack_StackSnapshot_closure -lHSPhyG-0.1.4-inplace-dynamic-character -lHSmatrices-0.5.0-9a87c80463dbe35ef27be22acdc771f1188447138fd0f1c061dbcf179a3332fb -lHSPhyG-0.1.4-inplace-tcm -lHShashtables-1.3.1-d6b607aa090d5fd689970c5124246936962a52923884ad9a8cdc5abad1233eee -lHSconcurrent-hashtable-0.1.8-6d80284bacf78296e263f30ec70f18661d4f982e3ab9690de9f1d756cf746442 -lHSatomic-primops-0.8.5-d1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7 -lHSconcurrent-extra-0.7.0.12-a602ce75c4fc0cd682b22f0d1fea5b5783bcf6bd3c8848986f1d849bb3043b26 -lHSPhyG-0.1.4-inplace-utility -lHSvector-instances-3.4.2-1bb3a95bcd58dbb188689f3c179c710d7630d0a88b821704741d4fb104582485 -lHSvector-binary-instances-0.2.5.2-5bb3221da661c7078a5cd4fb1ff298bcea14cdb8000cc3cb3c91641adaa4b73a -lHSpointed-5.0.4-ed7f1dcfd8a1ba770a563461033de10e1a2633f26969ca97947e8db628a50f9d -lHSdata-default-class-0.1.2.0-5c0e1b43c8299caa99a50773e1f4a0e1adb8887fbcb8131a82bc4ef9d4b9f13d -lHSmatrix-0.3.6.3-f3f5a075e29810e884b15dfa2e0150f0645a0fc7f638baeff3e8362d89c19518 -lHSloop-0.3.0-d88ffc61282f6b41f4efd3e26979fb5dd8be60941be8355c27152e067fa191c1 -lHSlens-5.2.3-b4dca3ff3cc8c706a97847f8608c8688504b240607f09ac6c768d404f58f0c20 -lHSkan-extensions-5.2.5-21ccbc0205c83db218e3ea62812d048bb36516fc4fa79e9340ec51ceae075351 -lHSinvariant-0.6.2-604b6f28b872ebdfbbe8ab139df6b2330e5f10273903d9b74d0906472317a3c5 -lHSadjunctions-4.4.2-009b046c6a460a9987c0fe6d4cede557850c4f2b622dccac5c0be76e09dee155 -lHSvoid-0.7.3-d94546b220f98856f3b952037a8ced59eeb2561efaf978b88ab7bfb04e28e69d -lHScall-stack-0.4.0-99c99225a3a2549fbde9205528d058b5dc6d6061c1d029893decf2078b516540 -lHSkeys-3.12.3-80331c1e5a0900b85cd925b090d4be6edd3268c03ae62cc43311c9b56227f425 -lHSsemigroups-0.20-433fa4ea165918f07c69e4c6dbfe87f4963f75b93f0a124a72a5b17be0505795 -lHSfree-5.2-01bb8a61bfcf52d09512ed8029f4709cda9f99ffac177277dfc29fae697cb3ed -lHStransformers-base-0.4.6-d1b31c6625064809c8ab473833302c5d0eb4750004faad2d6ecb9b40c2cb08ae -lHSmmark-0.0.7.6-f0d7a30f192e6a6f9bf265ffec4f2e40edf48c7a1210cec9bc8fcedaf5f4cf42 -lHSyaml-0.11.11.2-d94c79ab18b84c59e53e73a5e31a1ba1a711f25768640f2452868f0e753c0ddb -lHSlibyaml-0.1.4-fe3cc56e711985416fd203a5940a49aaafa1550fe9acf3fd883f54dbe1470f95 -lHSlibyaml-clib-0.2.5-fff58eb26dc021cd0949644bf8d2d1e2a25817f943bd6ad180c552278a274d99 -lHSconduit-1.3.5-b0261fe83cb8d18d96e4406f524712c9abe03c0d76955f18b9a41eb3735137b5 -lHSresourcet-1.3.0-bc513d8b036d9192eb8254a59c5ecc1ac62a0cacb7215951095cd70262c84194 -lHSmono-traversable-1.0.17.0-d11dc60575166ae0c6e24566b2e54c303c73999ea8637f96fb7eea54d7806e40 -lHSvector-algorithms-0.9.0.1-25d1d87a515ec667881a5b55a37ecaddc33f73dc6b99c2f8de4795d37113083b -lHStext-metrics-0.3.2-3a570e6e1bdcc01b6a273b45b92617dacb550a6a8ff64b176549bd03d3c8dfd9 -lHSmodern-uri-0.3.6.1-09f4a2a5835da6cb4c33b3e3f0a1f5adf73780cc192628b94da38fe4165e39ae -lHSreflection-2.1.7-39deb79fe52241cc499b49172e0d7a07d68f6ad1c9d472f3b7698ac0de778ef3 -lHSmicrolens-th-0.4.3.14-57431124cf516db9640522c6ebdc05fe856777d786bfcde7a396d6e4cfd3aa3a -lHSmicrolens-0.4.13.1-7ecacbc77e9a9c2eb73258db30d8c59efa2c7fcd8d493419f34bf105edce5934 -lHSmegaparsec-9.6.1-8250b6748d335e93b30097ca7c84f48ca6314004010ab5d0f45c541b8b742427 -lHSparser-combinators-1.3.0-2001cdbbdd4e42f0073204441050a8fafe6693531a404ba1f7ccb503a29c9e96 -lHSlucid-2.11.20230408-4138c9d2c50a6792d42ed48f00b077b8cb2fbeb65edf2ef1ea409f57146b8acc -lHSblaze-builder-0.4.2.3-5bb60ad90b8e92a67fd002c65339763ef10aa190c00042f63061e697af6a46f1 -lHShtml-entity-map-0.1.0.0-eda09169ccfde47e573785ba6fabb6562933894b326c33175bddc1aee7b20df3 -lHSfoldl-1.4.16-ff63c7e8c1cedf48f2670e40b3310727a533b9595f29f864ed502621f0579de1 -lHSprofunctors-5.6.2-842c805864d8ce95639ee8088b1a96084fa2731f6e7ce38d34f960c7e02b8661 -lHSemail-validate-2.3.2.20-66bb6773c17f7b0329d309dacf52116f18adbd62425d8303cc401b1133e2bd49 -lHSaeson-2.2.1.0-8befb79d0d106f1d4c60c5b20aedfdf64f5eda1783b800809dcecdcb33e712d5 -lHSwitherable-0.4.2-b53f864bb77e2282548f63dc267ffb4ae21f0f65c5ae7e69c74904ccbfd528e6 -lHStext-iso8601-0.1-aac844663b2d31becc08aa07b88b9b29f861171c9f90fd847b6d7da7dabfb00c -lHSsemialign-1.3-52ac0fbe2aeb663cb47f3b7eeb5701ee2b7fa92264a23b41e5f243ca04fc586c -lHSsemigroupoids-6.0.0.1-86c0b62329f9ac2dfe87fbbb5c8a3dc84243bd3f43dc9d001473f47e0abd3ed0 -lHScontravariant-1.5.5-32bf2fbeee28b9e8e4d1a40ba16df4bcda31f4efec746051a8ae489f35ab22fb -lHSStateVar-1.2.2-3be256fecd0c57e14cb78e136bf2e7c80b8d1d6dc33eb599da8dc39e802c1eef -lHSbifunctors-5.6.1-ab6cb543e37e5be9101a015f625bec8e6e6092baa43fa3b5dc7d04f9af18293a -lHScomonad-5.0.8-6f3d11816e42419daefa539d3466d9293c6f8e823801066e769556fc1685271e -lHSdistributive-0.6.2.1-10a3b641d8f398fc6e830221bfe36744b22985d3f5cf4dd5a25329fc553cde95 -lHSindexed-traversable-instances-0.1.1.2-f6645ef51e0bc1a0c55288ede1da4b4cc0b44d2527013e5c56e2a99ccf990130 -lHSnetwork-uri-2.6.4.2-6011520a1bf141d76d6a03a4d9eae3f578e0abc92671941c03ac57a94f8ec96f -lHSth-compat-0.1.4-ddfa68d85e6c624aa3dbbce8ea9f8ba7b402c2963b36de45fb8c7708637f05cb -lHSinteger-conversion-0.1.0.1-956dd66c19940f595754137f2ab1ffbe6374734494162328e7965b9148cf9c09 -lHSindexed-traversable-0.1.3-95e606a9cc39926b2fb8da2a5b2676650c294ec94dc4a4379e3937d19eef4042 -lHSgenerically-0.1.1-ee28e64e964fc0323cfc6306a0b6c655d60120a74c24f48718d4f97d3f70c6a4 -lHSunbounded-delays-0.1.1.1-4280607e4d240d535c11f8c54e57e61df1a44012f4bd962d728b9a43c7f026a0 -lHSfingertree-0.1.5.0-131d0b0b298131f2c6ea9ad081e2cfa0cc649029edc45a5efa9bf425ee5c0152 -lHSlogfloat-0.14.0-f194320452509c40111f2bef67943d1a776327d506c77ff48ce57c092fc50897 -lHSPHANE-evaluation-0.1.0-2e429c55d9cb0ac90d219d9942adb8bdb31b298bff29e2b6235ef70e0ab1b928 -lHSunliftio-0.2.25.0-659f8e2cdccb124175a8e79c216e75c5d4b7caef60197805ca65f2eaede21c2d -lHSsafe-exceptions-0.1.7.4-4ebbd0a99aa6b2f9714158becb9667579f3f646763529a0661da212c549c5e81 -lHSasync-2.2.5-aaf0327b1564b4aba95159e470fd38dbf8c8eedbe144ea06620e7c74e5d123da -lHSrandom-shuffle-0.0.4-36e5d58d479af0151bdcbb826cc7df94009ecd10e15bc5353953f47127a80a4a -lHSQuickCheck-GenT-0.2.2.1-0313bf034b771b4f18f837ff2bffb7a288aa922a0d64448470f87b17da73e398 -lHSmmorph-1.2.0-b45ff2680fdce77ec2bcb176a68105984ef1027d6e4f565c76b2dc05db4c6f83 -lHSPHANE-evaluation-0.1.0-l-result-efbd4bd08610ffcad07d5ae499903f187f3fd093b2a38abaf8026a3f1c37477c -lHStext-builder-linear-0.1.2-d15499532d43bd462b4434a7a15118f78c2433c2cb717f99c8ae9288a4177da7 -lHSquote-quot-0.2.1.0-8c074ed9653c32399fb275f7f2ad3d75c77d1b7459845a8506d7920455fe43a1 -lHSquickcheck-instances-0.3.30-76dfdf6a921936b8b49d449368ed6b72089b0ea7c7523095ec02e0b439e2cd96 -lHSuuid-types-1.0.5.1-96f4ab439a2ade32174fe3c4847d3c4a841a8ca812947d2682b0d12b16ceba3e -lHSunordered-containers-0.2.20-9bd3dd75181ca839210ba79d192953b66874fc0c66e13ca6eb71b496d371acb1 -lHStime-compat-1.9.6.1-7a82772002738dcc84d179824eba6c61b1dfec19169b0a9f952bf49ea0d1d5f0 -lHSbase-orphans-0.9.1-4ff2811d4947467a1c993a95d8e3734ff881e08fa8d4418bbf410dfd3b524f61 -lHStext-short-0.1.5-e2e846f1f09be81b4602dcfbf33b46b972b1b5780c4b44e4cece84335faf27b9 -lHSstrict-0.5-147de9c8aecb7c5af21f41d618ef67be1afe6bb2c48632ec6d98d0da34146c85 -lHSthese-1.2-cefda0a70a6c15c2df268520621ea2ddf98cc25c56c2510453d84eb218627e0a -lHSassoc-1.1-0d0dacad358cd6dcd8cf5a0d0a52494aec3f2c7d245fa5338a2539dea7fb5c95 -lHStagged-0.8.8-48ae4460345ce738e542e6d0c46d3265536a7ecb6228e86f6d9b4566e8f5029d -lHSdata-fix-0.3.2-2c09420051677ef7bea1fb4bffb035ecd89862766412bfdd1feb7db6197f5d04 -lHScase-insensitive-1.2.1.0-b3d8e67d93badbaf9be944b078af50674d9ddbaf382117f10c7da1106944eafc -lHSOneTuple-0.4.1.1-271841e54034f1c5a4b69dda2bcac28324300c76fdb3aeeb7ae402f1fa74ea89 -lHSfile-embed-0.0.16.0-af8d4076932d1314dd1c4ea82f78dcf156bdb8dfefad3c7e9679146381e7b444 -lHSencode-string-0.1.0.0-45f1c815e706e90d21926e966bca216dc54cb47f7f9b3b487dfa44e768f87a4f -lHSth-lift-instances-0.1.20-f9236a9145e60a4bcaeb295601b2bdd57b1857aaf24ec8542d89d3fe42610845 -lHSth-lift-0.8.4-434cda8f59eeb4133f3487357e15f98fd32f1a2aac62d792002df65370df6273 -lHSth-abstraction-0.6.0.0-5aa19f6979ac1301fc167208e35578130c94638237693bb8abbf4a99aba22adf -lHSgitrev-1.3.1-4eb1bc6f330f4c5c2102460f59ea7cd072554a98557168f4ce17e5ddb44edd77 -lHSunliftio-core-0.2.1.0-ee8834331f87a686edc6b072ed331f51b7f0c1b89669540d8bdf346f3f00b70d -lHSMonadRandom-0.6-5bff522e25f5a5156e56b4cb31f407a603dfd8474721e94cd4cb4e92ec5e56a0 -lHSPHANE-dynamic-character-0.1.0-l-core-5417cd5a35a6d5fb7b7c499c451d9bd18ff21100a50aceb2a4322e0f3af506c1 -lHSmonad-loops-0.4.3-adf67481ae46e3f990ab25d61c909154ab1feef35d4f220227e501d40f1749d3 -lHSMissingH-1.6.0.1-ce6febc5a32f5209e67580573750f133b9d71038dc546824e81ccd4576c1948f -lHSregex-compat-0.95.2.1-678f4a6f654677003c2d6cb12951031028f8549a69f963280b2bcbe0e404222d -lHSregex-posix-0.96.0.1-09bf6204202b01ab8017870c8a6b82a19b01de047dfc7dd8814b035b39d4e34d -lHSregex-base-0.94.0.2-97972b35fd301aa76cbd54c102627cbda4652c6a235dbc2159ff78641f13374f -lHSparsec-3.1.16.1-7a99 -lHSold-time-1.1.0.4-45c303b9b4fcef7cb87347454164fdde9e92b84a981cbbc5c6ccf1551addc337 -lHShslogger-1.3.1.0-37aae41ec7ad718b8d6732b2c191a2a1ec01d93436ae3694d3890d8ec9c4e6b9 -lHSold-locale-1.0.0.7-8f48608228de8769f88a0f5f216197a62f37df059327aa8f5cc8a441e2d03b9b -lHSnetwork-bsd-2.8.1.0-0bed7ea7b41bc6e29e1e594982632d0c2441969dc5710bf4cb1ec35b6640bb4e -lHSnetwork-3.1.4.0-2e852c263a71fdb4634a494c7c64a01f028737be30d7eafa48354b914dd63ba9 -lHSinflist-0.0.1-4702c17a69cab6eb0304e406f6cd04aa2d732306a25ce26d6bd5b8973d35d9a4 -lHSQuickCheck-2.14.3-7361a2a5fcfca6327ecf98169d6de62d4022891eb983e4aa4ef86c86d551a16c -lHSPHANE-PhyloLib-0.1.0-0ecff0762185545d099be07c6b1a300a9029638b9771d74b61940b5bad38ecb9 -lHSsort-1.0.0.0-071d8c7c237807d6a1c6cba384384ee3c9e50b0bcbc583f659dfdb68ee335b9b -lHSparallel-3.2.2.0-6b03a2d48793f9d78ee5fa4d135eb3ae3152e2e8cfae16ac39153cb6560820de -lHSgraphviz-2999.20.2.0-001619552d5ae6e973768f7a50f5bfbc41172d52d2f7a95f63aa3ff5beea43b4 -lHSwl-pprint-text-1.2.0.2-d35a32b242bbadcc2907884759589a583717dde5fb6e79ac3c3891a3108a2cf6 -lHSbase-compat-0.13.1-f8da63fc026603e83d0e439e3abb40ada687e7f7a5601b45eae1e206daa894d9 -lHStemporary-1.3-d96a437ad3748af0523521a3c37c665156e8d2907a9277c8f274eac811307a95 -lHSrandom-1.2.1.2-169527d7b513727e30f59486dbd5feea96dd7530665e6ef38c4d9b81fc1f5f04 -lHSsplitmix-0.1.0.5-258c37948587547443795f4877180c2ae7d800482e38af1a9803e808993aa962 -lHSpolyparse-1.13-69b29990d8978f614f7903de39d7d5a1bf1f884792039c19c48e7fb9257ddad3 -lHSdlist-1.0-9c644bd7106b4fabceb49ddfa405280251f24ddc90bc1def7b85e7b4d9987525 -lHSbv-little-1.3.2-84c7e70393d54bc2aaa815bc88b19c1c75fd1cd192a32421f3864a5774098646 -lHSbv-little-1.3.2-l-core-56c05e3401b513743e941fcde029877a031d48e365d19a351dd65e954c1f65d3 -lHSbv-0.5-8539d98d6802c0ed85cf7aec0e8b0c11029d8ca42a765b2e9b36d7289665cc4c -lHSinteger-gmp-1.1-060f -lHSPHANE-dynamic-character-element-0.1.0-40c01af5b8f4ec8b04384d1b84f7cf6d74e8952932c48542df99f1706a7ae4f1 -lHSPHANE-dynamic-character-element-0.1.0-l-core-a3e6a8d26264734aac1b148b0c1769950837ed78b7b747db079edc69f3efcbb5 -lHSbitvec-1.1.5.0-87285043749926a6da7a702129f184fa40e5133f06dd40c0f2c5bce250d1be28 -lHSPHANE-alphabet-0.1.0-91c3a224f8fcd2686217c4cab65da0e4f17d71ab1976f424073f8e7f5f57f8da -lHSbimap-0.5.0-24c2e4a64e68f06564d3f245d7a1e60537be56861fd63f4f86ecd7b56865ee98 -lHSPHANE-alphabet-0.1.0-l-core-63d2ac0998c007b972b5701b9350da6aed3082d56b3147a2200f16e31928cc71 -lHSPHANE-measure-units-0.1.0-e8db44473454fb9e34ae190aaff84fba263e3a7ca83ebeb695bb49f6a7065cbe -lHSvector-0.13.1.0-8dd3acf28f4218c732ff7446a937c02a168b6ca0b458ca8c8b06cdcb1ef5a26a -lHSvector-stream-0.1.0.1-43d7326a2f5d1e129a86650285b4f59f852b604eb7f2233a852a995420bfcdb1 -lHSfgl-5.8.2.0-338e107736ed8ad2fdb1d41acf12f9308fc8cb11ae7df4f66eed5b969e49e92c -lHSzlib-0.7.0.0-04c483d310d80e111950b59b78d4281a51930682650d883416bed3e37ad31d56 -lHSsplit-0.2.5-d67e7d971a4a42223615f63130b314ad39aa543d4f0742bea300aea40ceb614b -lHScpuinfo-0.1.0.2-d63e4c0f4ca355594d6dcc62cf674ecc89d401977c763b3ab3ad64112af81b86 -lHSattoparsec-0.14.4-16af435b2e647346c1d6d6624f6db0253c14dc40632c84c2a6f61d27cf5e6864 -lHSscientific-0.3.7.0-1f28a550478c91ad5535a24e7b02e945fbaeaddf6a2dc81d9cf4691e5138cc53 -lHSprimitive-0.9.0.0-74b0b78a7155a064dc1f301b8e4c1698fe756ec1ec838f99f56e29560368dd8a -lHSinteger-logarithms-1.0.3.1-48eaa839fa97ec6253f87b64aea58f20e3707f927b5636a657cd14ebd7a1508c -lHShashable-1.4.3.0-63fb114e80737ed55c49027500ebb252862b286bfa670d2c3ee8fcbfa71c3209 -lHSattoparsec-0.14.4-l-attoparsec-internal-8f6e0f908499a00fdfbe9ca5f6c99353ec0c0f95e3e309f44a1501ec7cbcb9f2 -lHSoptparse-applicative-0.18.1.0-7a2d25360e9a1524a9087b047f4fde0f0786d3c4ccd59992096fccc029a7bc56 -lHStransformers-compat-0.7.2-5b684c55afc805ea0e07a0ea47c141a9ec569c95a0449b6a4d9e2497e9126d40 -lHSprocess-1.6.18.0-31b02aa9b98b46bda2995b158752605ee4e5d58a729c9cfbed03a0d0c8cd9c1f -lHSdirectory-1.3.8.1-107b22c0e7ebbe3c8d544fbc68f0a9d6f3b9c030ab746efcb44ac3dad04233b9 -lHSunix-2.8.5.0-ff79bc3b37242ff9c4f6c3743c0c38a3c346dd95478cd31574319b213226e237 -lHSfilepath-1.4.300.1-e13738987058f2bc651531b5174e7137f3721b7d252227bf692a2210e4552bc3 -lHSexceptions-0.10.7-5fa6 -lHSstm-2.5.3.0-f23a -lHSmtl-2.3.1-a73e -lHStransformers-0.6.1.1-c378 -lHSprettyprinter-ansi-terminal-1.1.3-f6ccc3e953bd6e7f36c2612bcf635a501d22edc1ca5a22a8a9ea8ee1afa92b39 -lHSansi-terminal-1.1-bbc3bc4bac4723d9f39112568c226d83a33f83335996810f69004319b911c803 -lHSansi-terminal-types-1.1-856077d4de8b5f226274a9d4f123cf3d02df68d7d26402416ec90c93bd4b1469 -lHScolour-2.3.6-bf4351fb8f3e089bffe64d7480284caa3dbd7194642175a49797978e61469fad -lHSprettyprinter-1.7.1-f2f04d58e9ef6102321faae325eddcddc9fe88363e796f98ff490957de19557a -lHStime-1.12.2-c238 -lHStext-2.1.1-7204 -lHSbinary-0.8.9.1-0ced -lHScontainers-0.7-08af -lHSbytestring-0.12.1.0-315d -lHStemplate-haskell-2.22.0.0-7b8f -lHSpretty-1.1.3.6-dd28 -lHSghc-boot-th-9.10.0.20240313-c8d6 -lHSdeepseq-1.5.0.0-b3b5 -lHSarray-0.5.6.0-4317 -lHSbase-4.20.0.0-9d65 -lHSghc-internal-9.1001.0-1dbd -lHSghc-bignum-1.3-cfac -lHSghc-prim-0.11.0-3fe2 -lHSrts-1.0.2_thr -lCffi -lm -lz -lgmp -lc -lm -lc -lm -lrt -ldl -lpthread
/home/ward/.cabal/store/ghc-9.10.0.20240313/atomic-primops-0.8.5-d1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7/lib/libHSatomic-primops-0.8.5-d1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7.a(Atomics.o):function atomiczmprimopszm0zi8zi5zmd1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7_DataziAtomics_storeLoadBarrier_info: error: undefined reference to 'hs_atomics_primops_store_load_barrier'
/home/ward/.cabal/store/ghc-9.10.0.20240313/atomic-primops-0.8.5-d1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7/lib/libHSatomic-primops-0.8.5-d1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7.a(Atomics.o):function atomiczmprimopszm0zi8zi5zmd1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7_DataziAtomics_loadLoadBarrier_info: error: undefined reference to 'hs_atomics_primops_load_load_barrier'
/home/ward/.cabal/store/ghc-9.10.0.20240313/atomic-primops-0.8.5-d1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7/lib/libHSatomic-primops-0.8.5-d1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7.a(Atomics.o):function atomiczmprimopszm0zi8zi5zmd1604ef4633b9dc0d9510d5197661c6cc9d8094e8ce28d7e8557fd7209aa86a7_DataziAtomics_writeBarrier_info: error: undefined reference to 'hs_atomics_primops_write_barrier'
collect2: error: ld returned 1 exit status
ghc-9.10.0.20240313: `gcc' failed in phase `Linker'. (Exit code: 1)
HasCallStack backtrace:
collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO
throwIO, called at libraries/exceptions/src/Control/Monad/Catch.hs:371:12 in exceptions-0.10.7-5fa6:Control.Monad.Catch
throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:860:84 in exceptions-0.10.7-5fa6:Control.Monad.Catch
onException, called at compiler/GHC/Driver/Make.hs:2974:23 in ghc-9.10.0.20240313-97aa:GHC.Driver.Make
*** Deleting temp files:
Deleting: /tmp/ghc2756050_0/ghc_19.c /tmp/ghc2756050_0/ghc_2.h /tmp/ghc2756050_0/ghc_21.rsp /tmp/ghc2756050_0/ghc_22.s /tmp/ghc2756050_0/ghc_24.rsp /tmp/ghc2756050_0/ghc_25.rsp /tmp/ghc2756050_0/ghc_4.h /tmp/ghc2756050_0/ghc_6.h /tmp/ghc2756050_0/ghc_1.hscpp /tmp/ghc2756050_0/ghc_20.o /tmp/ghc2756050_0/ghc_23.o /tmp/ghc2756050_0/ghc_3.hscpp /tmp/ghc2756050_0/ghc_5.hscpp /tmp/ghc2756050_0/libghc_11.so /tmp/ghc2756050_0/libghc_13.so
*** Deleting temp subdirs:
Deleting:
*** Deleting temp dirs:
Deleting: /tmp/ghc2756050_0
Error: cabal: Failed to build exe:phyg from PhyG-0.1.4.
```
## Expected behavior
The executable builds without linking errors, as it does with GHC-9.8.2.
## Environment
* GHC version used:
```bash
$ ghc-9.10.0.20240313 --version
The Glorious Glasgow Haskell Compilation System, version 9.10.0.20240313
```
* Operating System:
```bash
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
```
* System Architecture:
```bash
$ uname -m
x86_64
```
* Cabal version used:
```bash
$ cabal --version
cabal-install version 3.10.2.1
compiled using version 3.10.2.1 of the Cabal library
```
* Linker version used:
```bash
$ ld -v
GNU ld (GNU Binutils for Ubuntu) 2.38
```
* C Compiler version used:
```bash
$ cc -v
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.1.0-8ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2,rust --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-IvzKaI/gcc-13-13.1.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-IvzKaI/gcc-13-13.1.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.1.0 (Ubuntu 13.1.0-8ubuntu1~22.04)
```https://gitlab.haskell.org/ghc/ghc/-/issues/24588ghc-toolchain and configure disagree on whether windres exists2024-03-27T01:37:22ZArsen Arsenovićghc-toolchain and configure disagree on whether windres exists## Summary
Please read the guidance in [https://gitlab.haskell.org/ghc/ghc/-/wikis/report-a-bug] and write a brief description of the issue.
## Steps to reproduce
1. clone ghc
2. ./boot && ./configure
3. see the following:
```
For mo...## Summary
Please read the guidance in [https://gitlab.haskell.org/ghc/ghc/-/wikis/report-a-bug] and write a brief description of the issue.
## Steps to reproduce
1. clone ghc
2. ./boot && ./configure
3. see the following:
```
For more information on how to configure your GHC build, see
https://gitlab.haskell.org/ghc/ghc/-/wikis/building/hadrian
configure: WARNING:
There are some differences between the toolchain configured by "configure" (hadrian/cfg/default.target) and the toolchain configured by the "ghc-toolchain" program (hadrian/cfg/default.target.ghc-toolchain).
39c39
< , tgtWindres = Just Program { prgPath = "/usr/bin/windres" , prgFlags = [] }
---
> , tgtWindres = Nothing
Don't worry! This won't affect your ghc in any way.
However, in a near future, we will move to configuring toolchains with "ghc-toolchain" by default, so you might have discovered a future bug.
In light of it, if you've spotted this difference, please report a GHC bug at https://www.haskell.org/ghc/reportabug
```
currently narrowing down what triggered the difference..
## Expected behavior
no diff between toolchain and configure
## Environment
* GHC version used: HEAD (host has The Glorious Glasgow Haskell Compilation System, version 9.6.4)
Optional:
* Operating System: Gentoo GNU/Linux
* System Architecture: x86-649.10.1Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/24597GHC 9.6.4 is shipped with deprecated filepath2024-03-27T01:35:44Zkazu-yamamotoGHC 9.6.4 is shipped with deprecated filepath## Summary
GHC 9.6.4 is shipped with "filepath" 1.4.200.1 which is deprecated according to Hackage.
This results in a dependency hell.
GHC 9.6.5 should provide "filepath" 1.4.300.1.## Summary
GHC 9.6.4 is shipped with "filepath" 1.4.200.1 which is deprecated according to Hackage.
This results in a dependency hell.
GHC 9.6.5 should provide "filepath" 1.4.300.1.9.6.5ZubinZubinhttps://gitlab.haskell.org/ghc/ghc/-/issues/24300`ConstPtr`'s name is misleading. Along with missing `T const *`type2024-03-27T00:59:52ZLemon`ConstPtr`'s name is misleading. Along with missing `T const *`type<!--
READ THIS FIRST: If the feature you are proposing changes the language that GHC accepts
or adds any warnings to `-Wall`, it should be written as a [GHC Proposal](https://github.com/ghc-proposals/ghc-proposals/).
Other features, appr...<!--
READ THIS FIRST: If the feature you are proposing changes the language that GHC accepts
or adds any warnings to `-Wall`, it should be written as a [GHC Proposal](https://github.com/ghc-proposals/ghc-proposals/).
Other features, appropriate for a GitLab feature request, include GHC API/plugin
innovations, new low-impact compiler flags, or other similar additions to GHC.
-->
## Motivation
`ConstPtr`'s name has tripped me up many times, `ConstPtr`'s name seems like it should be a `T * const` in C while in reality it's a `const T *`.
## Proposal
With this issue I propose repurposing `ConstPtr` to be `T * const` instead and adding `Const` or some similar named type to fill the role of `const T`. Along with this we can remove GHC treating const pointers and normal pointers as interchangeable because they're not.https://gitlab.haskell.org/ghc/ghc/-/issues/22210libHSdirectory-1.3.7.1-ghc9.5.20220824.so: undefined reference to unixzm2zi7z...2024-03-26T22:12:40ZGreg SteucklibHSdirectory-1.3.7.1-ghc9.5.20220824.so: undefined reference to unixzm2zi7zi2zi2_*## Summary
Build fails on OpenBSD with:
```
===> Command failed with error code: 1
ld.lld: error: .../x86_64-openbsd-ghc-9.5.20220824/libHSdirectory-1.3.7.1-ghc9.5.20220824.so: undefined reference to unixzm2zi7zi2zi2_SystemziPosixziFile...## Summary
Build fails on OpenBSD with:
```
===> Command failed with error code: 1
ld.lld: error: .../x86_64-openbsd-ghc-9.5.20220824/libHSdirectory-1.3.7.1-ghc9.5.20220824.so: undefined reference to unixzm2zi7zi2zi2_SystemziPosixziFiles_setFileMode1_info [--no-allow-shlib-undefined]
ld.lld: error: .../x86_64-openbsd-ghc-9.5.20220824/libHSdirectory-1.3.7.1-ghc9.5.20220824.so: undefined reference to unixzm2zi7zi2zi2_SystemziPosixziFiles_setFileMode1_closure [--no-allow-shlib-undefined]
...
ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
`clang' failed in phase `Linker'. (Exit code: 1)
Error when running Shake build system:
at action, called at src/Rules.hs:38:19 in main:Rules
at need, called at src/Rules.hs:60:5 in main:Rules
* Depends on: _validatebuild/stage1/bin/hpc
at cmd', called at src/Builder.hs:386:23 in main:Builder
at cmdArgs, called at src/Builder.hs:539:8 in main:Builder
at cmdArgs, called at src/Builder.hs:563:18 in main:Builder
at cmdArgs, called at src/Builder.hs:563:18 in main:Builder
at error, called at src/Builder.hs:608:13 in main:Builder
* Raised the exception:
Command failed
Build failed.
```
The problem is bisected to 112e4f9c9c299b460e37a60d8f8d8693aa6ab06a, the same build works at b929063ec5.
FYI @TerrorJack
## Steps to reproduce
On OpenBSD:
```
AUTOCONF_VERSION=2.71 AUTOMAKE_VERSION=1.16 \
config_args='--with-ffi-includes=/usr/local/include
--with-ffi-libraries=/usr/local/lib
--with-gmp-includes=/usr/local/include
--with-gmp-libraries=/usr/local/lib
--with-iconv-includes=/usr/local/include
--with-iconv-libraries=/usr/local/lib
--with-system-libffi ' \
./validate --fast "$@"
```
## Expected behavior
Build working GHC.
## Environment
* GHC version used: 9.2.4
Optional:
* Operating System: OpenBSD
* System Architecture: amd649.6.1https://gitlab.haskell.org/ghc/ghc/-/issues/24591Arity analysis fails badly2024-03-26T20:12:32ZSimon Peyton JonesArity analysis fails badlyHere's an interesting program, derived from the implementation of
`coVarsOfType` in GHC.Core.TyCo.FVs. It came up @Mikolaj's MR !12037, where the bug
described below made GHC allocate **six times as much** to compile the same program. ...Here's an interesting program, derived from the implementation of
`coVarsOfType` in GHC.Core.TyCo.FVs. It came up @Mikolaj's MR !12037, where the bug
described below made GHC allocate **six times as much** to compile the same program. Six times!
Here's the issue.
```haskell
module Foo where
import Data.List
import Data.Monoid
data Type = Tv Int | Tc [Type]
foldTyCo :: Monoid a => (Int -> a) -> Type -> a
{-# INLINE foldTyCo #-}
foldTyCo do_tv = go
where
go (Tv x) = do_tv x
----------------- foldl version --------------
go (Tc tys) = foldl (\ acc ty -> acc `mappend` go ty) mempty tys
----------------- foldr version --------------
-- go (Tc tys) = foldr (\t acc -> go t `mappend` acc) mempty tys
----------------- Explicit version --------------
-- go (Tc tys) = go_tys tys
-- go_tys [] = mempty
-- go_tys (t:ts) = go t `mappend` go_tys ts
free_tvs :: Type -> [Int]
free_tvs ty = appEndo (foldTyCo f ty) []
where
f :: Int -> Endo [Int]
f x = Endo (\xs -> x:xs)
```
Reminder:
* `foldTyCo` is specialised (by inlining) at every call site.
* In this case `free_tvs` specialises it at `Endo [Int]`.
* `newtype Endo = Endo (a->a)`; so `free_tvs` has an accumulating parameter.
We expect to get nice code like this:
```
Foo.free_tvs1 [Occ=LoopBreaker] :: [Type] -> [Int] -> [Int]
[GblId, Arity=2, Str=<1L><ML>, Unf=OtherCon []]
Foo.free_tvs1
= \ (ds_a1ez :: [Type]) (eta_X2 [OS=OneShot] :: [Int]) ->
case ds_a1ez of {
[] -> eta_X2;
: y_a1eC ys_a1eD ->
case y_a1eC of {
Tv x_aBb -> GHC.Types.: @Int x_aBb (Foo.free_tvs1 ys_a1eD eta_X2);
Tc tys_aBc -> Foo.free_tvs1 tys_aBc (Foo.free_tvs1 ys_a1eD eta_X2)
}
}
```
And we do get this code with
* The `Explicit version` which uses explicit recursion.
* The `foldr version` which uses foldr.
But with the "foldl version" we get
```
go1_r1f2 :: [Type] -> Endo [Int] -> Endo [Int]
[GblId[StrictWorker([!])], Arity=2, Str=<1L><L>, Unf=OtherCon []]
go1_r1f2
= \ (ds_a1eC :: [Type]) (eta_B0 [OS=OneShot] :: Endo [Int]) ->
case ds_a1eC of {
[] -> eta_B0;
: y_a1eF ys_a1eG ->
go1_r1f2
ys_a1eG
(let {
g_s1eq [Dmd=LC(S,L)] :: Endo [Int]
[LclId]
g_s1eq = Foo.free_tvs_go y_a1eF } in
(\ (x_a1ej :: [Int]) ->
(eta_B0
`cast` (base:Data.Semigroup.Internal.N:Endo[0] <[Int]>_R
:: Endo [Int] ~R# ([Int] -> [Int])))
((g_s1eq
`cast` (base:Data.Semigroup.Internal.N:Endo[0] <[Int]>_R
:: Endo [Int] ~R# ([Int] -> [Int])))
x_a1ej))
`cast` (Sym (base:Data.Semigroup.Internal.N:Endo[0] <[Int]>_R)
:: ([Int] -> [Int]) ~R# Endo [Int])) }
Foo.free_tvs_go [Occ=LoopBreaker] :: Type -> Endo [Int]
[GblId, Arity=1, Str=<1L>, Unf=OtherCon []]
Foo.free_tvs_go
= \ (ds_dVv :: Type) ->
case ds_dVv of {
Tv x_aB5 ->
(\ (xs_aRa :: [Int]) -> GHC.Types.: @Int x_aB5 xs_aRa)
`cast` (Sym (base:Data.Semigroup.Internal.N:Endo[0] <[Int]>_R)
:: ([Int] -> [Int]) ~R# Endo [Int]);
Tc tys_aB6 ->
go1_r1f2
tys_aB6
((id @[Int])
`cast` (Sym (base:Data.Semigroup.Internal.N:Endo[0] <[Int]>_R)
:: ([Int] -> [Int]) ~R# Endo [Int])) }
```
This is very bad. Two mutually-recursive functions, with higher order arguments. No no no.
A heavy cost for switching from `foldr` to `foldl`.
Reminder: not only are we using higher order stuff in the form of `Endo`, but also `foldl` is implemented in terms of `foldr`. See
this in `GHC.Internal.List`:
```
foldl k z0 xs =
foldr (\(v::a) (fn::b->b) -> oneShot (\(z::b) -> fn (k z v))) (id :: b -> b) xs z0
-- See Note [Left folds via right fold]
{-
Note [Left folds via right fold]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
```
## Diagnosis
At an earlier stage in the pipeline we have
```
go_s1em [Occ=LoopBreaker] :: Type -> Endo [Int]
go_s1em
= \ (ds_dVv :: Type) ->
case ds_dVv of {
Tv x_aB6 ->
(\ (xs_aRa :: [Int]) -> GHC.Types.: @Int x_aB6 xs_aRa)
`cast` <Co:4> :: ([Int] -> [Int]) ~R# Endo [Int];
Tc tys_aB7 ->
letrec {
go1_a1et [Occ=LoopBreaker] :: [Type] -> Endo [Int]
go1_a1et
= \ (ds_a1eu :: [Type]) ->
case ds_a1eu of {
[] -> (id @[Int]) `cast` <Co:4> :: ([Int] -> [Int]) ~R# Endo [Int];
: y_a1ex ys_a1ey ->
(let {
f_s1ei :: Endo [Int]
f_s1ei = go_s1em y_a1ex } in
let {
acc_aLK [OS=OneShot] :: Endo [Int]
acc_aLK = go1_a1et ys_a1ey } in
\ (x_a1e9 :: [Int]) ->
(f_s1ei `cast` <Co:3> :: Endo [Int] ~R# ([Int] -> [Int]))
((acc_aLK `cast` <Co:3> :: Endo [Int] ~R# ([Int] -> [Int]))
x_a1e9))
`cast` <Co:4> :: ([Int] -> [Int]) ~R# Endo [Int]
}; } in
go1_a1et tys_aB7
}
```
We want to eta-expand `go_s1em` and `go1_a1et`; then all would be well. And indeed, if we
hypothesis that both have arity 2, we can indeed eta-expand. But `GHC.Core.Opt.Arity.findRhsArity`
only works on **self-recursive** functions; it is defeated by nested mutual recursion like
the example above. And apparently Call Arity analysis is defeated too.
Mabye @sgraf812's new plan will catch this.
Meanwhile, this ticket just serves to immortalise the missed opportunity.Sebastian GrafSimon Peyton JonesSebastian Graf