Skip to content

Upgrade core dependency versions#32

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

Upgrade core dependency versions#32
zwass merged 23 commits intomasterfrom
upgrade-toolchain

Conversation

@zwass
Copy link
Copy Markdown
Member

@zwass zwass commented Feb 18, 2026

  • 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
Copy link
Copy Markdown
Member Author

zwass commented Feb 25, 2026

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

@zwass zwass requested a review from Smjert March 5, 2026 16:26
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
Copy link
Copy Markdown
Member Author

zwass commented Mar 25, 2026

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

@zwass
Copy link
Copy Markdown
Member Author

zwass commented Mar 25, 2026

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
Copy link
Copy Markdown
Member Author

zwass commented Mar 26, 2026

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
Copy link
Copy Markdown
Member Author

zwass commented Apr 1, 2026

@Smjert this is ready for review

directionless
directionless previously approved these changes Apr 7, 2026
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