Wireshark - error while building from source

Kevin Oberman rkoberman at gmail.com
Mon Oct 27 16:34:11 UTC 2014


On Mon, Oct 27, 2014 at 4:22 AM, Ewald Jenisch <a at jenisch.at> wrote:

> Hi,
>
> I'm trying to get wireshark working unter 9.3 (x64, kernel/system
> current as of last week) without success so far.
>
> I went to /usr/ports/net/wireshark ran make and here's what I ended up
> with:
>
> ------------------------------ < Cut here > ------------------------------
>
> .
> .
> .
>
>   CC       libdissectors_la-packet-logotypecertextn.lo
> ../../asn1/kerberos/packet-kerberos-template.c: In function
> 'read_keytab_file':
> ../../asn1/kerberos/packet-kerberos-template.c:470: warning: request for
> implicit conversion from 'gpointer' to 'struct enc_key_t *' not permitted
> in C++
> ../../asn1/kerberos/packet-kerberos-template.c:482: error:
> 'krb5_principal_data' has no member named 'name'
> ../../asn1/kerberos/packet-kerberos-template.c:483: error:
> 'krb5_principal_data' has no member named 'name'
> ../../asn1/kerberos/packet-kerberos-template.c:483: error:
> 'krb5_principal_data' has no member named 'name'
> ../../asn1/kerberos/packet-kerberos-template.c:486: warning: format '%s'
> expects type 'char *', but argument 4 has type 'krb5_data'
> ../../asn1/kerberos/packet-kerberos-template.c:486: warning: format '%s'
> expects type 'char *', but argument 4 has type 'krb5_data'
> ../../asn1/kerberos/packet-kerberos-template.c:489: error:
> 'krb5_keytab_entry' has no member named 'keyblock'
> ../../asn1/kerberos/packet-kerberos-template.c:490: error:
> 'krb5_keytab_entry' has no member named 'keyblock'
> ../../asn1/kerberos/packet-kerberos-template.c:491: error:
> 'krb5_keytab_entry' has no member named 'keyblock'
> ../../asn1/kerberos/packet-kerberos-template.c:491: error:
> 'krb5_keytab_entry' has no member named 'keyblock'
> ../../asn1/kerberos/packet-kerberos-template.c:491: warning: request for
> implicit conversion from 'gpointer' to 'char *' not permitted in C++
> ../../asn1/kerberos/packet-kerberos-template.c: In function
> 'decrypt_krb5_data':
> ../../asn1/kerberos/packet-kerberos-template.c:531: error: 'krb5_crypto'
> undeclared (first use in this function)
> ../../asn1/kerberos/packet-kerberos-template.c:531: error: (Each
> undeclared identifier is reported only once
> ../../asn1/kerberos/packet-kerberos-template.c:531: error: for each
> function it appears in.)
> ../../asn1/kerberos/packet-kerberos-template.c:531: error: expected ';'
> before 'crypto'
> ../../asn1/kerberos/packet-kerberos-template.c:532: warning: ISO C90
> forbids mixed declarations and code
> ../../asn1/kerberos/packet-kerberos-template.c:539: error:
> 'krb5_keytab_entry' has no member named 'keyblock'
> ../../asn1/kerberos/packet-kerberos-template.c:540: error:
> 'krb5_keytab_entry' has no member named 'keyblock'
> ../../asn1/kerberos/packet-kerberos-template.c:541: error:
> 'krb5_keytab_entry' has no member named 'keyblock'
> ../../asn1/kerberos/packet-kerberos-template.c:542: warning: implicit
> declaration of function 'krb5_crypto_init'
> ../../asn1/kerberos/packet-kerberos-template.c:542: error:
> 'krb5_keytab_entry' has no member named 'keyblock'
> ../../asn1/kerberos/packet-kerberos-template.c:542: error: 'crypto'
> undeclared (first use in this function)
> ../../asn1/kerberos/packet-kerberos-template.c:553: warning: request for
> implicit conversion from 'gpointer' to 'guint8 *' not permitted in C++
> ../../asn1/kerberos/packet-kerberos-template.c:554: warning: implicit
> declaration of function 'krb5_decrypt_ivec'
> ../../asn1/kerberos/packet-kerberos-template.c:564: warning: implicit
> declaration of function 'krb5_crypto_destroy'
> ../../asn1/kerberos/packet-kerberos-template.c:566: warning: request for
> implicit conversion from 'gpointer' to 'char *' not permitted in C++
> Makefile:12591: recipe for target 'libdissectors_la-packet-kerberos.lo'
> failed
> gmake[5]: *** [libdissectors_la-packet-kerberos.lo] Error 1
>   CC       libdissectors_la-packet-lpp.lo
> gmake[5]: *** Waiting for unfinished jobs....
> gmake[5]: Leaving directory
> '/usr/ports/net/wireshark/work/wireshark-1.12.1/epan/dissectors'
> Makefile:13170: recipe for target 'all-recursive' failed
> gmake[4]: *** [all-recursive] Error 1
> gmake[4]: Leaving directory
> '/usr/ports/net/wireshark/work/wireshark-1.12.1/epan/dissectors'
> Makefile:3443: recipe for target 'all' failed
> gmake[3]: *** [all] Error 2
> gmake[3]: Leaving directory
> '/usr/ports/net/wireshark/work/wireshark-1.12.1/epan/dissectors'
> Makefile:1906: recipe for target 'all-recursive' failed
> gmake[2]: *** [all-recursive] Error 1
> gmake[2]: Leaving directory
> '/usr/ports/net/wireshark/work/wireshark-1.12.1/epan'
> Makefile:3970: recipe for target 'all-recursive' failed
> gmake[1]: *** [all-recursive] Error 1
> gmake[1]: Leaving directory
> '/usr/ports/net/wireshark/work/wireshark-1.12.1'
> Makefile:2106: recipe for target 'all' failed
> gmake: *** [all] Error 2
> ===> Compilation failed unexpectedly.
> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
> the maintainer.
> *** [do-build] Error code 1
>
> Stop in /usr/ports/net/wireshark.
> *** [stage] Error code 1
>
> Stop in /usr/ports/net/wireshark.
>
> ------------------------------ < Cut here > ------------------------------
>
> I then followed the tip given at the end of the error message by setting
>
> export MAKE_JOBS_UNSAFE=yes
> and re-running make
>
> Same error again.
>
>
> Any idea as to what can be wrong here?
>
> Thanks much in advance for any clue,
> -ewald
>
>
Just to clarify, because it seems to not be all that well understood,
building with MAKE_JOBS_UNSAFE=yes is unlikely to fix a problem with a
build. It will provide more useful error information for the report.

Many ports now will be built with multiple commands running at the same
time to allow multiple cores to all be used at once. A downside to this is
that all of the compiles will generate messages as they happen which often
results in error messages showing up in the output stream many lines away
from the command that caused the error. I've seen over a hundred lines from
unrelated warnings and output reports between the command and the error
which often results in bug reports that provide no information on just
where the error messages came from.

MAKE_JOBS_UNSAFE causes the make to be done "the old way" with each command
completed before the next is issued. This can greatly increase build time,
but output is now in the proper sequence. It is also possible that the
parallelization of the build may have been done so that one command steps
on another. In this case, MAKE_JOBS_UNSAFE will work around the problem,
but it is still a bug and should be reported so that the build can be
adjusted to prevent this from happening or to disable parallel building if
it can't be fixed.
--
R. Kevin Oberman, Network Engineer, Retired
E-mail: rkoberman at gmail.com


More information about the freebsd-questions mailing list