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

DO NOT MERGE: Ubuntu 24 - LLVM 14 preview #1536

Draft
wants to merge 3 commits into
base: dev
Choose a base branch
from

Conversation

MarkMankins
Copy link
Collaborator

I managed to get PANDA built under Ubuntu 24, including an update to LLVM 14.
This isn't production ready quite yet, but it's a start.
I don't have the bandwidth to get this all the way to Ubuntu 24, but hoping with this initial work others can chip away at the problems that are left.
There are a lot of little issues that are nicely segregated, that would take me a while to research and fix all of them. I suspect many of these have an easy solution, so I'm looking for help to move this along.

I'm not convinced yet the update to LLVM 14 is 100% correct - but I have a lots of test cases and most agree with the output from LLVM 11. I have a few tests that are tightly coupled to the IR that gets generated, these will require some time to investigate whether or not the output I'm seeing in LLVM 14 is correct. Luckily I know where the author of these tests works (@LauraLMann) so I know where to look for help.

I didn't even try to fire up PyPANDA - so I'm not sure what state it is in.

Known issues:

  • When LLVM is enabled many warnings about unsupported intrinsics appear on the console.
  • The libosi build takes a long time.
  • LLVM 14 uses significantly more memory mapped regions than LLVM 11.
    -- "wc -l /proc/<panda pid>/maps" to see what I mean.
    -- Long running recordings with LLVM enabled may fail with out of memory errors.
    -- You can increase the number of permitted memory mapped regions for a process by writing to /proc/sys/vm/max_map_count. Doing this resolves the issue.
  • configure must be run with --disable-werror.
  • When installing required Ubuntu packages:
    -- The Ubuntu 20 qemu package was renamed to qemu-system in Ubuntu 24.
    -- I also installed llvm-14, llvm-14-doc, clang-14 & clang-tools-14. (Not sure the clang packages are necessary - things might be building with clang-18 which was already installed in my Ubuntu 24 environment.)
  • cmake is complaining loudly - but no fatal issues.
  • There are warnings when compiling PANDA.
    -- Many of these are about invalid escape sequences - at first glance it looks like these might be coming from python.
  • Network plugin won't build.
    -- Wireshark api changed, again.

@be32826 be32826 marked this pull request as draft October 3, 2024 19:23
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

Successfully merging this pull request may close these issues.

1 participant