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

Bug 551620

Summary: =sys-apps/kbd-1.15.5-r1 fails to compile on armv7a-hardened-musl
Product: Gentoo Linux Reporter: Michael Jones <gentoo>
Component: Current packagesAssignee: Gentoo musl team <musl>
Status: IN_PROGRESS ---    
Severity: normal CC: gentoo
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 563350    
Bug Blocks: 430702    

Description Michael Jones 2015-06-09 22:53:01 UTC
This bug should be made a blocker of : https://bugs.gentoo.org/show_bug.cgi?id=430702

And assigned to blueness@gentoo.org


ymir sys-apps # zcat kbd-1.15.5-r1/temp/build.log.gz 
 * Package:    sys-apps/kbd-1.15.5-r1
 * Repository: gentoo
 * Maintainer: base-system@gentoo.org
 * USE:        arm elibc_musl kernel_linux nls userland_GNU
 * FEATURES:   preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking kbd-1.15.5.tar.gz to /var/tmp/portage/sys-apps/kbd-1.15.5-r1/work
>>> Source unpacked in /var/tmp/portage/sys-apps/kbd-1.15.5-r1/work
>>> Preparing source in /var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5 ...
 * Applying kbd-1.15.5-loadkeys-parse.patch ...
 [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5 ...
 * econf: updating kbd-1.15.5/config/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating kbd-1.15.5/config/config.guess with /usr/share/gnuconfig/config.guess
./configure --prefix=/usr --build=armv7a-hardfloat-linux-musleabi --host=armv7a-hardfloat-linux-musleabi --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --enable-nls --disable-vlock
checking for a BSD-compatible install... /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for armv7a-hardfloat-linux-musleabi-gcc... armv7a-hardfloat-linux-musleabi-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether armv7a-hardfloat-linux-musleabi-gcc accepts -g... yes
checking for armv7a-hardfloat-linux-musleabi-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of armv7a-hardfloat-linux-musleabi-gcc... none
checking whether armv7a-hardfloat-linux-musleabi-gcc and cc understand -c and -o together... yes
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for a sed that does not truncate output... /bin/sed
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking build system type... armv7a-hardfloat-linux-musleabi
checking host system type... armv7a-hardfloat-linux-musleabi
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/gmsgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by GCC... /usr/armv7a-hardfloat-linux-musleabi/bin/ld
checking if the linker (/usr/armv7a-hardfloat-linux-musleabi/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking whether NLS is requested... yes
checking for GNU gettext in libc... no
checking for iconv... yes
checking for GNU gettext in libintl... no
checking whether to use NLS... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking how to run the C preprocessor... armv7a-hardfloat-linux-musleabi-gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for memory.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uid_t in sys/types.h... yes
checking for unistd.h... (cached) yes
checking for working chown... yes
checking whether closedir returns void... no
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking whether armv7a-hardfloat-linux-musleabi-gcc needs -traditional... no
checking return type of signal handlers... void
checking whether lstat correctly handles trailing slash... yes
checking whether stat accepts an empty string... no
checking for alarm... yes
checking for memset... yes
checking for setlocale... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strerror... yes
checking for strspn... yes
checking for strstr... yes
checking for strtol... yes
checking for strtoul... yes
checking for setpgrp... yes
checking for malloc... yes
checking for realloc... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wall flag... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wextra flag... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wmissing-noreturn flag... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wdisabled-optimization flag... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wcast-align flag... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wshadow flag... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wmissing-format-attribute flag... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wmissing-prototypes flag... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wstrict-prototypes flag... yes
checking if armv7a-hardfloat-linux-musleabi-gcc supports -Wmissing-declarations flag... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating data/Makefile
config.status: creating man/Makefile
config.status: creating man/man1/Makefile
config.status: creating man/man1/dumpkeys.1
config.status: creating man/man1/loadkeys.1
config.status: creating man/man1misc/Makefile
config.status: creating man/man5/Makefile
config.status: creating man/man8/Makefile
config.status: creating man/man8/loadunimap.8
config.status: creating man/man8/mapscrn.8
config.status: creating man/man8/setfont.8
config.status: creating man/man8misc/Makefile
config.status: creating po/Makefile.in
config.status: WARNING:  'po/Makefile.in.in' seems to ignore the --datarootdir setting
config.status: creating src/Makefile
config.status: creating src/vlock/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
        kbd 1.15.5
        ======
        prefix:                 /usr
        libdir:                 ${exec_prefix}/lib
        bindir:                 ${exec_prefix}/bin
        datadir:                /usr/share
        compiler:               armv7a-hardfloat-linux-musleabi-gcc
        cflags:                 -O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -Wall -Wextra -Wmissing-noreturn -Wdisabled-optimization -Wcast-align -Wshadow -Wmissing-format-attribute -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations

        {get,set}keycodes:      yes
        resizecons:             no
        optional progs:         no
        vlock:                  no

>>> Source configured.
>>> Compiling source in /var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5 ...
make -j10 
/usr/bin/make  all-recursive
make[1]: Entering directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5'
Making all in src
make[2]: Entering directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5/src'
/usr/bin/make  all-recursive
make[3]: Entering directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5/src'
Making all in vlock
make[4]: Entering directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5/src/vlock'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5/src/vlock'
make[4]: Entering directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5/src'
  CC     mapscrn-mapscrn.o
  CC     mapscrn-utf8.o
  CC     mapscrn-findfile.o
  CC     mapscrn-kdmapop.o
  CC     loadunimap-loadunimap.o  CC     mapscrn-getfd.o

  CC     loadunimap-findfile.o
  CC     mapscrn-xmalloc.o  CC     loadunimap-utf8.o

  CC     loadunimap-psffontop.o
  CC     loadunimap-xmalloc.o
  CC     loadunimap-getfd.o
  CC     loadunimap-kdmapop.o
  CC     dumpkeys.o
  CC     getfd.o
dumpkeys.c:110:10: error: unknown type name ‘u_char’
dumpkeys.c:110:27: error: unknown type name ‘u_char’
dumpkeys.c:173:1: error: unknown type name ‘u_char’
dumpkeys.c: In function ‘dump_keys’:
dumpkeys.c:389:10: warning: implicit declaration of function ‘get_bind’ [-Wimplicit-function-declaration]
dumpkeys.c:443:3: error: unknown type name ‘u_short’
Makefile:806: recipe for target 'dumpkeys.o' failed
make[4]: *** [dumpkeys.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5/src'
Makefile:1010: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5/src'
Makefile:539: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5/src'
Makefile:326: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5'
Makefile:266: recipe for target 'all' failed
make: *** [all] Error 2
 * ERROR: sys-apps/kbd-1.15.5-r1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=sys-apps/kbd-1.15.5-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-apps/kbd-1.15.5-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/temp/build.log.gz'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5'
 * S: '/var/tmp/portage/sys-apps/kbd-1.15.5-r1/work/kbd-1.15.5'


Reproducible: Always
Comment 2 Felix Janda 2015-06-12 18:18:27 UTC
Everything is already fixed in git head but there has not been a
release since that.
Comment 3 Felix Janda 2015-07-26 19:06:29 UTC
The new sys-apps/kbd-2.0.3 in tree compiles fine.
Comment 4 Felix Janda 2016-07-26 06:07:46 UTC
sys-apps/kbd-2.0.3 is now stable for all musl relevant archs. So this bug can be closed.
Comment 5 tt_1 2018-03-08 22:56:30 UTC
its all fixed, bug should be closed.
Comment 6 Joshua Kinard gentoo-dev 2020-01-25 07:43:55 UTC
Can this be closed now and package.mask entry in the musl profiles removed?  Successful compile on musl MIPS3/O32 big-endian:

>>> Completed installing sys-apps/kbd-2.2.0-r2 into /var/tmp/portage/sys-apps/kbd-2.2.0-r2/image

 * Final size of build directory: 17669 KiB (17.2 MiB)
 * Final size of installed tree:   5563 KiB ( 5.4 MiB)

strip: mips-unknown-linux-musl-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version
   /usr/bin/vlock
   /usr/bin/mapscrn
   /usr/bin/loadunimap
   /usr/bin/dumpkeys
   /usr/bin/showkey
   /usr/bin/loadkeys
   /usr/bin/setfont
   /usr/bin/showconsolefont
   /usr/bin/setleds
   /usr/bin/setmetamode
   /usr/bin/kbd_mode
   /usr/bin/psfxtable
   /usr/bin/fgconsole
   /usr/bin/kbdrate
   /usr/bin/chvt
   /usr/bin/deallocvt
   /usr/bin/kbdinfo
   /usr/bin/openvt
   /usr/bin/setvtrgb
   /usr/bin/getkeycodes
   /usr/bin/setkeycodes

>>> Installing (1 of 1) sys-apps/kbd-2.2.0-r2::gentoo
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.