I’ve found a bug in the CMake (build file generation) process on Win64 targets, which causes the redefinition of the CYGWIN_INSTALL_PATH variable partway through the build file generation. This bug originally manifested when CMake was unable to locate the SH_EXECUTABLE file in the C:\Cygwin64 directory.
“The bash executable (SH_EXECUTABLE-NOTFOUND) isn’t from Cygwin. Check your path” “wireshark could not find SH (missing: SH EXECUTABLE)" The root cause is that CMake's stock FindPerl.cmake file is called containing the following directive: include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake) This points to the stock copy of FindCygwin.cmake instead of the modified version (wireshark\cmake\modules\FindCygwin.cmake) included in the wireshark source that adds the C:\Cygwin64 and WIRESHARK_CYGWIN_INSTALL_PATH search paths. Thus when the FindPerl module is executed it redefines the existing CYGWIN_INSTALL_PATH with an invalid search location, unless Cygwin has been installed at C:\Cygwin. Neither C:\Cygwin64 or WIRESHARK_CYGWIN_INSTALL_PATH will be checked. (These changes were added in commit 25ec91a on 2015-11-13, and affects 2.0.0 and later versions ) The easiest fix is to simply add the stock copy the FindPerl.cmake file to the wireshark\cmake\modules\ directory, which forces the correct version of the FindCygwin.cmake to be used. I’ve created a bug in the Wireshark bug tracker and am sending this e-mail to the wireshark-dev e-mail list since it has greater prominence in google search results and may be useful to anybody attempting to build Wireshark 2.0.0+ in a Windows 64 bit environment. ___________________________________________________________________________ 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-requ...@wireshark.org?subject=unsubscribe