DO NOT MERGE: Ubuntu 24 - LLVM 14 preview #1536
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
-- "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.
-- 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.)
-- Many of these are about invalid escape sequences - at first glance it looks like these might be coming from python.
-- Wireshark api changed, again.