Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

System library dependencies not documented #265

Open
andreasabel opened this issue Dec 5, 2022 · 3 comments
Open

System library dependencies not documented #265

andreasabel opened this issue Dec 5, 2022 · 3 comments

Comments

@andreasabel
Copy link
Member

andreasabel commented Dec 5, 2022

Which system libraries does unix depend on? This should be documented in:

  • README
  • Maybe also unix.cabal via a pkgconfig-depends?

Here is a broken CI run with GHC 9.4 and --enable-executable-static on ubuntu-22.04 that points to a missing library, but it is not apparent from unixs documentation which one:

/usr/local/.ghcup/ghc/9.4.3/lib/ghc-9.4.3/lib/../lib/x86_64-linux-ghc-9.4.3/unix-2.7.3/libHSunix-2.7.3.a(Files.o):
function ghczuwrapperZC1ZCunixzm2zi7zi3ZCSystemziPosixziFilesZCmknod: 
error: undefined reference to '__xmknod'

See https://github.com/andreasabel/ci-executable-static/actions/runs/3620850873/jobs/6103575852

Report at ubuntu-22.04 home:

@hasufell
Copy link
Member

hasufell commented Dec 5, 2022

Which system libraries does unix depend on?

$ lddtree libHSunix-2.7.2.2-ghc8.10.7.so | grep -v libHS                                                                          114ms  Mon 16:49
    librt.so.1 => /lib64/librt.so.1
    libutil.so.1 => /lib64/libutil.so.1
    libdl.so.2 => /lib64/libdl.so.2
    libpthread.so.0 => /lib64/libpthread.so.0
    libgmp.so.10 => /lib64/libgmp.so.10
    libc.so.6 => /lib64/libc.so.6
        ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
    libm.so.6 => /lib64/libm.so.6

@Bodigrim
Copy link
Contributor

Bodigrim commented Dec 5, 2022

__xmknod is mknod provided by glibc. I don't think the CI failure is anyhow specific to unix package, it's just the very first library GHC is trying to link statically.

@andreasabel
Copy link
Member Author

Thanks for the info.
I think it would be good to add the information that Julian retrieved to the docs, or, alternatively, the recipe how to retrieve it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants