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

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@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

Hi Roland,
Since you mention an RTS variant with an _l suffix (for eventlog), I
suspect that you may have to (reboot? and) reconfigure after
https://gitlab.haskell.org/ghc/ghc/-/issues/18948 and
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4448.
Does that help?
Cheers,
Sebastian
Am Mi., 25. Nov. 2020 um 10:33 Uhr schrieb Roland Senn
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@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
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Oh, nevermind. See the comments on https://gitlab.haskell.org/ghc/ghc/-/commit/fc644b1a643128041cfec25db84e4178.... Apparently, master really is broken in devel2 flavour! Am Mi., 25. Nov. 2020 um 10:38 Uhr schrieb Sebastian Graf < sgraf1337@gmail.com>:
Hi Roland,
Since you mention an RTS variant with an _l suffix (for eventlog), I suspect that you may have to (reboot? and) reconfigure after https://gitlab.haskell.org/ghc/ghc/-/issues/18948 and https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4448.
Does that help?
Cheers, Sebastian
Am Mi., 25. Nov. 2020 um 10:33 Uhr schrieb Roland Senn
: 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@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
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Yes, this helped! Many many thanks to Sebastian!! Regards Roland Am Mittwoch, den 25.11.2020, 10:40 +0100 schrieb Sebastian Graf:
Oh, nevermind. See the comments on https://gitlab.haskell.org/ghc/ghc/-/commit/fc644b1a643128041cfec25db84e4178... . Apparently, master really is broken in devel2 flavour!
participants (2)
-
Roland Senn
-
Sebastian Graf