Skip to content

Unexpected usage error with libkrb5 and GLIBC 2.32 in ubuntu 21.04 #2186

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

Open
ProofOfKeags opened this issue Sep 12, 2021 · 9 comments
Open
Labels
old_type: distribution type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc..

Comments

@ProofOfKeags
Copy link

Your environment

hls stack and ghc were all installed with GHCUP, Yesod Project with Template Haskell

Which OS do you use:
Distributor ID: Pop
Description: Pop!_OS 21.04
Release: 21.04
Codename: hirsute
Which lsp-client do you use:
VSCode
Describe your project (alternative: link to the project):
stack/hpack

Steps to reproduce

  1. install hls on PopOS/Ubuntu 21.04 using GHCUP.
  2. Create basic Yesod project
  3. Start up HLS
  4. Attempt to use the evaluation plugin or just look int he problems tab of VSCode

Expected behaviour

No link time errors preventing normal function of HLS

Actual behaviour

<command line>: /lib/x86_64-linux-gnu/libkrb5.so.26: symbol pthread_cond_destroy version GLIBC_2.3.2 not defined in file libpthread.so.0 with link time reference

Include debug information

Execute in the root of your project the command haskell-language-server --debug . and paste the logs here:

Speculation

I think somewhere in both the TemplateHaskell execution or in the Evaluation plugin it seems that there is a broken reference to kerberos/glibc on the newest ubuntu/popos system. It's not clear why kerberos is used at all in any of this, so I am left scratching my head here. Secondly, this may have to do with the fact that when ghcup installed ghc it pulled the binaries for fedora which seems odd since Ubuntu/PopOS isn't a RHEL based operating system. It is entirely possible that this error lies in ghcup and has nothing to do with HLS but it is manifesting in HLS right now so I figured I'd cut the ticket. Happy to provide any additional info.

@ProofOfKeags
Copy link
Author

Currently trying to build from source to see if I can reproduce it that way. I think this would confirm that the issue is within hls and not ghcup's installation method

@ProofOfKeags
Copy link
Author

OK can confirm that a build from source successfully fixes everything. I will look to file this upstream with ghcup.

@jneira
Copy link
Member

jneira commented Sep 12, 2021

related: #1723

we are building the binary in ubuntu 18.04, statically linked

@jneira jneira added os: linux type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc.. old_type: distribution labels Sep 12, 2021
@jneira
Copy link
Member

jneira commented Sep 12, 2021

OK can confirm that a build from source successfully fixes everything. I will look to file this upstream with ghcup.

not sure if the bug belongs to upstream as ghcup only distribute our binaries from the github release, if you downloads directly the binary you will suffer it too

//cc @maerwald

@jneira jneira reopened this Sep 12, 2021
@jneira jneira changed the title Unexpected usage error with libkrb5 and GLIBC 2.32 Unexpected usage error with libkrb5 and GLIBC 2.32 in ubuntu 21.04 Sep 12, 2021
@ProofOfKeags
Copy link
Author

Maybe the correct thing to do is to just have another build for 21.04? I'm not sure what the policy is around supporting bindists for many versions of the same OS. But it does seem like something fundamental changed between 18.04 and 21.04

@jneira
Copy link
Member

jneira commented Jan 17, 2022

The next release will use static binaries produced in alpine linux using musl, so maybe the might help to this issue.

@ProofOfKeags
Copy link
Author

I believe I just ran into this again on 1.6.1 installed via ghcup

@ProofOfKeags
Copy link
Author

Not sure if relevant but I have a bunch of these in my project now when I run the bindist from the project root:

Hidden: no
Range: 1:1-2:1
Source: compiler
Severity: DsError
Message:
Maybe.fromJust: Nothing
CallStack (from HasCallStack):
error, called at libraries/base/Data/Maybe.hs:148:21 in base:Data.Maybe
fromJust, called at src/Development/IDE/Core/Rules.hs:842:51 in
ghcide-1.6.0.0-inplace:Development.IDE.Core.Rules

https://github.com/haskell/haskell-language-server/blob/1.6.1.0-hackage/ghcide/src/Development/IDE/Core/Rules.hs#L842

Code reference to where it is complaining.

@hasufell
Copy link
Member

hasufell commented Oct 8, 2022

Wrt PopOS and derivates, I opened https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/421

This will allow to tell ghcup "treat my distro as Ubuntu".

A dirty workaround is to manually edit /etc/os-release and set the name there as Ubuntu. Then ghcup will simply pick that up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
old_type: distribution type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc..
Projects
None yet
Development

No branches or pull requests

4 participants