fukamachi / woo

A fast non-blocking HTTP server on top of libev
http://ultra.wikia.com/wiki/Woo_(kaiju)
MIT License
1.27k stars 96 forks source link

compile error solaris.. #67

Open catalinbostan opened 7 years ago

catalinbostan commented 7 years ago

; Loading "woo" ...; cc -m64 -o /root/.cache/common-lisp/sbcl-1.3.12-solaris-x64/root/quicklisp/dists/quicklisp/software/woo-20170227-git/src/llsocket/grovel__grovel-tmpGHU3ALSV -I/root/quicklisp/dists/quicklisp/software/cffi_0.18.0/ /root/.cache/common-lisp/sbcl-1.3.12-solaris-x64/root/quicklisp/dists/quicklisp/software/woo-20170227-git/src/llsocket/grovelgrovel.c In file included from /root/.cache/common-lisp/sbcl-1.3.12-solaris-x64/root/quicklisp/dists/quicklisp/software/woo-20170227-git/src/llsocket/grovelgrovel.c:11:0: /root/.cache/common-lisp/sbcl-1.3.12-solaris-x64/root/quicklisp/dists/quicklisp/software/woo-20170227-git/src/llsocket/grovel__grovel.c: In function 'main': /root/quicklisp/dists/quicklisp/software/cffi_0.18.0/grovel/common.h:10:62: error: 'struct msghdr' has no member named 'msg_control'

define offsetof(type, slot) ((long) ((char ) &(((type ) 0)->slot)))

                                                          ^

/root/.cache/common-lisp/sbcl-1.3.12-solaris-x64/root/quicklisp/dists/quicklisp/software/woo-20170227-git/src/llsocket/grovel__grovel.c:1208:56: note: in expansion of macro 'offsetof' fprintf(output, " :offset %lli)", (long long signed) offsetof(struct msghdr, msg_control)); ^ /root/quicklisp/dists/quicklisp/software/cffi_0.18.0/grovel/common.h:10:62: error: 'struct msghdr' has no member named 'msg_controllen'

define offsetof(type, slot) ((long) ((char ) &(((type ) 0)->slot)))

                                                          ^

/root/.cache/common-lisp/sbcl-1.3.12-solaris-x64/root/quicklisp/dists/quicklisp/software/woo-20170227-git/src/llsocket/grovel__grovel.c:1213:56: note: in expansion of macro 'offsetof' fprintf(output, " :offset %lli)", (long long signed) offsetof(struct msghdr, msg_controllen)); ^ /root/quicklisp/dists/quicklisp/software/cffi_0.18.0/grovel/common.h:10:62: error: 'struct msghdr' has no member named 'msg_flags'

define offsetof(type, slot) ((long) ((char ) &(((type ) 0)->slot)))

                                                          ^

/root/.cache/common-lisp/sbcl-1.3.12-solaris-x64/root/quicklisp/dists/quicklisp/software/woo-20170227-git/src/llsocket/grovel__grovel.c:1218:56: note: in expansion of macro 'offsetof' fprintf(output, " :offset %lli)", (long long signed) offsetof(struct msghdr, msg_flags)); ^

debugger invoked on a CFFI-GROVEL:GROVEL-ERROR: Subprocess (:PROCESS #<SB-IMPL::PROCESS :EXITED 1>) with command ("cc" "-m64" "-o" "/root/.cache/common-lisp/sbcl-1.3.12-solaris-x64/root/quicklisp/dists/quicklisp/software/woo-20170227-git/src/llsocket/grovel__grovel-tmpGHU3ALSV" "-I/root/quicklisp/dists/quicklisp/software/cffi_0.18.0/" "/root/.cache/common-lisp/sbcl-1.3.12-solaris-x64/root/quicklisp/dists/quicklisp/software/woo-20170227-git/src/llsocket/grovel__grovel.c") exited with error code 1

eudoxia0 commented 7 years ago

Googling seems to indicate,

On Solaris 5.11, the problem's source is in /usr/include/sys/socket.h where the struct 'msghdr' is declared. The missing two elements '*msg_control' and 'msg_controllen' are IFDEFed out and can only be enabled by setting __lint, _XPG4_2 or _KERNEL. However, neither of these three values is set by the configure-script.