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

Switch from Debian 11 to Debian 12 #467

Closed
wants to merge 4 commits into from

Conversation

ANogin
Copy link
Collaborator

@ANogin ANogin commented May 31, 2024

One sentence summary of this PR (This should go in the CHANGELOG!)
Changes the docker configuration to use Debian 12 Bookworm rather then Debian 11 Bullseye.

Link to Related Issue(s)
N/A

Please describe the changes in your request.
Changes the docker configuration to use Debian 12 Bookworm rather then Debian 11 Bullseye. This requires switching gcc-10 to gcc-12 for gcc installed from apt, and openjdk from 11 to 17.

Anyone you think should look at this, specifically?
@whyitfor

@ANogin
Copy link
Collaborator Author

ANogin commented Jun 1, 2024

All tests pass, except for one - test_ofrak/components/test_elf_load_aligment_modifier.py::TestElfModifiers::test_elf_load_alignment_free_space_modifier[libc.so.6@debian-bullseye (with SCOP) ET_DYN Library] which fails with when

LD_PRELOAD=/tmp/ofrak_elf_modifier_out_vflqboxe/libc_elf_dyn_lib_aligned_free /ofrak_core/test_ofrak/components/assets/elf/echo_elf_dyn 'Hello world, echo!'

fails with

Inconsistency detected by ld.so: dl-call-libc-early-init.c: 37: _dl_call_libc_early_init: Assertion `sym != NULL' failed!

that I am not sure what to do about...

@whyitfor
Copy link
Contributor

whyitfor commented Jun 1, 2024

What prompted this change?

@ANogin
Copy link
Collaborator Author

ANogin commented Jun 1, 2024

@whyitfor binary ninja no longer installs correctly in the Debian 11 default configuration :(

OSError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /opt/rbs/binaryninja/python/binaryninja/../../libbinaryninjacore.so.1)

I am guessing they updated their build setup for a newer version of Linux?

@whyitfor
Copy link
Contributor

whyitfor commented Jun 7, 2024

@whyitfor binary ninja no longer installs correctly in the Debian 11 default configuration :(

OSError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /opt/rbs/binaryninja/python/binaryninja/../../libbinaryninjacore.so.1)

I am guessing they updated their build setup for a newer version of Linux?

Seems like it... mandiant/capa#2098

@rbs-jacob
Copy link
Member

Dan got the tests passing in the following branch. I have not yet reviewed the changes.

master...Ivanov1ch:ofrak:feature/debian12

@ANogin
Copy link
Collaborator Author

ANogin commented Aug 2, 2024

@rbs-jacob with DanI's change (a one-line change in LD_PRELOAD in testing) some other tests (specifically notebooks_with_outputs tests) still fail. Not sure though whether those test failures are actually meaningful...

@whyitfor
Copy link
Contributor

@ANogin, do you plan on continuing to work on this PR? It not, this perhaps should become an issue.

A couple considerations:

  • Ideally we can switch from Debian 11 to Debian 12 with minimal changes to the existing patch maker toolchains. Is it trivial to keep the existing toolchains (perhaps installing them from source)?
  • Based on the discussion above, it seems that some test files might need to be rebuilt, or the tests need to be updated ("notebooks_with_outputs" tests will fail if any notebook output changes; it is likely that the expected notebook output needs to be reviewed and recommitted here)

@whyitfor
Copy link
Contributor

whyitfor commented Dec 4, 2024

Closing this PR, as #502 addresses the underlying issue.

@whyitfor whyitfor closed this Dec 4, 2024
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.

4 participants