Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Mar 2016 07:04:29 +0900
From:      Brendan Sechter <sgeos@hotmail.com>
To:        "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   ukbd.c: error: use of undeclared identifier 'key_map'
Message-ID:  <BAY182-W13672A61333391FDD08DEA2B30@phx.gbl>

next in thread | raw e-mail | index | archive | help
Hello-=0A=
=0A=
My kernel fails to build when I specify a default keymap. =A0The problem ap=
pears to=0A=
exist in both atkbd(4) and ukbd(4). =A0My last build appears to have succee=
ded in=0A=
September of last year. =A0That may have been when I added the option.=0A=
=0A=
My kernel config and the failing build output for ukbd are below. =A0The VI=
RTUALBOX=0A=
kernel config below built without issue.=0A=
=0A=
Regards=2C=0A=
-Brendan=0A=
=0A=
root@mirage:/usr/src # cat sys/amd64/conf/MIRAGE_KERNEL=A0=0A=
#include GENERIC=0A=
include VIRTUALBOX=0A=
ident MIRAGE=0A=
=0A=
# AT Keyboard=0A=
device =A0 =A0 =A0 =A0 =A0atkbdc=0A=
device =A0 =A0 =A0 =A0 =A0atkbd=0A=
options =A0 =A0 =A0 =A0 ATKBD_DFLT_KEYMAP=0A=
makeoptions =A0 =A0 ATKBD_DFLT_KEYMAP=3Djp.106=0A=
=0A=
# USB Keyboard=0A=
device =A0 =A0 =A0 =A0 =A0ukbd=0A=
options =A0 =A0 =A0 =A0 UKBD_DFLT_KEYMAP=0A=
makeoptions =A0 =A0 UKBD_DFLT_KEYMAP=3Djp.106=0A=
=0A=
# ALTQ for pf=0A=
options =A0 =A0 =A0 =A0 ALTQ=0A=
options =A0 =A0 =A0 =A0 ALTQ_PRIQ =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Priority Qu=
euing (PRIQ)=0A=
=0A=
# cat sys/amd64/conf/VIRTUALBOX=A0=0A=
cpu =A0 =A0 =A0 =A0 =A0 =A0 HAMMER=0A=
ident =A0 =A0 =A0 =A0 =A0 VIRTUALBOX=0A=
=0A=
options =A0 =A0 =A0 =A0 SCHED_ULE =A0 =A0 =A0 =A0 =A0 =A0 =A0 # ULE schedul=
er=0A=
options =A0 =A0 =A0 =A0 PREEMPTION =A0 =A0 =A0 =A0 =A0 =A0 =A0# Enable kern=
el thread preemption=0A=
options =A0 =A0 =A0 =A0 INET =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Inter=
NETworking=0A=
options =A0 =A0 =A0 =A0 INET6 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # IPv6 co=
mmunications protocols=0A=
options =A0 =A0 =A0 =A0 IPSEC =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # IP (v4/=
v6) security=0A=
options =A0 =A0 =A0 =A0 TCP_OFFLOAD =A0 =A0 =A0 =A0 =A0 =A0 # TCP offload=
=0A=
options =A0 =A0 =A0 =A0 SCTP =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Strea=
m Control Transmission Protocol=0A=
options =A0 =A0 =A0 =A0 FFS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Berke=
ley Fast Filesystem=0A=
options =A0 =A0 =A0 =A0 SOFTUPDATES =A0 =A0 =A0 =A0 =A0 =A0 # Enable FFS so=
ft updates support=0A=
options =A0 =A0 =A0 =A0 UFS_ACL =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Support f=
or access control lists=0A=
options =A0 =A0 =A0 =A0 UFS_DIRHASH =A0 =A0 =A0 =A0 =A0 =A0 # Improve perfo=
rmance on big directories=0A=
options =A0 =A0 =A0 =A0 UFS_GJOURNAL =A0 =A0 =A0 =A0 =A0 =A0# Enable gjourn=
al-based UFS journaling=0A=
options =A0 =A0 =A0 =A0 QUOTA =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Enable =
disk quotas for UFS=0A=
options =A0 =A0 =A0 =A0 NFSCL =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Network=
 Filesystem Client=0A=
options =A0 =A0 =A0 =A0 NFSD =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Netwo=
rk Filesystem Server=0A=
options =A0 =A0 =A0 =A0 NFSLOCKD =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Network L=
ock Manager=0A=
options =A0 =A0 =A0 =A0 NFS_ROOT =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# NFS usabl=
e as /=2C requires NFSCL=0A=
options =A0 =A0 =A0 =A0 CD9660 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# ISO 966=
0 Filesystem=0A=
options =A0 =A0 =A0 =A0 PROCFS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Process=
 filesystem (requires PSEUDOFS)=0A=
options =A0 =A0 =A0 =A0 PSEUDOFS =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Pseudo-fi=
lesystem framework=0A=
options =A0 =A0 =A0 =A0 GEOM_PART_GPT =A0 =A0 =A0 =A0 =A0 # GUID Partition =
Tables.=0A=
options =A0 =A0 =A0 =A0 GEOM_LABEL =A0 =A0 =A0 =A0 =A0 =A0 =A0# Provides la=
belization=0A=
options =A0 =A0 =A0 =A0 COMPAT_FREEBSD32 =A0 =A0 =A0 =A0# Compatible with i=
386 binaries=0A=
options =A0 =A0 =A0 =A0 SYSVSHM =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # SYSV-styl=
e shared memory=0A=
options =A0 =A0 =A0 =A0 SYSVMSG =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # SYSV-styl=
e message queues=0A=
options =A0 =A0 =A0 =A0 SYSVSEM =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # SYSV-styl=
e semaphores=0A=
options =A0 =A0 =A0 =A0 _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-t=
ime extensions=0A=
options =A0 =A0 =A0 =A0 PRINTF_BUFR_SIZE=3D128 =A0 =A0# Prevent printf outp=
ut being interspersed.=0A=
options =A0 =A0 =A0 =A0 KBD_INSTALL_CDEV =A0 =A0 =A0 =A0# install a CDEV en=
try in /dev=0A=
options =A0 =A0 =A0 =A0 HWPMC_HOOKS =A0 =A0 =A0 =A0 =A0 =A0 # Necessary ker=
nel hooks for hwpmc(4)=0A=
options =A0 =A0 =A0 =A0 AUDIT =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Securit=
y event auditing=0A=
options =A0 =A0 =A0 =A0 CAPABILITY_MODE =A0 =A0 =A0 =A0 # Capsicum capabili=
ty mode=0A=
options =A0 =A0 =A0 =A0 CAPABILITIES =A0 =A0 =A0 =A0 =A0 =A0# Capsicum capa=
bilities=0A=
options =A0 =A0 =A0 =A0 MAC =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Trust=
edBSD MAC Framework=0A=
options =A0 =A0 =A0 =A0 INCLUDE_CONFIG_FILE =A0 =A0 # Include this file in =
kernel=0A=
options =A0 =A0 =A0 =A0 RACCT =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Resourc=
e accounting framework=0A=
options =A0 =A0 =A0 =A0 RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=
=3D0 by default=0A=
options =A0 =A0 =A0 =A0 RCTL =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Resou=
rce limits=0A=
=0A=
# Make an SMP-capable kernel by default=0A=
options =A0 =A0 =A0 =A0 SMP =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Symme=
tric MultiProcessor Kernel=0A=
=0A=
# CPU frequency control=0A=
device =A0 =A0 =A0 =A0 =A0cpufreq=0A=
=0A=
# Bus support.=0A=
device =A0 =A0 =A0 =A0 =A0acpi=0A=
options =A0 =A0 =A0 =A0 ACPI_DMAR=0A=
device =A0 =A0 =A0 =A0 =A0pci=0A=
options =A0 =A0 =A0 =A0 PCI_IOV =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # PCI SR-IO=
V support=0A=
=0A=
# ATA controllers=0A=
device =A0 =A0 =A0 =A0 =A0ahci =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# AHC=
I-compatible SATA controllers=0A=
device =A0 =A0 =A0 =A0 =A0ata =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Leg=
acy ATA/SATA controllers=0A=
options =A0 =A0 =A0 =A0 ATA_STATIC_ID =A0 =A0 =A0 =A0 =A0 # Static device n=
umbering=0A=
=0A=
# ATA/SCSI peripherals=0A=
device =A0 =A0 =A0 =A0 =A0scbus =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # SCSI =
bus (required for ATA/SCSI)=0A=
device =A0 =A0 =A0 =A0 =A0da =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# D=
irect Access (disks)=0A=
device =A0 =A0 =A0 =A0 =A0cd =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# C=
D=0A=
device =A0 =A0 =A0 =A0 =A0pass =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Pas=
sthrough device (direct ATA/SCSI access)=0A=
device =A0 =A0 =A0 =A0 =A0ses =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Enc=
losure Services (SES and SAF-TE)=0A=
#device =A0 =A0 =A0 =A0 ctl =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # CAM T=
arget Layer=0A=
=0A=
# atkbdc0 controls both the keyboard and the PS/2 mouse=0A=
device =A0 =A0 =A0 =A0 =A0atkbdc =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# AT ke=
yboard controller=0A=
device =A0 =A0 =A0 =A0 =A0atkbd =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # AT ke=
yboard=0A=
device =A0 =A0 =A0 =A0 =A0psm =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # PS/=
2 mouse=0A=
=0A=
device =A0 =A0 =A0 =A0 =A0kbdmux =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# keybo=
ard multiplexer=0A=
=0A=
device =A0 =A0 =A0 =A0 =A0vga =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # VGA=
 video card driver=0A=
options =A0 =A0 =A0 =A0 VESA =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Add s=
upport for VESA BIOS Extensions (VBE)=0A=
=0A=
device =A0 =A0 =A0 =A0 =A0splash =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Splas=
h screen and screen saver support=0A=
=0A=
# syscons is the default console driver=2C resembling an SCO console=0A=
device =A0 =A0 =A0 =A0 =A0sc=0A=
options =A0 =A0 =A0 =A0 SC_PIXEL_MODE =A0 =A0 =A0 =A0 =A0 # add support for=
 the raster text mode=0A=
# vt is the new video console driver=0A=
device =A0 =A0 =A0 =A0 =A0vt=0A=
device =A0 =A0 =A0 =A0 =A0vt_vga=0A=
device =A0 =A0 =A0 =A0 =A0vt_efifb=0A=
=0A=
device =A0 =A0 =A0 =A0 =A0agp =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # sup=
port several AGP chipsets=0A=
=0A=
# PCI Ethernet NICs.=0A=
device =A0 =A0 =A0 =A0 =A0em =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# I=
ntel PRO/1000 Gigabit Ethernet Family=0A=
=0A=
# Pseudo devices.=0A=
device =A0 =A0 =A0 =A0 =A0loop =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Net=
work loopback=0A=
device =A0 =A0 =A0 =A0 =A0random =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Entro=
py device=0A=
device =A0 =A0 =A0 =A0 =A0rdrand_rng =A0 =A0 =A0 =A0 =A0 =A0 =A0# Intel Bul=
l Mountain RNG=0A=
device =A0 =A0 =A0 =A0 =A0ether =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Ether=
net support=0A=
device =A0 =A0 =A0 =A0 =A0vlan =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# 802=
.1Q VLAN support=0A=
=0A=
# The `bpf' device enables the Berkeley Packet Filter.=0A=
# Be aware of the administrative consequences of enabling this!=0A=
# Note that 'bpf' is required for DHCP.=0A=
device =A0 =A0 =A0 =A0 =A0bpf =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Ber=
keley packet filter=0A=
=0A=
# USB support=0A=
device =A0 =A0 =A0 =A0 =A0uhci =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# UHC=
I PCI->USB interface=0A=
device =A0 =A0 =A0 =A0 =A0ohci =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# OHC=
I PCI->USB interface=0A=
device =A0 =A0 =A0 =A0 =A0ehci =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# EHC=
I PCI->USB interface (USB 2.0)=0A=
device =A0 =A0 =A0 =A0 =A0xhci =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# XHC=
I PCI->USB interface (USB 3.0)=0A=
device =A0 =A0 =A0 =A0 =A0usb =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # USB=
 Bus (required)=0A=
device =A0 =A0 =A0 =A0 =A0ukbd =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Key=
board=0A=
device =A0 =A0 =A0 =A0 =A0umass =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # Disks=
/Mass storage - Requires scbus and da=0A=
# VirtIO support=0A=
device =A0 =A0 =A0 =A0 =A0virtio =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Gener=
ic VirtIO bus (required)=0A=
device =A0 =A0 =A0 =A0 =A0virtio_pci =A0 =A0 =A0 =A0 =A0 =A0 =A0# VirtIO PC=
I device=0A=
device =A0 =A0 =A0 =A0 =A0vtnet =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 # VirtI=
O Ethernet device=0A=
device =A0 =A0 =A0 =A0 =A0virtio_blk =A0 =A0 =A0 =A0 =A0 =A0 =A0# VirtIO Bl=
ock device=0A=
device =A0 =A0 =A0 =A0 =A0virtio_scsi =A0 =A0 =A0 =A0 =A0 =A0 # VirtIO SCSI=
 device=0A=
device =A0 =A0 =A0 =A0 =A0virtio_balloon =A0 =A0 =A0 =A0 =A0# VirtIO Memory=
 Balloon device=0A=
=0A=
# Netmap provides direct access to TX/RX rings on supported NICs=0A=
device =A0 =A0 =A0 =A0 =A0netmap =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# netma=
p(4) support=0A=
=0A=
# The crypto framework is required by IPSEC=0A=
device =A0 =A0 =A0 =A0 =A0crypto =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0# Requi=
red by IPSEC=0A=
=0A=
root@mirage:/usr/src # make buildkernel KERNCONF=3DMIRAGE_KERNEL=0A=
=0A=
* snip most of build output *=0A=
=0A=
cc =A0-c -O2 -pipe -fno-strict-aliasing =A0 -nostdinc =A0-I. -I/usr/src/sys=
 -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -incl=
ude opt_global.h =A0-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m=
cmodel=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float =A0-fno-asynch=
ronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wredun=
dant-decls -Wnested-externs -Wstrict-prototypes =A0-Wmissing-prototypes -Wp=
ointer-arith -Winline -Wcast-qual =A0-Wundef -Wno-pointer-sign -D__printf__=
=3D__freebsd_kprintf__ =A0-Wmissing-include-dirs -fdiagnostics-show-option =
=A0-Wno-unknown-pragmas =A0-Wno-error-tautological-compare -Wno-error-empty=
-body =A0-Wno-error-parentheses-equality -Wno-error-unused-function =A0-Wno=
-error-pointer-sign -Wno-error-shift-negative-value =A0-mno-aes -mno-avx =
=A0-std=3Diso9899:1999 -Werror =A0/usr/src/sys/dev/usb/input/ukbd.c=0A=
/usr/src/sys/dev/usb/input/ukbd.c:1213:18: error: use of undeclared identif=
ier 'key_map'=3B did you mean 'fkey_tab'?=0A=
=A0 =A0 =A0 =A0 sc->sc_keymap =3D key_map=3B=0A=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ^~~~~~~=0A=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 fkey_tab=0A=
/usr/src/sys/dev/kbd/kbdtables.h:213:18: note: 'fkey_tab' declared here=0A=
static fkeytab_t fkey_tab[96] =3D {=0A=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0^=0A=
/usr/src/sys/dev/usb/input/ukbd.c:1213:16: error: assigning to 'keymap_t' (=
aka 'struct keymap') from incompatible type=0A=
=A0 =A0 =A0 'fkeytab_t [96]'=0A=
=A0 =A0 =A0 =A0 sc->sc_keymap =3D key_map=3B=0A=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ^ ~~~~~~~=0A=
/usr/src/sys/dev/usb/input/ukbd.c:1214:18: error: use of undeclared identif=
ier 'accent_map'=0A=
=A0 =A0 =A0 =A0 sc->sc_accmap =3D accent_map=3B=0A=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ^=0A=
3 errors generated.=0A=
*** Error code 1=0A=
=0A=
Stop.=0A=
make[2]: stopped in /usr/obj/usr/src/sys/MIRAGE_KERNEL=0A=
*** Error code 1=0A=
=0A=
Stop.=0A=
make[1]: stopped in /usr/src=0A=
*** Error code 1=0A=
=0A=
Stop.=0A=
make: stopped in /usr/src=0A=
=0A=
 		 	   		  =



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BAY182-W13672A61333391FDD08DEA2B30>