screen-devel
[Top][All Lists]
Advanced

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

[screen-devel] Failed to compile screen from git src on Solaris 11


From: Clark J. Wang
Subject: [screen-devel] Failed to compile screen from git src on Solaris 11
Date: Tue, 1 Nov 2011 11:01:44 +0800

I'm new to Solaris, please help me compile screen from src. Following are my steps:

$ uname -a
SunOS node01 5.11 11.0 i86pc i386 i86pc Solaris
$ git co http://git.savannah.gnu.org/r/screen.git
$ ./mktar.pl
$ tar xf ...
$ ./configure --prefix=/usr/local/screen-git
$ gmake
CPP="gcc -E -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"'" srcdir=. sh ./osdef.sh
AWK=gawk CC="gcc -g -O2" srcdir=. sh ./comm.sh
gcc -c -I. -I.  -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"' -DHAVE_CONFIG_H -DGIT_REV=\""`git describe --always 2>/dev/null`"\" \
             -g -O2 screen.c
gcc -c -I. -I.  -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"' -DHAVE_CONFIG_H -DGIT_REV=\""`git describe --always 2>/dev/null`"\" \
             -g -O2 ansi.c
gcc -c -I. -I.  -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"' -DHAVE_CONFIG_H -DGIT_REV=\""`git describe --always 2>/dev/null`"\" \
             -g -O2 fileio.c
gcc -c -I. -I.  -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"' -DHAVE_CONFIG_H -DGIT_REV=\""`git describe --always 2>/dev/null`"\" \
             -g -O2 mark.c
gcc -c -I. -I.  -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"' -DHAVE_CONFIG_H -DGIT_REV=\""`git describe --always 2>/dev/null`"\" \
             -g -O2 misc.c
gcc -c -I. -I.  -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"' -DHAVE_CONFIG_H -DGIT_REV=\""`git describe --always 2>/dev/null`"\" \
             -g -O2 resize.c
gcc -c -I. -I.  -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"' -DHAVE_CONFIG_H -DGIT_REV=\""`git describe --always 2>/dev/null`"\" \
             -g -O2 socket.c
socket.c: In function 'ReceiveMsg':
socket.c:994:6: error: 'struct msghdr' has no member named 'msg_controllen'
socket.c:995:6: error: 'struct msghdr' has no member named 'msg_control'
socket.c:1007:14: error: 'struct msghdr' has no member named 'msg_controllen'
socket.c:1010:14: warning: assignment makes pointer from integer without a cast
socket.c:1010:48: warning: assignment makes pointer from integer without a cast
socket.c: In function 'SendAttachMsg':
socket.c:1789:6: error: 'struct msghdr' has no member named 'msg_control'
socket.c:1790:6: error: 'struct msghdr' has no member named 'msg_controllen'
socket.c:1791:8: warning: assignment makes pointer from integer without a cast
socket.c:1795:3: warning: passing argument 2 of 'bcopy' makes pointer from integer without a cast
/usr/include/strings.h:22:13: note: expected 'void *' but argument is of type 'int'
socket.c:1796:6: error: 'struct msghdr' has no member named 'msg_controllen'
make: *** [socket.o] Error 1
$

I took a look at the /usr/include/socket.h file and found this:

struct msghdr {
        void            *msg_name;              /* optional address */
        socklen_t       msg_namelen;            /* size of address */
        struct iovec    *msg_iov;               /* scatter/gather array */
        int             msg_iovlen;             /* # elements in msg_iov */

#if defined(__lint) || defined(_XPG4_2) || defined(_KERNEL)
        void            *msg_control;           /* ancillary data */
        socklen_t       msg_controllen;         /* ancillary data buffer len */
        int             msg_flags;              /* flags on received message */
#else
        caddr_t         msg_accrights;  /* access rights sent/received */
        int             msg_accrightslen;
#endif  /* defined(_XPG4_2) || defined(_KERNEL) */
};

So I passed CFLAGS to the configure script:

$ ./configure --prefix=/usr/local/screen-git CFLAGS=-D_XPG4_2
$ gmake clean
$ gmake
CPP="gcc -E -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"'" srcdir=. sh ./osdef.sh
AWK=gawk CC="gcc -D_XPG4_2" srcdir=. sh ./comm.sh
AWK=gawk srcdir=. sh ./term.sh
gcc -c -I. -I.  -DETCSCREENRC='"/usr/local/screen-git/etc/screenrc"' -DSCREENENCODINGS='"/usr/local/screen-git/share/screen/utf8encodings"' -DHAVE_CONFIG_H -DGIT_REV=\""`git describe --always 2>/dev/null`"\" \
             -D_XPG4_2 screen.c
In file included from screen.c:56:0:
/usr/include/signal.h:71:39: error: expected ';', ',' or ')' before '*' token
make: *** [screen.o] Error 1
$

Then I went into /usr/include/signal.h:

 65 #if defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && \
 66         !defined(__XOPEN_OR_POSIX))
 67 #include <sys/procset.h>
 68 extern int gsignal(int);
 69 extern int (*ssignal(int, int (*)(int)))(int);
 70 extern int sigsend(idtype_t, id_t, int);
 71 extern int sigsendset(const procset_t *, int);
 72 extern int sig2str(int, char *);
 73 extern int str2sig(const char *, int *);
 74 #define SIG2STR_MAX     32
 75 #endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC)... */

Now I have no idea what I can do next. :( Any one can help?

-Clark

reply via email to

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