8-STABLE /usr/include/utmp.h and tmpx

Pan Tsu inyaoo at gmail.com
Sat Jun 4 12:46:18 UTC 2011

Aryeh Friedman <aryeh.friedman at gmail.com> writes:

> Some time in the last 2 weeks (I am sure when) a commit caused many
> ports that assume a "standard" utmp/utmp.x to break for example
> x11-toolkits/vte produces:

I guess it's a user error, utmpx.h and utmp.h shouldn't both be present.
See similar issue


> gnome-pty-helper.c:497: warning: passing argument 4 of 'pty_add'
> discards qualifiers from pointer target type
> mv -f .deps/gnome-pty-helper.Tpo .deps/gnome-pty-helper.Po
> cc -DHAVE_CONFIG_H -I.   -I/usr/local/include  -O2 -pipe
> -march=prescott -fno-strict-aliasing -MT gnome-utmp.o -MD -MP -MF
> .deps/gnome-utmp.Tpo -c -o gnome-utmp.o gnome-utmp.c
> gnome-utmp.c: In function 'write_login_record':
> gnome-utmp.c:367: warning: passing argument 1 of 'login' from
> incompatible pointer type
> gnome-utmp.c:374: error: 'struct utmpx' has no member named 'ut_name'

If you're on /stable/8 try removing leftover includes from /head by
reinstalling /usr/include, e.g.

  $ mv /usr/include /usr/include.old
  $ make distrib-dirs installincludes -C/usr/src

  # a list of files that shouldn't be there
  $ mtree -klink -cinp /usr/include.old >old.mtree
  $ mtree -klink -cinp /usr/include >new.mtree
  $ diff -u old.mtree new.mtree

struct utmpx shouldn't be used on /stable/8 as there is no utmpx.h.

  # from vte-0.26.2/gnome-pty-helper/acinclude.m4
  AC_CHECK_HEADERS(sys/time.h utmp.h utmpx.h)

  if test "$ac_cv_header_utmpx_h" = "yes"; then
      AC_DEFINE(UTMP,[struct utmpx],[Define to the name of a structure which holds utmp data.])
      AC_DEFINE(UTMP,[struct utmp],[Define to the name of a structure which holds utmp data.])

And if you're on /head then stale utmp.h should be removed, e.g.

  $ make delete-old -C/usr/src

making the port use ut_user instead of ut_name.

> This is not the only port that has the issue but it is the only one I
> remember off the top of my head (I manually fixed a few others)

More information about the freebsd-current mailing list