From: John Spencer <maillist-musl@barfooze.de>
To: musl@lists.openwall.com
Cc: Gregor Richards <gr@purdue.edu>
Subject: Re: Latest pkgsrc results [What builds on musl 0.9.13?]
Date: Fri, 08 Nov 2013 11:48:12 +0100 [thread overview]
Message-ID: <527CC16C.50108@barfooze.de> (raw)
In-Reply-To: <20131107234630.GC1685@port70.net>
Szabolcs Nagy wrote:
> * Szabolcs Nagy <nsz@port70.net> [2013-11-07 03:46:52 +0100]:
>> * Gregor Richards <gr@purdue.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.
next prev parent reply other threads:[~2013-11-08 10:48 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-07 0:34 Gregor Richards
2013-11-07 2:01 ` Szabolcs Nagy
2013-11-07 2:22 ` Gregor Richards
2013-11-07 2:46 ` Szabolcs Nagy
2013-11-07 23:46 ` Szabolcs Nagy
2013-11-08 10:48 ` John Spencer [this message]
2013-11-09 1:01 ` Rich Felker
2013-11-09 4:02 ` Szabolcs Nagy
2013-11-09 5:20 ` Rich Felker
2013-11-09 16:16 ` Szabolcs Nagy
2013-11-09 16:41 ` Rich Felker
2013-11-10 17:14 ` Szabolcs Nagy
2013-11-10 18:22 ` Rich Felker
2013-11-28 3:23 ` Rob Landley
2013-11-29 17:49 ` Rich Felker
2013-11-07 4:50 ` Kurt H Maier
2013-11-07 13:19 ` Kurt H Maier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=527CC16C.50108@barfooze.de \
--to=maillist-musl@barfooze.de \
--cc=gr@purdue.edu \
--cc=musl@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).