Skip to content

Upgrade core dependency versions - #32

Merged
zwass merged 23 commits into
masterfrom
upgrade-toolchain
Apr 8, 2026
Merged

zwass merged 23 commits into
masterfrom
upgrade-toolchain

Conversation

@zwass

@zwass zwass commented Feb 18, 2026 •

Copy link
Copy Markdown
Member
  • crosstool-ng 1.24.0 -> 1.28.0
  • LLVM 11.0.0 -> 18.1.8
  • GCC 8.3.0 -> 13.4.0
  • Linux 4.9.156 -> 4.9.335
  • glibc 2.23 -> 2.27 on aarch64, 2.12.2 -> 2.17 on x86_64
  • binutils 2.29.1 -> 2.33.1 on aarch64, 2.30.0 -> 2.33.1 on x86_64
  • zlib 1.2.13 -> 1.3.1

directionless
directionless previously approved these changes Feb 21, 2026
@zwass
zwass marked this pull request as draft February 25, 2026 18:37
@zwass

zwass commented Feb 25, 2026

Copy link
Copy Markdown
Member Author

Will remove libelf, libbpf, and bpftool before re-requesting review.

@zwass
zwass requested a review from Smjert March 5, 2026 16:26
Comment thread build.sh Outdated
Comment on lines +849 to +864
CT_NCURSES_EXTRA_CFLAGS="-std=gnu17"
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_3_1=y
# CT_ZLIB_V_1_2_13 is not set
CT_ZLIB_VERSION="1.3.1"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to enable zlib here?

Afaik we compile zlib separately already. Sorry I don't have more guidance right now, but I'm just wondering if we shouldn't just use one or the other, instead of risking having two different versions being used.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Smjert I dug into this and I think the answer is we should have zlib in both places. Crosstool-ng does seem to require zlib. Maybe in the older version it was implicitly relying on the system zlib?

It seems like we have 2 options for crosstool-ng

  1. Use system zlib
  2. Build zlib (what this configuration sets)

crosstool-ng does not seem to install or make available this zlib beyond linking it into the generated gcc. Because of that, we also want to build zlib which is required by the LLVM linker.

When I tried removing the explicit zlib build in the script, I found that I would get linker errors later in the build process when the linker could not find the zlib library (preventing the linker from executing).

@zwass
zwass force-pushed the upgrade-toolchain branch from 392d15d to a6ca620 Compare March 11, 2026 16:55
@zwass
zwass requested review from Smjert and directionless March 13, 2026 02:32
@zwass
zwass marked this pull request as ready for review March 13, 2026 02:33
@zwass

zwass commented Mar 25, 2026

Copy link
Copy Markdown
Member Author

Will look at whether this change is necessary: Smjert@6d7b89d

@zwass

zwass commented Mar 25, 2026

Copy link
Copy Markdown
Member Author

Builds from these toolchains and the changes in osquery/osquery#8743 tested working on
ARM Ubuntu 18, 20, 22, 24
ARM CentOS Stream 9, 10

X86 builds are currently not completing due to errors in the boost build.

@zwass

zwass commented Mar 26, 2026

Copy link
Copy Markdown
Member Author

Tested on x86 Ubuntu 16, 18, 20, 22, 24, CentOS 7, 8, 9.

Note CentOS 6 fails to start because it uses glibc 2.12.

@zwass

zwass commented Apr 1, 2026

Copy link
Copy Markdown
Member Author

@Smjert this is ready for review

directionless
directionless previously approved these changes Apr 7, 2026
Comment thread .github/workflows/build.yml Outdated
Comment thread build.sh Outdated
Comment on lines +227 to +228
# Make so that ZLIB_ROOT is relative to the Config.cmake,
# since we want for it to report

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this comment enough for future us?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tried to clarify

@zwass
zwass merged commit 9f275e7 into master Apr 8, 2026
3 of 7 checks passed
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.

3 participants