Hadrian: Error "cannot find -lHSrts-1.0_thr_l" when linking ghc executable.

Roland Senn rsx at bluewin.ch
Wed Nov 25 09:33:04 UTC 2020


Hi there!

I have two GHC trees. One is called ghcdebug and is a little bit
outdated (16. September 2020). In this tree, I can work normally:
Change code, compile and run the resulting GHC compiler. 

The second tree is up-to-date! Compiling works fine, however the linker
steps for the ghc executable fails. When I restart the failing link
step, I get the following error:

$ hadrian/build --flavour=devel2 --freeze1 -j2 stage2:exe:ghc-bin
Up to date
| Run Ghc LinkHs Stage1: _build/stage1/ghc/build/c/hschooks.o (and 7
more) => _build/stage1/bin/ghc
/usr/bin/ld.gold: error: cannot find -lHSrts-1.0_thr_l
_build/stage1/ghc/build/GHCi/Leak.o(.text+0xd5): error: undefined
reference to 'stg_upd_frame_info'
_build/stage1/ghc/build/GHCi/Leak.o(.text+0x1c2): error: undefined
reference to 'stg_upd_frame_info'
_build/stage1/ghc/build/GHCi/Leak.o(.text+0x1e6): error: undefined
reference to 'stg_ap_ppp_info'
              ...  and many many more lines with "error: undefined
reference to ..." 

I get the same error when I use a freshly cloned ghc tree. I also get
the error independently of the GHC version used to compile (8.8.3 or
8.10.2). I didn't modify any settings files.

I do:  
   hadrian/build clean
   hadrian/build --flavour=devel2 -j2

I'm using a normal x68_64 box with plain vanilla Linux Debian 10. No
Docker and no Nix.

The directory _build/stage/rts/build contains:

roland at goms:~/Projekte/ghc$ ls -all _build/stage1/rts/build/
insgesamt 19396
drwxr-xr-x 5 roland roland     4096 Nov 24 17:58 .
drwxr-xr-x 3 roland roland     4096 Nov 24 17:56 ..
drwxr-xr-x 2 roland roland     4096 Nov 24 17:56 autogen
drwxr-xr-x 7 roland roland    12288 Nov 24 17:58 c
drwxr-xr-x 2 roland roland     4096 Nov 24 17:58 cmm
-rw-r--r-- 1 roland roland    31349 Nov 24 17:58 DerivedConstants.h
-rw-r--r-- 1 roland roland    13764 Nov 24 17:57 ffi.h
-rw-r--r-- 1 roland roland     4343 Nov 24 17:57 ffitarget.h
-rw-r--r-- 1 roland roland    15128 Nov 24 17:58 ghcautoconf.h
-rw-r--r-- 1 roland roland      618 Nov 24 17:58 ghcplatform.h
-rw-r--r-- 1 roland roland      732 Nov 24 17:58 ghcversion.h
-rw-r--r-- 1 roland roland    82486 Nov 24 17:57 libCffi.a
lrwxrwxrwx 1 roland roland        9 Nov 24 17:57 libCffi_thr.a ->
libCffi.a
-rw-r--r-- 1 roland roland  9166966 Nov 24 17:58 libHSrts-1.0.a
-rw-r--r-- 1 roland roland 10490730 Nov 24 17:58 libHSrts-1.0_thr.a

Any ideas what's wrong or how to fix?

Many thanks and Cheers,
   Roland



More information about the ghc-devs mailing list