Date: Sat, 24 Mar 2012 19:01:06 +0100 (CET) From: Niclas Zeising <zeising@daemonic.se> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/166377: [PATCH] make net-mgmt/ettercap compile with clang Message-ID: <201203241801.q2OI16An001336@gryphon.daemonic.se> Resent-Message-ID: <201203241810.q2OIA7Fa053146@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 166377 >Category: ports >Synopsis: [PATCH] make net-mgmt/ettercap compile with clang >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sat Mar 24 18:10:05 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Niclas Zeising >Release: FreeBSD 10.0-CURRENT amd64 >Organization: >Environment: System: FreeBSD gryphon.daemonic.se 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r230424: Sat Jan 21 18:06:55 CET 2012 root@gryphon.daemonic.se:/usr/obj/usr/src/sys/GRYPHON amd64 >Description: Currently, net-mgmt/ettercap does not compile with clang. This is due to bugs in the configure script. The configure script contains C code looking like this: int main() { int main(int argc, char *argv[] { /* test code here */ return 0; } return 0; } This code is not accepted by clang (but accepted by gcc, for some reason). >How-To-Repeat: compile net-mgmt/ettercap with clang instead of gcc. >Fix: The files patch-aclocal.m4 and patch-acinclude.m4 contains fixes to the m4 files used to generate the configure script. They can be used by patching the corresponding files in work/ettercap and run ./autogen.sh. The patch-configure is the resulting changes to the configure script from this, and it also includes the changes already in the current patch file files/patch-configure. To fix the port, either use the new patch-configure, or use the patched *.m4 files and run autogen.sh during make install. The latter suggestion has the drawbak of making ettercap require autoconf and automake. --- patch-aclocal.m4 begins here --- --- aclocal.m4.orig 2012-03-24 18:20:57.000000000 +0100 +++ aclocal.m4 2012-03-24 18:21:57.000000000 +0100 @@ -1118,7 +1118,7 @@ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF -int main() { return 0;} +int main(int argc, char *argv[]) { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err @@ -3826,7 +3826,7 @@ #ifdef __cplusplus } #endif -int main(){nm_test_var='a';nm_test_func();return(0);} +int main(int argc, char *argv[]){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then @@ -5839,7 +5839,7 @@ lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' +lt_simple_link_test_code='int main(int argc, char *argv[]){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other @@ -8812,7 +8812,7 @@ [lt_cv_sys_symbol_underscore=no cat > conftest.$ac_ext <<_LT_EOF void nm_test_func(){} -int main(){nm_test_func;return 0;} +int main(int argc, char *argv[]){nm_test_func;return 0;} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. --- patch-aclocal.m4 ends here --- --- patch-acinclude.m4 begins here --- --- acinclude.m4.orig 2012-03-24 18:22:51.000000000 +0100 +++ acinclude.m4 2012-03-24 18:23:49.000000000 +0100 @@ -56,11 +56,8 @@ #include <pthread.h> ], [ - int main(int argc, char **argv) - { pthread_create(NULL, NULL, NULL, NULL); return 0; - } ], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) @@ -182,7 +179,7 @@ AC_TRY_RUN([ #include <arpa/nameser.h> - int main() + int main(int argc, char *argv[]) { int i; char *p = "\x01\x02\x03\x04"; @@ -214,13 +211,10 @@ #include <resolv.h> ], [ - int main(int argc, char **argv) - { char *q; char p[NS_MAXDNAME]; dn_expand(q, q, q, p, sizeof(p)); - } ], [AC_MSG_RESULT(not needed)], [AC_MSG_RESULT(needed) @@ -239,13 +233,10 @@ #include <resolv.h> ], [ - int main(int argc, char **argv) - { char *q; char p[NS_MAXDNAME]; __dn_expand(q, q, q, p, sizeof(p)); - } ], [AC_MSG_RESULT(not needed)], [AC_MSG_RESULT(needed) @@ -274,13 +265,10 @@ #include <resolv.h> ], [ - int main(int argc, char **argv) - { char *q; char p[NS_MAXDNAME]; __dn_expand(q, q, q, p, sizeof(p)); - } ], [AC_MSG_RESULT(not needed)], [AC_MSG_RESULT(needed) --- patch-acinclude.m4 ends here --- --- patch-configure begins here --- --- configure.bak 2012-03-24 18:34:49.000000000 +0100 +++ configure 2012-03-24 18:35:47.000000000 +0100 @@ -15038,7 +15038,7 @@ #include <arpa/nameser.h> - int main() + int main(int argc, char *argv[]) { int i; char *p = "\x01\x02\x03\x04"; @@ -15285,22 +15285,23 @@ return 0; } _ACEOF -for ac_lib in '' c_r pthread; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_pthread_create=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_pthread_create+:} false; then : - break -fi -done +#for ac_lib in '' c_r pthread; do +# if test -z "$ac_lib"; then +# ac_res="none required" +# else +# ac_res=-l$ac_lib +# LIBS="-l$ac_lib $ac_func_search_save_LIBS" +# fi +# if ac_fn_c_try_link "$LINENO"; then : +# ac_cv_search_pthread_create=$ac_res +#fi +#rm -f core conftest.err conftest.$ac_objext \ +# conftest$ac_exeext +# if ${ac_cv_search_pthread_create+:} false; then : +# break +#fi +#done +ac_cv_search_pthread_create=%%PTHREAD_LIBS%% if ${ac_cv_search_pthread_create+:} false; then : else @@ -15376,10 +15377,10 @@ fi elif test "$OS" = "MACOSX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -pthread" >&5 -$as_echo_n "checking whether $CC accepts -pthread... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts %%PTHREAD_LIBS%%" >&5 +$as_echo_n "checking whether $CC accepts %%PTHREAD_LIBS%%... " >&6; } LDFLAGS_store="$LDFLAGS" - LDFLAGS="$LDFLAGS -pthread -fnested-functions" + LDFLAGS="$LDFLAGS %%PTHREAD_LIBS%% -fnested-functions" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -15389,11 +15390,8 @@ main () { - int main(int argc, char **argv) - { pthread_create(NULL, NULL, NULL, NULL); return 0; - } ; return 0; @@ -15798,13 +15796,10 @@ main () { - int main(int argc, char **argv) - { char *q; char p[NS_MAXDNAME]; dn_expand(q, q, q, p, sizeof(p)); - } ; return 0; @@ -15900,13 +15895,10 @@ main () { - int main(int argc, char **argv) - { char *q; char p[NS_MAXDNAME]; __dn_expand(q, q, q, p, sizeof(p)); - } ; return 0; @@ -16379,14 +16371,14 @@ ;; no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - DEBUG_FLAGS="-O2 -funroll-loops -fomit-frame-pointer -Wall" + DEBUG_FLAGS="-Wall" ac_ec_debug=no ;; esac else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - DEBUG_FLAGS="-O2 -funroll-loops -fomit-frame-pointer -Wall" + DEBUG_FLAGS="-Wall" ac_ec_debug=no fi @@ -16536,7 +16528,7 @@ OLDLDFLAGS="${LDFLAGS}" OLDLIBS="${LIBS}" - LDFLAGS="$PCAPLIB" + LDFLAGS="$LDFLAGS $PCAPLIB" LIBS="$LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pcap_datalink_val_to_description in -lwpcap" >&5 $as_echo_n "checking for pcap_datalink_val_to_description in -lwpcap... " >&6; } @@ -16994,6 +16986,14 @@ +if false; then + HAVE_PCRE_TRUE= + HAVE_PCRE_FALSE='#' +else + HAVE_PCRE_TRUE='#' + HAVE_PCRE_FALSE= +fi + ac_ec_pcre=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libpcre" >&5 --- patch-configure ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203241801.q2OI16An001336>