screen-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error building on OS X El Capitan: utmp.c:384:5: error: no member na


From: Amadeusz Sławiński
Subject: Re: Error building on OS X El Capitan: utmp.c:384:5: error: no member named 'ut_exit' in 'struct utmpx'​
Date: Tue, 5 Apr 2016 22:55:28 +0200

Hey,

adding address@hidden back to CC, because I lost it in last reply

On Tue, 5 Apr 2016 14:36:44 -0400
Dun Peal <address@hidden> wrote:

> This did fix the issue. I then got an error:
> 
> pty.c:42:10: error: 'pty.h' file not found with <angled> include; use
> "quotes" instead
> 
> 
> So I made the following patch:
> 
> diff --git a/src/pty.c b/src/pty.c
> index ff13736..7881685 100644
> --- a/src/pty.c
> +++ b/src/pty.c
> @@ -39,7 +39,7 @@
>  #include "screen.h"
> 
>  #include <sys/ioctl.h>
> -#include <pty.h>
> +#include "pty.h"
> 
>  /*
>   * if no PTYRANGE[01] is in the config file, we pick a default
> 

Yeah, this should probably be detected in some way if it will work,
it's needed for openpty on linux/glibc systems. Will look more into it.

> ​Which finally built the executable. Trying to launch it produced
> another error:
> 
> $ ./screen
> Cannot make directory '/run/screen': No such file or directory
> 

You can use "./configure --with-socket-dir=/tmp/screen" to tell build
system where binary should place it sockets.

> 
> ​So I created `/run` and chowned it to my user. Then running screen
> worked except I still got an error:
> 
> /etc/utmp: No such file or directory​
> 
> 
> ​Then I did the following:
> 
> 
> sudo touch /etc/utmp
> 

Yup, that's a bug from utmp->utmpx refactoring, you shouldn't need to
make this directory. Pushed fix to master.

>
> Now the screen I built seems to run with no errors, though I'm not
> sure whether all the steps I took (particularly the last 2) are
> technically sound, and maybe some are wrong in ways that will cause
> issues later down the road.​

Thanks for your reports.

Amadeusz

> 
> 
> On Tue, Apr 5, 2016 at 12:57 PM, Amadeusz Sławiński <address@hidden>
> wrote:
> 
> > Hey,
> >
> > I pushed some changes to master, can you check now?
> >
> > Amadeusz
> >
> > On Mon, 4 Apr 2016 18:11:48 -0400
> > Dun Peal <address@hidden> wrote:
> >  
> > > 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
> > > <address@hidden> 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 <address@hidden> 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
> > > > address@hidden
> > > > https://lists.gnu.org/mailman/listinfo/screen-users
> > > >  
> >
> >  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]