I had this problem compiling x11/sessre port: " ===> Building for sessreg-1.0.7 make all-recursive Making all in man GEN filenames.sed GEN sessreg.1 CC sessreg.o sessreg.c: In function 'main': sessreg.c:276: warning: assignment discards qualifiers from pointer target type sessreg.c:281: warning: implicit declaration of function 'ttyslot' sessreg.c:281: warning: nested extern declaration of 'ttyslot' sessreg.c: In function 'set_utmp': sessreg.c:387: warning: declaration of 'line' shadows a global declaration sessreg.c:93: warning: shadowed declaration is here sessreg.c: In function 'set_utmpx': sessreg.c:463: warning: declaration of 'line' shadows a global declaration sessreg.c:93: warning: shadowed declaration is here sessreg.c: In function 'Xslot': sessreg.c:556: warning: declaration of 'ttys_file' shadows a global declaration sessreg.c:113: warning: shadowed declaration is here sessreg.c:556: warning: declaration of 'host_name' shadows a global declaration sessreg.c:108: warning: shadowed declaration is here sessreg.c: In function 'findslot': sessreg.c:616: warning: declaration of 'host_name' shadows a global declaration sessreg.c:108: warning: shadowed declaration is here sessreg.c:632: warning: assignment discards qualifiers from pointer target type CCLD sessreg sessreg.o: In function `main': sessreg.c:(.text+0xc7a): undefined reference to `ttyslot' *** [sessreg] Error code 1 Stop in /usr/ports/x11/sessreg/work/sessreg-1.0.7. *** [all-recursive] Error code 1 Stop in /usr/ports/x11/sessreg/work/sessreg-1.0.7. *** [all] Error code 1 Stop in /usr/ports/x11/sessreg/work/sessreg-1.0.7. *** [do-build] Error code 1 Stop in /usr/ports/x11/sessreg. root:[172] " I found ttyslot in man page. Then I made a little thisprogram to test: " #include <stdio.h> #include <unistd.h> main() { printf( "%d\n",ttyslot() ); } " Result: " goffredo:[1004] cc -s -o ttyslot_test ttyslot_test.c /tmp//ccyJQC88.o: In function `main': ttyslot_test.c:(.text+0xa): undefined reference to `ttyslot' " I worked around downloading and installing the old package below: ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.0-RELEASE/packages/x11/sessreg-1.0.7.tbz How-To-Repeat: Compile this program: " #include <stdio.h> #include <unistd.h> main() { printf( "%d\n",ttyslot() ); } "
This looks like you forgot to run `make delete-old` after upgrading from 8.x and sessreg's configure picks up obsolete utmp.h.
State Changed From-To: open->feedback To submitter: is this still a problem?
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped
There's no ttyslot since 9.0+, the error is highly likely caused by stale utmp.h. Closing after 6y feedback timeout.