Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 624818

Summary: app-emulation/xen-tools: emake failed: error: implicit declaration of function ‘makedev’
Product: Gentoo Linux Reporter: Thomas Deutschmann (RETIRED) <whissi>
Component: Current packagesAssignee: Gentoo Xen Devs <xen>
Status: RESOLVED FIXED    
Severity: normal CC: hydrapolic, rose
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=625406
https://bugs.gentoo.org/show_bug.cgi?id=631370
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 575232    
Attachments: build.log

Description Thomas Deutschmann (RETIRED) gentoo-dev 2017-07-12 23:31:43 UTC
Created attachment 483942 [details]
build.log

[...]
x86_64-pc-linux-gnu-gcc  -DPIC  -fno-strict-overflow -m64 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -O2 -fomit-frame-pointer -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ -MMD -MF .subdirs-all.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE   -m64 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -O2 -fomit-frame-pointer -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ -MMD -MF .subdir-all-blktap2.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE   -m64 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -O2 -fomit-frame-pointer -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ -MMD -MF .subdirs-all.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE   -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/libxc/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/libs/toollog/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/libs/foreignmemory/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/include -D__XEN_TOOLS__ -m64 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -O2 -fomit-frame-pointer -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ -MMD -MF .subdir-all-control.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE   -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/libxc/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/libs/toollog/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/libs/foreignmemory/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/include -D__XEN_TOOLS__ -m64 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -O2 -fomit-frame-pointer -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__ -MMD -MF .tap-ctl-create.opic.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE   -Werror -Wno-unused -I../include -I../drivers -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/control/../../..//tools/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/control/../../..//tools/libxc/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/control/../../..//tools/libs/toollog/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/control/../../..//tools/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/control/../../..//tools/libs/foreignmemory/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/control/../../..//tools/include -I/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/control/../../..//tools/include -D__XEN_TOOLS__ -D_GNU_SOURCE -DTAPCTL  -fPIC -c -o tap-ctl-create.opic tap-ctl-create.c 
tap-ctl-allocate.c: In function ‘tap_ctl_make_device’:
tap-ctl-allocate.c:109:29: error: implicit declaration of function ‘makedev’ [-Werror=implicit-function-declaration]
  err = mknod(devname, perm, makedev(major, minor));
                             ^~~~~~~
cc1: all warnings being treated as errors
make[4]: *** [/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/control/../../..//tools/Rules.mk:191: tap-ctl-$
llocate.opic] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/control'
make[3]: *** [/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/Rules.mk:218: subdir-all-control] $
rror 2
make[3]: Leaving directory '/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2'
make[2]: *** [/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2/../../tools/Rules.mk:213: subdirs-all] Error 2
make[2]: Leaving directory '/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/blktap2'
make[1]: *** [/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/../tools/Rules.mk:218: subdir-all-blktap2] Error 2
make[1]: Leaving directory '/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools'
make: *** [/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools/../tools/Rules.mk:213: subdirs-all] Error 2
make: Leaving directory '/var/tmp/portage/app-emulation/xen-tools-4.8.1-r1/work/xen-4.8.1/tools'
 * ERROR: app-emulation/xen-tools-4.8.1-r1::gentoo failed (compile phase):
 *   emake failed
Comment 1 Thomas Deutschmann (RETIRED) gentoo-dev 2017-07-12 23:33:35 UTC
Portage 2.3.5 (python 3.6.1-final-0, default/linux/amd64/13.0, gcc-6.3.0, glibc-2.25-r2, 4.12.0-gentoo x86_64)
=================================================================
System uname: Linux-4.12.0-gentoo-x86_64-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.4.1
KiB Mem:     8135216 total,   1928300 free
KiB Swap:    1048572 total,   1048572 free
Timestamp of repository gentoo: Wed, 12 Jul 2017 22:47:20 +0000
sh dash 0.5.9.1-r1
ld GNU ld (Gentoo 2.28 p1.2) 2.28
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.13::gentoo, 3.4.6::gentoo, 3.5.3::gentoo, 3.6.1-r1::gentoo
dev-util/cmake:           3.8.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1::gentoo
sys-apps/openrc:          0.27.2::gentoo
sys-apps/sandbox:         2.10-r4::gentoo
sys-devel/autoconf:       2.69-r3::gentoo
sys-devel/automake:       1.13.4-r1::gentoo, 1.15.1::gentoo
sys-devel/binutils:       2.28-r2::gentoo
sys-devel/gcc:            6.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r4::gentoo
sys-devel/make:           4.2.1-r1::gentoo
sys-kernel/linux-headers: 4.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000

ABI="amd64"
ABI_X86="64"
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
ANT_HOME="/usr/share/ant"
ARCH="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt -Werror=format-security -Wno-error=clobbered -frecord-gcc-switches"
CFLAGS_amd64="-m64"
CFLAGS_x32="-mx32"
CFLAGS_x86="-m32"
CHOST="x86_64-pc-linux-gnu"
CHOST_amd64="x86_64-pc-linux-gnu"
CHOST_x32="x86_64-pc-linux-gnux32"
CHOST_x86="i686-pc-linux-gnu"
COLLISION_IGNORE="/lib/modules/* *.py[co] *$py.class */dropin.cache"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
CURL_SSL="gnutls"
CXXFLAGS="-O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt -Werror=format-security -Wno-error=clobbered -frecord-gcc-switches"
DEFAULT_ABI="amd64"
EDITOR="/bin/nano"
ELIBC="glibc"
EPREFIX=""
EROOT="/"
FCFLAGS="-O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt -Werror=format-security -Wno-error=clobbered -frecord-gcc-switches"
FEATURES="assume-digests binpkg-logs cgroup config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=ivybridge -mtune=ivybridge -mno-xsaveopt -Werror=format-security -Wno-error=clobbered -frecord-gcc-switches"
GCC_SPECS=""
GRUB_PLATFORMS=""
HOME="/root"
INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/6.3.0/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.28/info:/usr/share/info"
INPUT_DEVICES="libinput keyboard mouse"
IUSE_IMPLICIT="abi_x86_64 prefix prefix-chain prefix-guest"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KERNEL="linux"
L10N="en en-US de de-DE fr"
LANG="en_US.UTF-8"
LC_MESSAGES="C"
LC_NUMERIC="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LDFLAGS_amd64="-m elf_x86_64"
LDFLAGS_x32="-m elf32_x86_64"
LDFLAGS_x86="-m elf_i386"
LIBDIR_amd64="lib64"
LIBDIR_x32="libx32"
LIBDIR_x86="lib32"
LINGUAS="en de fr"
LOGNAME="root"
MAIL="/var/mail/root"
MAKEOPTS="--jobs 6"
MANPAGER="manpager"
MULTILIB_ABIS="amd64 x86"
NOCOLOR="true"
OFFICE_IMPLEMENTATION="libreoffice"
OLDPWD="/home/thomas/repositories/gentoo/sys-firmware/intel-microcode"
OPENCL_PROFILE="mesa"
OPENGL_PROFILE="xorg-x11"
ORACLE_HOME="/usr/lib64/oracle/12.1/client"
PAGER="/usr/bin/less"
PATH="/usr/x86_64-pc-linux-gnu/gcc-bin/6.3.0:/usr/lib/llvm/4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
PHP_TARGETS="php5-6"
POSTGRES_TARGETS="postgres9_5"
PWD="/tmp"
PYTHONDONTWRITEBYTECODE="1"
PYTHON_SINGLE_TARGET="python3_4"
PYTHON_TARGETS="python2_7 python3_4 python3_5 python3_6"
QT_GRAPHICSSYSTEM="raster"
ROOT="/"
ROOTPATH="/usr/x86_64-pc-linux-gnu/gcc-bin/6.3.0:/usr/lib/llvm/4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
RUBY_TARGETS="ruby22"
SHELL="/bin/bash"
SHLVL="2"
SSH_TTY="/dev/pts/0"
SYMLINK_LIB="yes"
TERM="screen"
TMUX="/tmp/tmux-0/default,4667,0"
TMUX_PANE="%11"
TNS_ADMIN="/etc/oracle/"
TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
USER="root"
USERLAND="GNU"
VIDEO_CARDS="vmware"
Comment 2 Thomas Deutschmann (RETIRED) gentoo-dev 2017-07-12 23:38:46 UTC
Same build error with 4.7.3, 4.7.2, 4.8.1...  

However, I was able to build xen-tools-4.8.1 last time on

> Sat May  6 01:36:16 2017 >>> app-emulation/xen-tools-4.8.1

...not sure why this is now failing.
Comment 3 Tomáš Mózes 2017-07-13 05:26:48 UTC
tap-ctl-allocate.c references makedev, but in glibc 2.25-r2 (looking at patchset 5) the patch 00_all_0005-sys-types.h-drop-sys-sysmacros.h-include.patch drops sysmacros from types.h - https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html

Either drop that patch and rebuild glibc or patch tap-ctl-allocate.c to include sys/sysmacros.h.
Comment 4 Thomas Deutschmann (RETIRED) gentoo-dev 2017-07-20 12:24:05 UTC
Upstream patch: https://github.com/xen-project/xen/commit/796dea37fb229c34740f98bf80f3263d7a4e3c6d

Patch is included in 4.9.0 release (bump request in bug 625406).

However, an additional patch for QEMU is needed (at least for 4.8.1-r1, haven't tested 4.9.0): https://github.com/qemu/qemu/commit/4d04351
Comment 5 Tomáš Mózes 2017-09-28 06:22:09 UTC
*** Bug 628942 has been marked as a duplicate of this bug. ***
Comment 6 Yixun Lan archtester gentoo-dev 2017-09-30 05:51:17 UTC
fixed in 4.8.2