Summary: | x11-libs/libX11 for abi_x86_32 - ../src/util/makekeys: failed to find small enough hash! | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Austin English (RETIRED) <wizardedit> |
Component: | [OLD] Library | Assignee: | Gentoo X packagers <x11> |
Status: | VERIFIED WORKSFORME | ||
Severity: | normal | CC: | multilib+disabled |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Austin English (RETIRED)
2014-01-23 19:27:29 UTC
I haven't seen this before. Can you still reproduce? (In reply to Matt Turner from comment #1) > I haven't seen this before. Can you still reproduce? No, worksforme. I have the same issue. After some tests, it appears that the culprit is the sandbox not supporting 64bit inode numbers for 32 executables. In my case (AMD64 in multilib, 4TB XFS filesystem mounted with inode64) I have inode numbers bigger than 2^32 : ls -lai /usr/include/X11/keysymdef.h /usr/include/X11/XF86keysym.h /usr/include/X11/Sunkeysym.h /usr/include/X11/DECkeysym.h /usr/include/X11/HPkeysym.h 13123005750 -rw-r--r-- 1 root root 2820 May 26 00:45 /usr/include/X11/DECkeysym.h 13123005751 -rw-r--r-- 1 root root 6046 May 26 00:45 /usr/include/X11/HPkeysym.h 13123005752 -rw-r--r-- 1 root root 175257 May 26 00:45 /usr/include/X11/keysymdef.h 13123005754 -rw-r--r-- 1 root root 4022 May 26 00:45 /usr/include/X11/Sunkeysym.h 13123005759 -rw-r--r-- 1 root root 13065 May 26 00:45 /usr/include/X11/XF86keysym.h and re-running sandbox by hand (from the point last emerge fails) I get : # cd /var/tmp/portage/x11-libs/libX11-1.6.5/work/libX11-1.6.5-abi_x86_32.x86/src # SANDBOX_DEBUG=1 sandbox #../src/util/makekeys /usr/include/X11/keysymdef.h /usr/include/X11/XF86keysym.h /usr/include/X11/Sunkeysym.h /usr/include/X11/DECkeysym.h /usr/include/X11/HPkeysym.h * absolute_path: /var/tmp/portage/x11-libs/libX11-1.6.5/work/libX11-1.6.5-abi_x86_32.x86/src/util/makekeys * resolved_path: /var/tmp/portage/x11-libs/libX11-1.6.5/work/libX11-1.6.5-abi_x86_32.x86/src/util/makekeys * ACCESS ALLOWED: execve: /var/tmp/portage/x11-libs/libX11-1.6.5/work/libX11-1.6.5-abi_x86_32.x86/src/util/makekeys * absolute_path: /var/tmp/portage/x11-libs/libX11-1.6.5/work/libX11-1.6.5-abi_x86_32.x86/src/util/makekeys * resolved_path: /var/tmp/portage/x11-libs/libX11-1.6.5/work/libX11-1.6.5-abi_x86_32.x86/src/util/makekeys * ACCESS ALLOWED: open_rd: /var/tmp/portage/x11-libs/libX11-1.6.5/work/libX11-1.6.5-abi_x86_32.x86/src/util/makekeys * EARLY FAIL: fopen(/usr/include/X11/keysymdef.h): Value too large for defined data type couldn't open /usr/include/X11/keysymdef.h * EARLY FAIL: fopen(/usr/include/X11/XF86keysym.h): Value too large for defined data type couldn't open /usr/include/X11/XF86keysym.h * EARLY FAIL: fopen(/usr/include/X11/Sunkeysym.h): Value too large for defined data type couldn't open /usr/include/X11/Sunkeysym.h * EARLY FAIL: fopen(/usr/include/X11/DECkeysym.h): Value too large for defined data type couldn't open /usr/include/X11/DECkeysym.h * EARLY FAIL: fopen(/usr/include/X11/HPkeysym.h): Value too large for defined data type couldn't open /usr/include/X11/HPkeysym.h /* This file is generated from keysymdef.h. */ /* Do not edit. */ makekeys: failed to find small enough hash! Try increasing KTNUM in makekeys.c ----------------------------------------------------------- If I create copies of the 5 *.h files in /usr/include/X11 with inode numbers in 32bit range and move (via /bin/mv) the copies back to /usr/include/X11 than the command ./src/util/makekeys /usr/include/X11/keysymdef.h /usr/include/X11/XF86keysym.h /usr/include/X11/Sunkeysym.h /usr/include/X11/DECkeysym.h /usr/include/X11/HPkeysym.h works ok. I was running emerge with multilib enabled : [ebuild R ] x11-libs/libX11-1.6.5::gentoo USE="doc ipv6 -static-libs {-test}" ABI_X86="32 (64) (-x32)" 0 KiB so, the bug is likely in sandbox. |