8-STABLE /usr/include/utmp.h and tmpx
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