Wireshark mailing list archives

Re: macOS build broken


From: Gerald Combs <gerald () wireshark org>
Date: Fri, 24 Apr 2020 09:43:43 -0700

I ran into this recently when upgrading Xcode's command line tools. Builds fail for me when using the SDK that ships 
with Xcode.app and succeed when using the one that ships with the command line tools:

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.15.4
BuildVersion:   19E287

$ xcodebuild -version 
Xcode 11.4.1
Build version 11E503a

$ sudo xcode-select --reset
$ xcode-select --print-path
/Applications/Xcode.app/Contents/Developer

# From the build directory
$ rm -rf * && cmake -G Ninja .. && ninja
[ build fails ]

$ sudo xcode-select --switch /Library/Developer/CommandLineTools
$ xcode-select --print-path
/Library/Developer/CommandLineTools

$ rm -rf * && cmake -G Ninja .. && ninja
[ build succeeds ]


On 4/24/20 9:27 AM, Lori Jakab wrote:
I attached my cmake output, in case that helps.

-Lori

On Fri, Apr 24, 2020 at 6:21 PM Lori Jakab <lorand.jakab () gmail com <mailto:lorand.jakab () gmail com>> wrote:

    On Fri, Apr 24, 2020 at 6:06 PM Graham Bloice <graham.bloice () trihedral com <mailto:graham.bloice () trihedral 
com>> wrote:

        The macOS build slave is coping, according to the CMake output it's using:

        -- The C compiler identification is AppleClang 11.0.0.11000033 -- The CXX compiler identification is 
AppleClang 11.0.0.11000033


    I have the exact same compiler...
     

        on osx-10.14-x64.  Presumably that's an older OS.


    And the same OS version, Mojave, which is the version before Catalina (10.15).

    I start with a clean state, and do a full build, like this (from just above the wireshark folder):

    rm -rf build; and mkdir build; and cd build; and cmake -G Ninja ../wireshark; and time ninja -j 10

    I wonder what's different from the build slave that breaks the build...

    -Lori
     


        On Fri, 24 Apr 2020 at 15:48, Lori Jakab <lorand.jakab () gmail com <mailto:lorand.jakab () gmail com>> wrote:

            This particular failure can be fixed by this: https://code.wireshark.org/review/36921

            However, I get other failures afterwards:

            FAILED: epan/dissectors/CMakeFiles/dissectors.dir/packet-kerberos.c.o
            /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc 
-DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DWS_BUILD_DLL -I. -I/Users/lojakab/src/wireshark-lisp/wireshark 
-I/usr/local/opt/gettext/include -I/usr/local/include -I/usr/local/Cellar/gnutls/3.6.13/include 
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kerberos.framework/Headers
 -I/usr/local/Cellar/lz4/1.9.2/include -I/usr/local/Cellar/nghttp2/1.40.0/include 
-I/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include 
-I/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/libxml2 -Iepan/dissectors 
-I/Users/lojakab/src/wireshark-lisp/wireshark/epan/dissectors -I/Users/lojakab/src/wireshark-lisp/wireshark/epan 
-isystem /usr/local/Cellar/glib/2.64.2_1/include/glib-2.0 -isystem 
/usr/local/Cellar/glib/2.64.2_1/lib/glib-2.0/include -fvisibility=hidden  -Qunused-arguments
            -Wall -Wextra -Wendif-labels -Wpointer-arith -Wformat-security -fwrapv -fno-strict-overflow -Wvla 
-Waddress -Wattributes -Wdiv-by-zero -Wignored-qualifiers -Wpragmas -Wno-overlength-strings -Wno-long-long 
-Wheader-guard -Wcomma -Wshorten-64-to-32 -Wframe-larger-than=32768 -Wno-nullability-completeness -Wc++-compat 
-Wunused-const-variable -Wshadow -Wold-style-definition -Wstrict-prototypes -Werror=implicit -Wno-pointer-sign 
-std=gnu99  -O2 -g -DNDEBUG -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk 
-mmacosx-version-min=10.14 -fPIC   -Werror -MD -MT epan/dissectors/CMakeFiles/dissectors.dir/packet-kerberos.c.o -MF 
epan/dissectors/CMakeFiles/dissectors.dir/packet-kerberos.c.o.d -o 
epan/dissectors/CMakeFiles/dissectors.dir/packet-kerberos.c.o   -c 
/Users/lojakab/src/wireshark-lisp/wireshark/epan/dissectors/packet-kerberos.c
            In file included from ./asn1/kerberos/packet-kerberos-template.c:321:
            
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kerberos.framework/Headers/krb5.h:318:174:
 error: expected ','
            krb5_boolean KRB5_CALLCONV krb5_is_referral_realm(const krb5_data *) KERBEROS_APPLE_DEPRECATED("use 
GSS.framework") __API_DEPRECATED("Use GSS.framework", macos(10.0, 10.8)) __API_UNAVAILABLE(macCatalyst);
                                                                                                                      
                                                                   ^
            /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/Availability.h:479:171: note: 
expanded from macro '__API_UNAVAILABLE'
                #define __API_UNAVAILABLE(...) 
__API_UNAVAILABLE_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE6,__API_UNAVAILABLE5,__API_UNAVAILABLE4,__API_UNAVAILABLE3,__API_UNAVAILABLE2,__API_UNAVAILABLE1,
 0)(__VA_ARGS__)

            On Fri, Apr 24, 2020 at 4:33 PM Dario Lombardo <lomato () gmail com <mailto:lomato () gmail com>> wrote:

                Hi,
                I was aware of such a problem. The travis macOS builder got that while ago.

                https://travis-ci.org/github/crondaemon/wireshark

                I didn't bisect, but going back in build history, I looks something between 
2acbaf584984828855a36105258033020f338c5c and d30a0a2ce7c17f5d695e9ee7647e92d3cc1156bb.

                On Fri, Apr 24, 2020 at 3:29 PM Lori Jakab <lorand.jakab () gmail com <mailto:lorand.jakab () gmail 
com>> wrote:

                    Hi,

                    I'm have been building on macOS Mojave for a while without issues, but for the last few days the 
build has been broken. I didn't try a git dissect yet to see which commit broke it, but the issue seems to be caused 
by the usage of the _Nonnull, _Nullable, or _Null_unspecified type specifiers in the 6lowpan dissector.

                    My compiler is:

                    > gcc --version
                    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr 
--with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
                    Apple clang version 11.0.0 (clang-1100.0.33.17)
                    Target: x86_64-apple-darwin18.7.0
                    Thread model: posix
                    InstalledDir: 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

                    This is the error: 

                    In file included from 
/Users/lojakab/src/wireshark-lisp/wireshark/epan/dissectors/packet-6lowpan.c:19:
                    In file included from 
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:64:
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:93:16: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                            unsigned char   *_base;
                                            ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:93:16: note: insert 
'_Nullable' if the pointer may be null
                            unsigned char   *_base;
                                            ^
                                              _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:93:16: note: insert 
'_Nonnull' if the pointer should never be null
                            unsigned char   *_base;
                                            ^
                                              _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:138:32: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                            int     (* _Nullable _read) (void *, char *, int);
                                                              ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:138:32: note: 
insert '_Nullable' if the pointer may be null
                            int     (* _Nullable _read) (void *, char *, int);
                                                              ^
                                                               _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:138:32: note: 
insert '_Nonnull' if the pointer should never be null
                            int     (* _Nullable _read) (void *, char *, int);
                                                              ^
                                                               _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:138:40: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                            int     (* _Nullable _read) (void *, char *, int);
                                                                      ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:138:40: note: 
insert '_Nullable' if the pointer may be null
                            int     (* _Nullable _read) (void *, char *, int);
                                                                      ^
                                                                       _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:138:40: note: 
insert '_Nonnull' if the pointer should never be null
                            int     (* _Nullable _read) (void *, char *, int);
                                                                      ^
                                                                       _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:139:35: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                            fpos_t  (* _Nullable _seek) (void *, fpos_t, int);
                                                              ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:139:35: note: 
insert '_Nullable' if the pointer may be null
                            fpos_t  (* _Nullable _seek) (void *, fpos_t, int);
                                                              ^
                                                               _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:139:35: note: 
insert '_Nonnull' if the pointer should never be null
                            fpos_t  (* _Nullable _seek) (void *, fpos_t, int);
                                                              ^
                                                               _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:140:32: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                            int     (* _Nullable _write)(void *, const char *, int);
                                                              ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:140:32: note: 
insert '_Nullable' if the pointer may be null
                            int     (* _Nullable _write)(void *, const char *, int);
                                                              ^
                                                               _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:140:32: note: 
insert '_Nonnull' if the pointer should never be null
                            int     (* _Nullable _write)(void *, const char *, int);
                                                              ^
                                                               _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:140:46: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                            int     (* _Nullable _write)(void *, const char *, int);
                                                                            ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:140:46: note: 
insert '_Nullable' if the pointer may be null
                            int     (* _Nullable _write)(void *, const char *, int);
                                                                            ^
                                                                             _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:140:46: note: 
insert '_Nonnull' if the pointer should never be null
                            int     (* _Nullable _write)(void *, const char *, int);
                                                                            ^
                                                                             _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:144:18: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                            struct __sFILEX *_extra; /* additions to FILE to not break ABI */
                                            ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:144:18: note: 
insert '_Nullable' if the pointer may be null
                            struct __sFILEX *_extra; /* additions to FILE to not break ABI */
                                            ^
                                              _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/_stdio.h:144:18: note: 
insert '_Nonnull' if the pointer should never be null
                            struct __sFILEX *_extra; /* additions to FILE to not break ABI */
                                            ^
                                              _Nonnull
                    In file included from 
/Users/lojakab/src/wireshark-lisp/wireshark/epan/dissectors/packet-6lowpan.c:19:
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:67:13: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                    extern FILE *__stdinp;
                                ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:67:13: note: insert 
'_Nullable' if the pointer may be null
                    extern FILE *__stdinp;
                                ^
                                  _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:67:13: note: insert 
'_Nonnull' if the pointer should never be null
                    extern FILE *__stdinp;
                                ^
                                  _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:390:41: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                                     int (* _Nullable)(void *, const char *, int),
                                                            ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:390:41: note: insert 
'_Nullable' if the pointer may be null
                                     int (* _Nullable)(void *, const char *, int),
                                                            ^
                                                             _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:390:41: note: insert 
'_Nonnull' if the pointer should never be null
                                     int (* _Nullable)(void *, const char *, int),
                                                            ^
                                                             _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:390:55: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                                     int (* _Nullable)(void *, const char *, int),
                                                                          ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:390:55: note: insert 
'_Nullable' if the pointer may be null
                                     int (* _Nullable)(void *, const char *, int),
                                                                          ^
                                                                           _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:390:55: note: insert 
'_Nonnull' if the pointer should never be null
                                     int (* _Nullable)(void *, const char *, int),
                                                                          ^
                                                                           _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:391:44: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                                     fpos_t (* _Nullable)(void *, fpos_t, int),
                                                               ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:391:44: note: insert 
'_Nullable' if the pointer may be null
                                     fpos_t (* _Nullable)(void *, fpos_t, int),
                                                               ^
                                                                _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:391:44: note: insert 
'_Nonnull' if the pointer should never be null
                                     fpos_t (* _Nullable)(void *, fpos_t, int),
                                                               ^
                                                                _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:392:41: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                                     int (* _Nullable)(void *));
                                                            ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:392:41: note: insert 
'_Nullable' if the pointer may be null
                                     int (* _Nullable)(void *));
                                                            ^
                                                             _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:392:41: note: insert 
'_Nonnull' if the pointer should never be null
                                     int (* _Nullable)(void *));
                                                            ^
                                                             _Nonnull
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:388:6: error: 
pointer is missing a nullability type specifier
                          (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
                    FILE    *funopen(const void *,
                            ^
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:388:6: note: insert 
'_Nullable' if the pointer may be null
                    FILE    *funopen(const void *,
                            ^
                              _Nullable
                    /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h:388:6: note: insert 
'_Nonnull' if the pointer should never be null
                    FILE    *funopen(const void *,
                            ^
                              _Nonnull
                    3 errors generated.
                    make[2]: *** [epan/dissectors/CMakeFiles/dissectors.dir/packet-6lowpan.c.o] Error 1
                    make[2]: *** Waiting for unfinished jobs....
                    make[1]: *** [epan/dissectors/CMakeFiles/dissectors.dir/all] Error 2

                    This code builds on Linux, and I assume some older version of macOS on the buildbots too. Should 
I give it a go to fixing this? I'm not the 6lowpan dissector author/maintainer.

                    -Lori



        -- 
        Graham Bloice
        ___________________________________________________________________________
        Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org <mailto:wireshark-dev () wireshark 
org>>
        Archives:    https://www.wireshark.org/lists/wireshark-dev
        Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
                     mailto:wireshark-dev-request () wireshark org <mailto:wireshark-dev-request () wireshark 
org>?subject=unsubscribe


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: