Date: Fri, 08 Nov 2013 11:48:12 +0100 From: John Spencer <maillist-musl@...fooze.de> To: musl@...ts.openwall.com CC: Gregor Richards <gr@...due.edu> Subject: Re: Latest pkgsrc results [What builds on musl 0.9.13?] Szabolcs Nagy wrote: > * Szabolcs Nagy <nsz@...t70.net> [2013-11-07 03:46:52 +0100]: >> * Gregor Richards <gr@...due.edu> [2013-11-06 21:22:14 -0500]: >>> I've uploaded the complete log for this run to Google Drive: https://googledrive.com/host/0BwnS5DMB0YQ6Tjd4Z2RXeTdlaDA/pkgsrc-results-2013Q2-b44694ce2dd6-musl-0.9.13-log.txt.xz >>> . If there's demand, I'll find a less silly solution in the future. >> thanks, that is good enough for me > > i processed a large chunk of the logs, here is a summary: thanks, good work > > top missing symbols (compile or link time): > > libintl_* > postgres*-client, libmusicbrainz5, weechat-curses, scmxx, scmgit-base,.. > getloadavg > pbzip2, tokyotyrant, distccmon-gnome > NO_ADDRESS > apache22, bglibs, cvsps, vanessa_logger, net6 apache works flawlessly in sabotage, however that v24 > res_mkquery, res_send > hesiod, openldap-server, queryperf, traceroute-nanog, avenger, mtr > optreset > dar, freetds > (several configure checks found it incorrectly, but then it was not used) > strtoq > tdb, ia64sim can be replaced with portable strtoll() > GLOB_NOMAGIC, GLOB_BRACE > asterisk18 > canonicalize_file_name > gtkwave can be replaced with portable realpath(X, 0) > union wait > tcsh patch exists in sabotage > semtimedop > sqlrelay > sys_errlist > dmake bsd specific errlist, can be replaced with strerror() > sys_siglist > xemacs bsd specific siglist, can be replaced with strsignal() > herror > opencm > mallinfo > libfirm > TIMESPEC_TO_TIMEVAL > libusbx patch exists in sabotage > POSIX_SPAWN_USEVFORK > ruby-posix-spawn > ruserok > u9fs > struct ip_mreq_source > mad-flute > struct flock64 > qemu patch exists in sabotage > F_EXLCK > qemu patch exists in sabotage > c_ispeed, c_ospeed (struct termios members) > icdprog > d_namlen (struct dirent member) > icb > st_ctimensec (struct stat member) > libuv > setpgrp (apparently sysv and bsd prototype differ) > unrealircd > libiconv_* > odt2txt, ted > KIOCSOUND, TIOCCDTR, TIOCSDTR, TIOCGSIZE (ioctl) > minicom, modemd, beav > __STRING, __P, __BEGIN_DECLS (cdefs.h) > libmp4v2, ctrlproxy, irssi-xmpp, fortran-utils, cook usage of sys/cdefs.h is stupid, these should just be fixed upstream > > missing internal symbols: > howl: __sighandler_t > xetex, icu: __timezone > h8300-hms-gcc: __mempcpy > erlang: __uint32_t > libstatgrab: __uint8_t > applyppf, makeppf: __off64_t > qemu: __sigset_t likewise > > > top missing headers: > > sys/timeb.h > unalz, audacity, gplcver, ng-spice, gammu, hdf5, libpgm, mico, dasher,.. was added to musl git a couple days back > sys/cdefs.h > asterisk*, xulrunner* (jemalloc), libmilter, sendmail, dhcpcd,.. > termio.h > blackened, gnatpython, pardiff, emacs*-nox11, ski, bastet, craft, top,.. these should probably be fixed to check for termios.h at configure time and use that if available > rpc/types.h rpc/rpc.h > hdf, glusterfs, mrstat, lsof, snort, portmap, sharity-light, net-snmp, unfs3, ywho, PAM,.. there's a package "portablexdr" which provides these headers, plus an implementation of the xdr parts of it. > sys/queue.h > libstree, openrcs, miniupnpd, mtftpd, pim6dd, transmission,.. this one is fun: miniupnp for example comes with its own copy of queue.h, but doesnt use it properly. the author is ignoring a bug report since 10 months: https://github.com/miniupnp/miniupnp/issues/25 , maybe it would help if others could ping the issue there, so the author sees its not just a single dude demanding portability. transmission includes its own copy of miniupnp, and that's what fails again. packages using this header should generally provide their own copy, and then just unconditionally use it instead of doing all kinds of hacks to be able to fall back to the system copy if it exists. patch exists in sabotage > sgtty.h > kermit, mg2a, ve, 7plus, xjdic > execinfo.h > redis, virtuoso, powerdns, packagekit, qt4-creator they want to use glibc's backtrace(), so they should check whether it's available. > sys/bitypes.h > libbind, libdnsres > sys/unistd.h > mlview, foobillard, galaxa, slurm should be <unistd.h> of course. no idea where these guys learned C. > sys/endian.h > swarm > machine/endian.h > estic, opendis probably #ifdef __GLIBC__ used instead of __linux__ : machine/endian.h is the BSD/OSX version of <endian.h> maybe sys/endian.h should be added as a forward to endian.h as it's been done for sys/poll.h and the likes. > net/ppp_defs.h > poptop, slurm, xfce4-netload-plugin > a.out.h > bcc, ntp4 > asm/page.h > clisp, s10sh, same > sys/debugreg.h > gdb6 patch exists in sabotage > sys/dirent.h > heirloom-libcommon should be <dirent.h> > obstack.h > p5-Proc-ProcessTable > gnu/lib-names.h > ruby-ffi > fpu_control.h > jamvm > rpcsvc/ypclnt.h > rtptools > xlocale.h > liblive > net/if_ether.h > cia should be netinet/if_ether.h > net/if_packet.h > isc-dhcp4 > netinet/igmp.h > ngrep > re_comp.h > rdist6 > fstab.h > samba35 > error.h > vpnc > fts.h > slocate using fts.h is completely broken quoting glibc: /* The fts interface is incompatible with the LFS interface which transparently uses the 64-bit file access functions. */ #ifdef __USE_FILE_OFFSET64 # error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64" #endif > sys/perm.h > xosview > > > gcc-4.8.1 bugs: > epic4: exec.c:118:18: internal compiler error: in set_lattice_value, at tree-ssa-ccp.c:451 > bullet: btInternalEdgeUtility.cpp:310:2: internal compiler error: Segmentation fault > aegis fails because in libstdc++ cinttypes header is broken without -std=c++11 or -std=gnu++11 > boost-libs fail because mm_malloc.h has incompatible posix_memalign decl with throw() > > probably busybox failures: > ocaml-mysql: sed fails with out of memory > hugs: cat: illegal option: s > rcs: Could not find a sane line-by-line differences program (tried: gdiff rdiff diff) > sdcc: /bin/sh: syntax error: unexpected redirection > at least mysql5-client config uses getconf > > accessing FILE internals: > kermit: ckucmd.c:7395:48: debug(F101,"cmdconchk stdin->_cnt","",stdin->_cnt); > icon: fpoll.c:75:9: if (f->_cnt > 0) > emacs24: print.c:760:3: stderr = initial_stderr_stream; > db46: checking for FILE... no configure: error: No FILE type. yay. > > collision between libc header and linux header: > libnet10: redefinition of struct ether_addr > libnet11: linux/if.h: redefinition of struct ifmap > > -Werror suicide: > upx, mame, mess, tme, sfslite configure --disable-werror should fix that if autoconf is used > > other > qt3-libs, ptlib: using signed int for socklen_t > mysql5-client config tries to check 'getconf GNU_LIBPTHREAD_VERSION' > many audio pkg: alsa/global.h redefines struct timespec if _POSIX_C_SOURCE is unset patched in sabotage, my enquiry regarding this header was left unanswered. http://mailman.alsa-project.org/pipermail/alsa-devel/2013-July/064402.html (however the "guilty" developer which i addressed didnt post anything to alsa-devel since. i guess it would make sense to forward this to takashi iwai who has been very cooperative in the past) the other compatibility issues of alsa have been fixed, and 1.27.3 should build out of the box. > pulseaudio, esound: broken /dev/dsp emulation with LD_PRELOAD hack LOL > clang: DynamicLibrary.cpp has broken ifdef logic and stdin etc access was reported upstream several times, but the developers apparently don't care. seems some social engineering in the #llvm chan @oftc is required to get that fixed. > easytag, libpeas: NULL sentinel > pth, jabberd: #error "Unsupported Linux (g)libc version and/or platform" > binutils, mingw-binutils: empty character constant '' > p5-GD: CORE/perl.h uses off64_t without gnu or lfs feature test > dosbox: uses undefined typename in offsetof works in sabotage > valgrind: configure: error: Valgrind requires glibc version 2.2 - 2.16 > emacs20: configure: error: Emacs hasn't been ported to `x86_64-unknown-linux-gnu' systems. > rrdtool: configure: error: I need a copy of *nroff to format the documentation > afs, openafs: configure: error: Couldn't guess your Linux version. > nvi: configure: error: No writeable preserve directory found. > gtk-doc: configure: error: could not find DocBook XML DTD V4.3 in XML catalog > boost/integer_traits.hpp: misses WCHAR_MIN and WCHAR_MAX because of ifdef hell boost patches are availabe in sabotage > cstore: static const int PAGE_SIZE=65000; o_0 > zzuf: redefinition of open: int NEW(open64)(const char *file, int oflag, ...) > libjit: #error "Don't know how to determine if floating point numbers are finite" > tk: tkPanedWindow.o: file not recognized: File truncated > ex: conflicing prototype: char *memalign(size_t alignment, size_t size); > dia: configure: error: Can't find neither a definition of isinf nor ieeefp.h should use isfinite() > cc65, gnats, sandy: undefined siginfo_t because sys/wait.h is used with -std=c89 > scrollz: undefined curses symbols (tputs, tgetstr) > gnuchess4, camediaplay, sc, sysmon: cannot find curses.h > ocaml-zip, edb: cannot find zlib.h > poco: cannot find sqlite3.h > sdbm: cannot find ndbm.h > > include fails: > libbinio: EOF was not declared in this scope > libmpdclient: unknown type name fd_set > glib: poll undeclared here > libspiff: printf was not declared in this scope > libproxy: fd_set was not declared > climm: unknown type name int8_t > sirc: incompatible implicit declaration of built-in function strlen > uisp: NULL was not declared in this scope > xqilla: ptrdiff_t does not name a type > gnome-keyring: unknown type name fd_set > libhfs: unknown type name time_t > libpgm: unknown type name ssize_t > log4shib: int64_t does not name a type > nsis: close was not declared in this scope > pyfann: ptrdiff_t does not name a type > rpc2: F_GETFL undeclared > tvision: intptr_t has not been declared > vanessa_logger: undefined CODE > mg: unknown type name mode_t > notecase: basename was not declared in this scope > xemacs: NI_MAXHOST undeclared > aranym: caddr_t was not declared in this scope > gpsim-devel: puts was not declared in this scope > pcemu: O_RDONLY undeclared > vba: uint32_t does not name a type > oto: incompatible implicit declaration of built-in function calloc > cdparanoia: u_int32_t undeclared > anope: unknown type name u_int32_t > conserver: u_short undeclared > gmp3info: uint undeclared > libbegemot: unknown type name u_int > aliados: ushort has not been declared failure to include sys/types.h is something i often encounter. it seems some glibc header automatically pulls that one in. > TL;DR: no single musl bug. if someone wants to help, feel free to forward this list to the respective package maintainers.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.