Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] Building under OSX Yosemite using cmake

From: David Ameiss <netshark@xxxxxxxxxxxxx>
Date: Mon, 10 Nov 2014 20:18:28 -0600

On Nov 10, 2014, at 8:10 PM, Guy Harris <guy@xxxxxxxxxxxx> wrote:


On Nov 10, 2014, at 12:43 PM, David Ameiss <netshark@xxxxxxxxxxxxx> wrote:

I've run into some issues building on OSX Yosemite with Xcode 6.1 and cmake. Fortunately, I seem to have solved them...

- Qt 5.2.1 doesn't build properly on Yosemite (can't recall the specific error offhand), but Qt 5.3.2 builds (and seems to work) fine

So does downloading a binary package, and it takes a *LOT* less time. :-)

Yes, macosx-setup.sh currently downloads the source; unfortunately, there's no way to completely automate installing a binary package, as far as I know - it still pops up dialogs - but maybe we should just go with that anyway.

- With the Xcode 6.1 command-line tools for Yosemite, for some reason "-I/System/Library/Frameworks/Kernel.framework/headers" gets put into the command line. This causes a whole raft of strange compile problems, apparently since the headers in that location are not complete. I did not run into this issue under Mavericks. I was able to work around this problem by adding "-D CMAKE_FIND_FRAMEWORK=LAST" to the cmake command line.

It sounds, from the workaround involving a CMake flag, that this indicates that it's CMake that's putting that into the Makefiles it generates.  Is that the case?

Not sure. However, on a Mavericks system with Xcode 6.1, it was NOT in the makefiles. Which likely means it’s something with dependencies (differing between 10.9 and 10.10), or some odd difference between the command line tools for 10.9 and 10.10. The include path (Kernel.framework…) DID appear in the generated makefiles under 10.10 as I recall.


- Related to Bug 10640... not only does upgrading from Mavericks to Yosemite break the /usr/X11 link, it also breaks the /usr/X11R6 link (/usr/X11R6 --> /opt/X11), which prevents <cairo.h> from being located. Simply "ln -s /opt/X11 /usr/X11R6" to fix this one.

Presumably that's only an issue for the GTK+ build.

Correct.