-
Notifications
You must be signed in to change notification settings - Fork 420
add libXxf86misc #59993
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
add libXxf86misc #59993
Conversation
📦 Build Failed: Missing Dependency
Build Details
Root Cause Analysis 🔍The build is attempting to compile libXxf86misc-1.0.4 but is missing a required dependency 'xf86miscproto'. The package manager (pkg-config) cannot find this protocol header package which is needed for compilation. This is a common issue in X11 library builds where protocol definition headers are separate packages. 🔍 Build failure fix suggestionsFound similar build failures that have been fixed in the past and analyzed them to suggest a fix: Suggested ChangesFile: Melange YAML file
Replacement: Content:
Content: File: Melange YAML file
Replacement: Content: File: Melange YAML file
Replacement: Content: Click to expand fix analysisAnalysisThe build failure shows that the package 'xf86miscproto' is missing during the configuration of libXxf86misc-1.0.4. This is a common issue in X11 library builds where specific protocol headers are needed as dependencies. The error occurs during the ./configure stage when pkg-config checks for required packages: "xproto x11 xextproto xext xf86miscproto". Looking at the Melange YAML file, the environment section already includes 'xorgproto' package, which is the modern consolidated package that includes various X11 protocol definitions including xf86miscproto. However, it appears that the build system isn't finding the xf86miscproto definitions specifically, likely because it's looking for the older individual package name rather than the consolidated xorgproto package. Click to expand fix explanationExplanationThe build failure is caused by the configure script looking for the deprecated 'xf86miscproto' package, which has been consolidated into the newer 'xorgproto' package in modern X.Org distributions. There are two main approaches to fix this:
In either case, the fix works because:
Additionally, adding 'xorg-x11-util-macros' may be helpful as it contains common build tools and macros used by X.Org packages, which could provide additional required dependencies for the autoconf process. Click to expand alternative approachesAlternative Approaches
Was this comment helpful? Please use 👍 or 👎 reactions on this comment. |
182095d to
66c0a11
Compare
Part 1/2: `xf86miscproto` is deprecated and replaced with `xorgproto`: https://gitlab.freedesktop.org/xorg/proto/xf86miscproto/-/blob/master/autogen.sh?ref_type=heads To build this: #59993 we do need some headers. It builds if we do enable xorgproto with legacy support. libx11-dev doesn't provide `xf86mscstr.h`. But some headers like `XKBgeom.h XKBsrv.h XKBstr.h` is still provided by `libx11`, which resulting conflict during install: ``` installing apk packages: installing packages: installing libx11-dev (ver:1.8.12-r1 arch:aarch64): unable to install files for pkg libx11-dev: writing header for "usr/include/X11/extensions/XKBgeom.h": packages map[libx11-dev:libx11 xorgproto:xorgproto] has conflicting file: "usr/include/X11/extensions/XKBgeom.h" ``` So remove those from libx11 and re-build xorgproto with having those headers. So we can build `libXxf86misc`. Signed-off-by: Dentrax <furkan.turkal@chainguard.dev>
Part 1/2: #60251 Part 2/2: `xf86miscproto` is deprecated and replaced with `xorgproto`: https://gitlab.freedesktop.org/xorg/proto/xf86miscproto/-/blob/master/autogen.sh?ref_type=heads To build this: #59993 we do need some headers. It builds if we do enable xorgproto with legacy support. libx11-dev doesn't provide `xf86mscstr.h`. But some headers like `XKBgeom.h XKBsrv.h XKBstr.h` is still provided by `libx11`, which resulting conflict during install: ``` installing apk packages: installing packages: installing libx11-dev (ver:1.8.12-r1 arch:aarch64): unable to install files for pkg libx11-dev: writing header for "usr/include/X11/extensions/XKBgeom.h": packages map[libx11-dev:libx11 xorgproto:xorgproto] has conflicting file: "usr/include/X11/extensions/XKBgeom.h" ``` So remove those from libx11 and re-build xorgproto with having those headers. So we can build `libXxf86misc`. Signed-off-by: Dentrax <furkan.turkal@chainguard.dev>
Signed-off-by: Dentrax <furkan.turkal@chainguard.dev>
Signed-off-by: Dentrax <furkan.turkal@chainguard.dev>
Signed-off-by: Dentrax <furkan.turkal@chainguard.dev>
tulilirockz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tiny nits around dependencies, looking great though!
Signed-off-by: Dentrax <furkan.turkal@chainguard.dev> Co-authored-by: Arthur Exaltação <arthur.exaltacao@chainguard.dev>
Thanks, good catch! It seems mostly b/c of copy/paste stuff. |
BLOCKED by: #59972Fixes:
Related:
Pre-review Checklist
For new package PRs only
endoflife.date)For new version streams
name: ${{package.name}}-compat)provides:logical unversioned forms of the package (e.g.nodejs,nodejs-lts)For package updates (renames) in the base images
When updating packages part of base images (i.e. cgr.dev/chainguard/wolfi-base or ghcr.io/wolfi-dev/sdk)
apk upgrade --latestsuccessfully upgrades packages or performs no actionsFor security-related PRs
For version bump PRs
epochfield is reset to 0For PRs that add patches