Re: Error building on OS X El Capitan: utmp.c:384:5: error: no member named 'ut_exit' in 'struct utmpx'​

Dun Peal <[email protected]>
Newsgroups gmane.comp.gnu.screen.user
Message-ID <CAD03jn5Z9Yz7UxBhgtcASptd1uHUTddSAt7p=82aNsAccfb62g@mail.gmail.com>
Thanks, Amadeusz. As you instructed, I commented out the lines in utmp.c
which referenced ut_exit (lines #384-385) and then ran make again.
Unfortunately, it failed with a different error:

$ make
gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
-DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2 -Wall
-Wextra -std=c11 utmp.c -o utmp.o
utmp.c:358:21: warning: incompatible integer to pointer conversion passing
'slot_t' (aka 'int') to parameter of type 'const char *' [-Wint-conversion]
        strncpy(u.ut_line, slot, sizeof(u.ut_line));
                           ^~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/secure/_string.h:119:34:
note: expanded from
      macro 'strncpy'
  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
                                 ^~~
utmp.c:363:58: warning: unused parameter 'host' [-Wunused-parameter]
static int pututslot(slot_t slot, struct utmpx *u, char *host, Window *win)
                                                         ^
utmp.c:363:72: warning: unused parameter 'win' [-Wunused-parameter]
static int pututslot(slot_t slot, struct utmpx *u, char *host, Window *win)
                                                                       ^
utmp.c:406:9: warning: incompatible pointer to integer conversion returning
'char *' from a function with result type 'slot_t' (aka 'int')
[-Wint-conversion]
        return stripdev(nam);
               ^~~~~~~~~~~~~
4 warnings generated.
gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
-DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2 -Wall
-Wextra -std=c11 help.c -o help.o
gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
-DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2 -Wall
-Wextra -std=c11 termcap.c -o termcap.o
gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
-DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2 -Wall
-Wextra -std=c11 input.c -o input.o
gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
-DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2 -Wall
-Wextra -std=c11 attacher.c -o attacher.o
attacher.c:457:14: error: use of undeclared identifier '_NSIG'
        void (*sigs[_NSIG - 1]) (int);
                    ^
attacher.c:459:22: error: use of undeclared identifier '_NSIG'
        for (sig = 1; sig < _NSIG - 1; sig++)
                            ^
attacher.c:467:22: error: use of undeclared identifier '_NSIG'
        for (sig = 1; sig < - 1; sig++) {
                            ^
3 errors generated.
make: *** [attacher.o] Error 1

On Mon, Apr 4, 2016 at 3:38 PM, Amadeusz Sławiński <[email protected]> wrote:

> Hey,
>
> soory for delay, ut_exit is GNU extension apparently not supported by
> Mac OS X, can you try commenting out offending lines?
>
> Amadeusz
>
> On Mon, 4 Apr 2016 14:59:05 -0400
> Dun Peal <[email protected]> wrote:
>
> > I'm trying to build Git HEAD of screen on OS X El Capital (latest
> > version: 10.11.4) and getting the following error output - help
> > appreciated:
> >
> > $ make
> > AWK=gawk srcdir=. sh ./term.sh
> > AWK=gawk CC="gcc -g -O2 -Wall -Wextra -std=c11" srcdir=. sh ./comm.sh
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 screen.c -o screen.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 ansi.c -o ansi.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 fileio.c -o fileio.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 mark.c -o mark.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 misc.c -o misc.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 resize.c -o resize.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 socket.c -o socket.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 search.c -o search.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 tty.c -o tty.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 term.c -o term.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 window.c -o window.o
> > gcc -c  -iquote. -DETCSCREENRC='"/usr/local/etc/screenrc"'
> > -DSCREENENCODINGS='"/usr/local/share/screen/utf8encodings"' -g -O2
> > -Wall -Wextra -std=c11 utmp.c -o utmp.o
> > utmp.c:358:21: warning: incompatible integer to pointer conversion
> > passing 'slot_t' (aka 'int') to parameter of type 'const char
> > *' [-Wint-conversion] strncpy(u.ut_line, slot, sizeof(u.ut_line));
> >                            ^~~~
> >
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/secure/_string.h:119:34:
> > note: expanded from macro 'strncpy'
> >   __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
> >                                  ^~~
> > utmp.c:363:58: warning: unused parameter 'host' [-Wunused-parameter]
> > static int pututslot(slot_t slot, struct utmpx *u, char *host, Window
> > *win) ^
> > utmp.c:363:72: warning: unused parameter 'win' [-Wunused-parameter]
> > static int pututslot(slot_t slot, struct utmpx *u, char *host, Window
> > *win) ^
> > utmp.c:384:5: error: no member named 'ut_exit' in 'struct utmpx'
> >         u->ut_exit.e_termination = 0;
> >         ~  ^
> > utmp.c:385:5: error: no member named 'ut_exit' in 'struct utmpx'
> >         u->ut_exit.e_exit = 0;
> >         ~  ^
> > utmp.c:406:9: warning: incompatible pointer to integer conversion
> > returning 'char *' from a function with result type 'slot_t' (aka
> > 'int') [-Wint-conversion]
> >         return stripdev(nam);
> >                ^~~~~~~~~~~~~
> > 4 warnings and 2 errors generated.
> > make: *** [utmp.o] Error 1
>
>
> _______________________________________________
> screen-users mailing list
> screen-users-mXXj517/[email protected]
> https://lists.gnu.org/mailman/listinfo/screen-users
>

_______________________________________________
screen-users mailing list
screen-users-mXXj517/[email protected]
https://lists.gnu.org/mailman/listinfo/screen-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.