bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Analysis of build failures in Debian GNU/Hurd


From: Michael Banck
Subject: Analysis of build failures in Debian GNU/Hurd
Date: Sun, 1 Jul 2007 16:43:56 +0200
User-agent: Mutt/1.5.13 (2006-08-11)

Hello,

this mail is a summary of the different kinds of build failures the
Debian GNU/Hurd autobuilder has encountered while building through the
Debian archive.  I've CC'd it to bug-hurd as this should be of general
interest to the GNU Hurd as well.  I also skipped over most of the non
C/C++ failures and general build machine trouble.

Overall, slightly more than 50% of the Debian packages build fine on
Debian GNU/Hurd, around 28% have missing build dependencies, and around
18% fail.

Out of the 1281 packages failing, there are about a dozen main types of
failures:

 (1) Some constant like PATH_MAX being undeclared
 (2) Some header file like <net/ethernet.h> not present
 (3) GNU/Hurd unknown to the build system
 (4) hurd-i386 not in architecture list (Debian specific)
 (5) Linking errors
 (6) Errors involving structs
 (7) Syntax errors possibly due to wrong cpp directives
 (8) Failures in Debian's debhelper scripts, usually uncovering previous
     build failures which got glossed over
 (9) Failed configure checks, usually for some header we do not have
 (10) Failures in test suites
 (11) Hangs/segfaults etc. in the build daemon while executing something

Note that I only counted the first build error here; i.e. it is entirely
possible that a program still uses PATH_MAX unconditionally even after a
missing header got implemented, for example.

 (1) 397 Undeclared constants:

        - PATH_MAX: 155
        - MAXPATHLEN: 76
        - MAXHOSTNAMELEN: 34
        - _IOT*: 14
        - SA_SIGINFO: 11
        - sys_errlist: 7
        - MSG_NOSIGNAL: 9
        - NOFILE: 7
        - IPV6_PKTINFO: 5
        - PTHREAD_MUTEX_RECURSIVE_NP: 4
        - SOL_IP: 5
        - PIPE_BUF: 4
        - SOUND_MIXER_*: 4
        - HZ: 3
        - SIOCDEVPRIVATE: 3
        - sys_nerr: 2
        - MAP_NORESERVE: 2
        - O_DIRECT: 2
        - ONLCR: 2
        - TABDLY: 2
        - TCGETS: 2 
        - SA_NOCLDWAIT: 2
        - ETHER_ADDR_LEN: 2
        - RLIMIT_AS: 2

The following declarations were missing once: AFMT_U8, AF_BLUETOOTH,
ARG_MAX, B9600, CDIOCEJECT, CDROM_SELECT_SPEED, CLONE_VM, CODESET,
CTL_BANK_SELECT, DEV_SERIAL_PREFIX, ETHERTYPE_IP, ETH_ALEN,
FAM_DEBUG_OFF, FIONREAD, F_SETSIG, IOV_MAX, IPV6_V6ONLY, IUCLC, LOCK_EX,
MCAST_JOIN_SOURCE_GROUP, MREMAP_MAYMOVE, OCRNL, OFILL, OPEN_MAX,
O_NOFOLLOW, PING_PROGRAM_FORMAT_6, POLLRDNORM, PPWDATA,
PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP, PTHREAD_STACK_MIN, QMAGIC,
SIGPWR, SIOCSIFHWADDR, SNDCTL_DSP_SETFRAGMENT, SOL_RAW, S_IFMT, TAB3,
TCSBRKP, TCSETS, TIOCGSERIAL, TIOCM_RI, _MAX_PATH

 (2) 329 Missing headers:

        - sys/mount.h: 19
        - net/if_arp.h: 17
        - net/ethernet.h: 15
        - termio.h: 12
        - net/ppp_defs.h: 8
        - net/route.h: 6
        - sys/kd.h: 6
        - sys/vt.h: 6
        - netpacket/packet.h: 4
        
        - linux/types.h: 20
        - asm/types.h: 17
        - linux/cdrom.h: 15
        - linux/kd.h: 10
        - linux/videodev.h: 9
        - linux/fb.h: 6
        - linux/hdreg.h: 6
        - linux/joystick.h: 6
        - linux/input.h: 6
        - linux/fs.h: 4
        - linux/if.h: 4
        - linux/ioctl.h: 4
        - linux/limits.h: 4

The following headers were mising three times or fewer: AppleEvents.h,
X11/forms.h, asm/byteorder.h, asm/ioctl.h, asm/ioctls.h, asm/page.h,
asm/param.h, asm/timex.h, asm/types.h, asm/unistd.h, ast.h, awe_voice.h,
caml/callback.h, caml/custom.h, caml/memory.h, caml/mlvalues.h,
cfortran.h, compiler-info.h, drm.h, fcntl.h, forms.h, initreq.h,
linux/apm_bios.h, linux/awe_voice.h, linux/capability.h, linux/cdrom.h,
linux/config.h, linux/cramfs_fs.h, linux/dvb/dmx.h,
linux/dvb/frontend.h, linux/errno.h, linux/fb.h, linux/fd.h, linux/fs.h,
linux/hdreg.h, linux/if.h, linux/if_ether.h, linux/if_tun.h,
linux/if_vlan.h, linux/in.h, linux/inotify.h, linux/input.h,
linux/ioctl.h, linux/isdn.h, linux/iso_fs.h, linux/joystick.h,
linux/kd.h, linux/kdev_t.h, linux/limits.h, linux/major.h,
linux/netdevice.h, linux/netfilter_ipv4.h, linux/nfs.h, linux/parport.h,
linux/posix_types.h, linux/reboot.h, linux/rtc.h, linux/rtnetlink.h,
linux/scc.h, linux/serial.h, linux/socket.h, linux/sockios.h,
linux/soundcard.h, linux/stat.h, linux/sys.h, linux/tty.h,
linux/types.h, linux/usbdevice_fs.h, linux/version.h, linux/videodev.h,
linux/vt.h, linux/wireless.h, machine/joystick.h, mem.h, net/ethernet.h,
net/if_arp.h, net/if_tun.h, net/ppp_defs.h, net/route.h,
netinet/ip_var.h, netipx/ipx.h, netpacket/packet.h, nlist.h, pcap.h,
scsi/scsi.h, scsi/sg.h, selinux/selinux.h, sun/audioio.h,
sundev/srreg.h, sys/endian.h, sys/epoll.h, sys/filio.h, sys/kd.h,
sys/mount.h, sys/prctl.h, sys/protosw.h, sys/soundcard.h, sys/sysctl.h,
sys/timex.h, sys/vm86.h, sys/vt.h, sysinfo.h, tcl8.3/tcl.h, termio.h,
tk.h, ufs/ufs/dinode.h, util.h, vis.h, windows.h

 (3) 70 build system issues
        - 33 #error "unknown/unsupported architecture/platform/kernel"
          (compile time)
        - 24 '*gnu*' "not supported yet", "your OS is NOT supported" etc.
          (configure time)
        - 13 "No rule to make target gnu/$FOO"

 (4) 60 hurd-i386 not being in architecture list (Debian specific)

 (5) 43 Linking errors 

        - 9 Cannot find -lXp (this is due to imake issues)
        - 4 pthread_mutex_unlock undefined
        - 4 iopl undefined
        - 2 pthread_cond_signal undefined
        - 2 isatty(int) undefined
        - 2 BYTE_FIX undefined

The following symbols were undefined once: CRYPTO_num_locks,
XAllocColor, _PATCHKEY, alGenBuffers, battery_check, dlclose, dlopen,
free, gdk_colormap_get_system, gdk_visual_get_system, hostname, main,
max_volume, operator new[](unsigned int), pthread_mutex_lock,
pthread_self, regex, sys_errlist, wi_close

The following libraries weren't found once: libAtFStk, libXt, libabz,
libdvilib2, libintl, libnet, libps, libxclass

 (6) 42 Struct/Type issues

        - 14 "storage size of $FOO isn't known"
        - 11 conflicting types for $FOO"
        - 9 "$FOO has no member named $BAR"
        - 4 invalid application of 'sizeof' to incomplete type 'struct
          ether_header'
        - 4 "$FOO has incomplete type"

 (7) 26 Syntax errors, including

        - 9 "expected '=', ',', ';', 'asm' or '__attribute__' before $FOO"
        - 5 "syntax error before $FOO"
        - 4 "expected declaration specifiers or '...' before $FOO"
         
 (8) 24 Failures in Debian debhelper scripts, including

        - 16 missing files for dh_install/dh_movefiles, presumably due
          to non-fatal build errors earlier
        - 3 parse errors in dh_gencontrol
 
The remaining build failures are harder to classify, they are test suite
failures, issues on the build daemon, configure test failures etc.  I
might go through them eventually when I have the time, but I wanted to
get this out to finally have the figures on display.


cheers,

Michael




reply via email to

[Prev in Thread] Current Thread [Next in Thread]