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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

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

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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

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

Sebastian Graf
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 <[hidden email]>:
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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

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

Sebastian Graf
Oh, nevermind. See the comments on https://gitlab.haskell.org/ghc/ghc/-/commit/fc644b1a643128041cfec25db84e417851e28bab. Apparently, master really is broken in devel2 flavour!

Am Mi., 25. Nov. 2020 um 10:38 Uhr schrieb Sebastian Graf <[hidden email]>:
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 <[hidden email]>:
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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

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

Roland Senn
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/fc644b1a643128041cfec25db84e417851e28bab. Apparently, master really is broken in devel2 flavour!



_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs