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

No dig binary in Alpha 2492.0.0 ARM #123

Closed
johananl opened this issue May 22, 2020 · 5 comments
Closed

No dig binary in Alpha 2492.0.0 ARM #123

johananl opened this issue May 22, 2020 · 5 comments
Assignees
Labels
kind/bug Something isn't working

Comments

@johananl
Copy link

Description

Seems like Alpha 2492.0.0 ARM doesn't contain the dig binary.

Impact

Cannot use dig in Lokomotive CI pipelines.

Environment and steps to reproduce

  1. Set-up: Deploy an ARM machine on Packet using the web UI with the following iPXE script: https://alpha.release.flatcar-linux.net/arm64-usr/current/flatcar_production_packet.ipxe
  2. Task: Run dig from a shell.
  3. Action(s): Run dig from a shell.
  4. Error: dig: command not found

Expected behavior
Expected to see dig output.

@t-lo
Copy link
Member

t-lo commented May 29, 2020

Validated that dig is included and operational in the AMD64 image; not having it on ARM is a bug.

@dongsupark
Copy link
Member

dongsupark commented May 29, 2020

It is an interesting can of worms.
So far what I have found out is like that.

net-dns/bind-tools is not installed for ARM, because it is intentionally disabled in package.provided.
The code was added via commit b37d1376, but it does not explain why there is a build error with bind-tools for ARM.

When I remove bind-tools from package.provided, then try to install bind-tools, then it fails like that:

checking for gssapi/gssapi.h... no
configure: error: gssapi.h not found

However, the /usr/include/gssapi/gssapi.h is actually already there, as app-crypt/mit-krb5 is installed for ARM.
So I suppose, we need to specify a correct path for gssapi when the ebuild runs a configure script.
That's all I have now.

@dongsupark
Copy link
Member

Today I have looked into this issue again.

As expected, there were good reasons for CoreOS Container Linux to have not enabled it for ARM.
The upstream net-dns/bind-tools has its own complicated logic for detecting runtime library linkage, e.g. gssapi, gssapi_krb5, openssl, etc. Even after specifying the prefixes /build/arm64-usr/ etc, it still does not find correct library paths. Removing the logic in configure.ac still does not resolve the issue, as it afterwards anyway fails during the build step. In theory we could fix all the places in the bind source code, but I could not manage to do it.

As plan B, I would suggest simply disabling the USE flag gssapi for net-dns/bind-tools in case of ARM. In that case, its build simply passes. Of course we don't know what could happen if there would be any runtime case that bind-tools really requires gssapi. Though after all, providing such a limited bind-tools would be still better than having no bind-tools at all.

@dongsupark
Copy link
Member

Alpha 2513.1.0 was released with a dig binary for ARM.
Test with its qemu image:

core@localhost ~ $ cat /etc/os-release 
NAME="Flatcar Container Linux by Kinvolk"
ID=flatcar
ID_LIKE=coreos
VERSION=2513.1.0
VERSION_ID=2513.1.0
BUILD_ID=2020-06-29-1540
PRETTY_NAME="Flatcar Container Linux by Kinvolk 2513.1.0 (Oklo)"
ANSI_COLOR="38;5;75"
HOME_URL="https://flatcar-linux.org/"
BUG_REPORT_URL="https://issues.flatcar-linux.org"
FLATCAR_BOARD="arm64-usr"

core@localhost ~ $ dig -v
DiG 9.11.2-P1

Edge release is still pending, the next release will include the same bind-tools as Alpha.

johananl added a commit to kinvolk/lokomotive that referenced this issue Jul 6, 2020
Following flatcar/Flatcar#123,
Flatcar 2513.1.0 for ARM contains the dig binary so the workaround is
no longer needed.

Fixes #508.
johananl added a commit to kinvolk/lokomotive that referenced this issue Jul 6, 2020
Following flatcar/Flatcar#123,
Flatcar 2513.1.0 for ARM contains the dig binary so the workaround is
no longer needed.

Fixes #508.
knrt10 pushed a commit to knrt10/lokomotive that referenced this issue Jul 7, 2020
Following flatcar/Flatcar#123,
Flatcar 2513.1.0 for ARM contains the dig binary so the workaround is
no longer needed.

Fixes kinvolk#508.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants