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

Missing libkleeRuntimePOSIX64_Debug+Asserts.bca #1

Open
mristin opened this issue Mar 3, 2024 · 7 comments
Open

Missing libkleeRuntimePOSIX64_Debug+Asserts.bca #1

mristin opened this issue Mar 3, 2024 · 7 comments
Labels
enhancement New feature or request

Comments

@mristin
Copy link

mristin commented Mar 3, 2024

Hi!
I've just installed klee snap on Ubuntu 22.04 and I receive the following message:

KLEE: NOTE: Using POSIX model: /snap/klee/9/usr/local/lib/klee/runtime/libkleeRuntimePOSIX64_Debug+Asserts.bca
KLEE: ERROR: Loading file /snap/klee/9/usr/local/lib/klee/runtime/libkleeRuntimePOSIX64_Debug+Asserts.bca failed: No such file or directory

... when trying to invoke KLEE on a bitcode with klee --posix-runtime myprogram.bc.

The version used:

$ klee --version
KLEE 3.0 (https://klee.github.io)
  Build mode: RelWithDebInfo (Asserts: ON)
  Build revision: unknown

Ubuntu LLVM version 13.0.1
  
  Optimized build.
  Default target: x86_64-pc-linux-gnu
  Host CPU: skylake

I suspect that klee in the snap has not been built with -DENABLE_POSIX_RUNTIME=ON, see: klee/klee#1475.

@marco6 marco6 added the enhancement New feature or request label Mar 4, 2024
@marco6
Copy link
Collaborator

marco6 commented Mar 5, 2024

Hi @mristin! Thanks for this report. In this moment the stable channel does not support POSIX runtime and or ulibc/libcxx.

However, I just added support for ulibc and POSIX in the beta channel. libcxx will need to wait a little bit more as I don't have enough time right now.

If you could test that (by switching to the beta channel with snap refresh klee --channel beta and confirm that everything is in place, I could promote that version to the stable channel.

@ccadar
Copy link
Collaborator

ccadar commented Mar 5, 2024

@marco6 many thanks for your work on this.
BTW, I guess you know that we have recently released KLEE 3.1 (on 29 Feb) as well as klee-uclibc 1.4 (on 29 Oct).

@marco6
Copy link
Collaborator

marco6 commented Mar 5, 2024

@ccadar I didn't :-) I will try to get the new release up as soon as I have time.

@mristin
Copy link
Author

mristin commented Mar 5, 2024

@marco6 thanks! Unfortunately, I couldn't make our code work with KLEE as we rely heavily on smart pointers (std::shared_ptr, std::optional, std::expected). I don't have a working example, and so I can't test.

I suppose it is probably not possible to make these structures symbolically?

@marco6
Copy link
Collaborator

marco6 commented Mar 5, 2024

@ccadar I think atomics are implemented, so I guess it's just the lack of libcxx in the snap preventing @mristin to build a working example?

If that's the case I can try to bundle libcxx as soon as I can.

@ccadar
Copy link
Collaborator

ccadar commented Mar 5, 2024

@mristin is the situation that you can use KLEE for your code when you install it from other sources, but not as a snap? Otherwise, and if you need help with your scenario, you should send a message to the KLEE mailing list with a small example illustrating your problem: https://klee.github.io/support/

@mristin
Copy link
Author

mristin commented Mar 6, 2024

@mristin is the situation that you can use KLEE for your code when you install it from other sources, but not as a snap? Otherwise, and if you need help with your scenario, you should send a message to the KLEE mailing list with a small example illustrating your problem: https://klee.github.io/support/

That's correct, thanks! I'll write to the mailing list.

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

No branches or pull requests

3 participants