Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Nov 2002 14:39:09 -0600
From:      Mark Linimon <linimon@lonesome.com>
To:        freebsd-ports@freebsd.org
Subject:   some thoughts on the "unbuildable ports" reports
Message-ID:  <200211031439.09383.linimon@lonesome.com>

next in thread | raw e-mail | index | archive | help

--------------Boundary-00=_9DP05BWH6GJ9J60TGZXE
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Well, since we're up to 1200+ on -current now, I thought I would poke
around in the reports a bit and see what conclusions I could make.
Really, I'm just brainstorming here.

I hacked up a script that takes */index-reason.html and produces
by-error statistics.  It's moronic but instructive.  It, and a result of =
its
output, are attached.

Bill Fenner's scripts are pretty good but since they're heuristic
they don't tell the whole story.  I've given him a head-up via
email that some of these might be worth breaking out as new
categories.  In any case, it's worth noting that there are really
a lot fewer than 1200 distinctive errors in the ports tree :-)

So let's see if we can further subdivide some of the current
categories.

Subcategories of "???":

1. "pod2man: not found".  Clearly this is a subclass of perl error --
but I've seen it before on -stable so it might be worth breaking out
as "pod2man".  There are a lot of these.

2. "checking for XShapeCombineMask in -lXext... no.
The shape extension stuff could not be found in the X client libraries."
There seem to be a number of these as well so they are
probably worth breaking out as a category.  I have no clue
what it exactly means, however ...

3. A couple of dozen of the apache mod_* modules report
"/usr/local/sbin/apxs:No such file or directory".  Possibly worth
breaking out as "apxs".

4. "/usr/include/machine/cpufunc.h: In function `int ffs(int)':
/usr/include/machine/cpufunc.h:110: `int ffs(int)' was declared `extern'
and later `static'
/usr/include/strings.h:44: previous declaration of `int ffs(int)'".
There are a few of these -- a conflict of cpufunc.h with strings.h.  See
http://www.FreeBSD.org/cgi/query-pr.cgi?pr=3Di386%2F41930.
An ugly hack is possible (after cpufunc.h, #undef ffs(), since
really what's wanted from cpufunc are just inb() and outb(),
but that's really crude.  I'd be interested in the "real" solution,
email me.)

5. A few things in games assume that "/var/games" already exists.
Not worth breaking out as a category, this looks like a one-time
problem.

Subcategories of "linker error":

1. "/usr/bin/ld: warning: libXThrStub.so.6, needed by
/usr/X11R6/lib/libX11.so, not found."  i.e. the "pthreads" error.
This seems to be under discussion on -current under the
misnamed thread "gnome on current".  This is worth breaking
out as its own category -- there are probably over a hundred.
(Some of these get picked up under "USE_XLIB" as well).

2. Another popular variation on pthreads: "undefined reference to
`pthread_mutex_unlock'."  (A number of these are owned by "ports").
(Actually, some of these also get counted as "new compiler error".)
This should be included in the above category.

Conclusions:

1. There are a lot less than 1200 "real" distinct problems.  However,
many of the above are in ports maintained by "ports@freebsd.org",
which is a little worrisome.

2. Interestingly, of category "perl" there are less than a dozen
ports maintained by "ports@", so really it could be claimed that
e.g. the pthreads problem is more in need of some mass solution
that "perl", because many more of the "pthreads" problems are
owned by "ports@".

3. I sure would hate to see 1200 PRs get filed :-)  OTOH 1200
posts on cvs-all doesn't sound too appetizing, either.

Again, this is meant as fodder for brainstorming, not flame-bait.
Your Mileage May Vary.  No User-Serviceable Parts Inside.
Void Where Prohibited.

Mark Linimon
linimon@lonesome.com

--------------Boundary-00=_9DP05BWH6GJ9J60TGZXE
Content-Type: application/x-shellscript;
  name="reasons"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="reasons"

#!/bin/sh
#
# cat an HTML save operation of any of the Package
# Building Errors Sorted By Reasons Pages (e.g.
# http://bento.freebsd.org/errorlogs/5-latest/index-reason.html)
# to this script to get a counted list or failure reasons.

grep "<http://bento.freebsd.org/#" | \
  sed -e "s@ <http://bento.freebsd.org/#.*@@" | \
  sed -e "s@\[B\] @@" | \
  sort | \
  uniq -c -i

--------------Boundary-00=_9DP05BWH6GJ9J60TGZXE
Content-Type: text/x-csrc;
  charset="us-ascii";
  name="reasons.out"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="reasons.out"

 133 ???
   5 MOTIFLIB
   2 NFS
  19 PLIST
   1 USE XLIB
  63 bad C++ code
   1 bison
  19 checksum
  99 compiler error
  44 configure error
   6 coredump
   2 depend object
  15 fetch
   2 gcc bug
   6 install error
 511 linker error
   2 manpage
  42 missing header
  23 new compiler error
   6 patch
 230 perl
   8 stdio
  11 struct changes
   1 union wait

--------------Boundary-00=_9DP05BWH6GJ9J60TGZXE--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




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