-Wmissed-extra-shared-lib complains about text using libstdc++ unclearly
Summary
The error is under-informative:
Loading unit text-2.0 ...
<no location info>: warning: [-Wmissed-extra-shared-lib]
File not found
It's OK if you don't want to use symbols from it directly.
(the package DLL is loaded by the system linker
which manages dependencies by itself).
linking ... done.
Steps to reproduce
$ printf ":set -package ghc\n" | ./inplace/bin/ghc-stage2 --interactive -v
Expected behavior
Should load without complaining or at least provide a more actionable complaint.
Environment
- GHC version used: 9.3
Optional:
- Operating System: OpenBSD 7.0
- System Architecture: amd64
More details
Loading unit hpc-0.6.1.0 ... linking ... done.
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'libstdc++.so'
!!! systool:linker: finished in 0.00 milliseconds, allocated 0.232 megabytes
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'liblibstdc++.so'
!!! systool:linker: finished in 10.00 milliseconds, allocated 0.235 megabytes
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'stdc++.lib'
!!! systool:linker: finished in 10.00 milliseconds, allocated 0.230 megabytes
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'libstdc++.lib'
!!! systool:linker: finished in 10.00 milliseconds, allocated 0.234 megabytes
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'libstdc++.dll.a'
!!! systool:linker: finished in 0.00 milliseconds, allocated 0.234 megabytes
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'stdc++.dll.a'
!!! systool:linker: finished in 10.00 milliseconds, allocated 0.232 megabytes
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'libstdc++.a'
!!! systool:linker: finished in 10.00 milliseconds, allocated 0.231 megabytes
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'stdc++.a'
!!! systool:linker: finished in 0.00 milliseconds, allocated 0.228 megabytes
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'libstdc++'
!!! systool:linker: finished in 0.00 milliseconds, allocated 0.229 megabytes
*** systool:linker:
*** gcc:
cc '--target=x86_64-unknown-openbsd' '--target=x86_64-unknown-openbsd' '-fuse-ld=lld' -Wl,-z,wxneeded -B/home/greg/s/ghc/libraries/text/dist-install/build --print-file-name 'stdc++'
!!! systool:linker: finished in 10.00 milliseconds, allocated 0.225 megabytes
Loading unit text-2.0 ...
<no location info>: warning: [-Wmissed-extra-shared-lib]
File not found
It's OK if you don't want to use symbols from it directly.
(the package DLL is loaded by the system linker
which manages dependencies by itself).
linking ... done.