Wireshark mailing list archives

Re: Cannot find krb5.h


From: Graham Bloice <graham.bloice () trihedral com>
Date: Thu, 7 Feb 2019 12:59:44 +0000

On Thu, 7 Feb 2019 at 12:45, Pascal Quantin <pascal () wireshark org> wrote:

Hi David,

Le jeu. 7 févr. 2019 à 12:58, <david_aggeler () hispeed ch> a écrit :



I’ve updated my machine to VS2017, Latest, Qt, Git, Python, …. And I got
rid of cygwin and vs2015

The setup should match the instruction, but apparently not quite. (win10,
x64)



Right now I fail to build latest master (a clean build does not help,
deleting all libs neither)



"C:\Development\current\wsbuild64\epan\dissectors\dissectors.vcxproj"
(default target) (101) ->

       (ClCompile target) ->

         ./asn1/kerberos/packet-kerberos-template.c(260): fatal error
C1083: Cannot open include file: 'krb5.h': No such file or directory
(compiling source file C:\Development\current\wireshark\epan\dissectors

       \packet-kerberos.c)
[C:\Development\current\wsbuild64\epan\dissectors\dissectors.vcxproj]



The prep downloaded and extracted ‘krb5-1.17-win64ws’.



Any ideas on which component, environment variable, setting … am I
missing?


So what's the content of the CMakeCache.txt file in your build folder?
Mine contains the following lines and I have no issue building Wireshark
source code:

//Kerberos DLL list
KERBEROS_DLLS:FILEPATH=comerr64.dll;k5sprt64.dll;krb5_64.dll

//Path to the Kerberos DLLs

KERBEROS_DLL_DIR:PATH=C:/Wireshark-win64-libs/krb5-1.17-win64ws/installed/x64-windows/bin

//Path to a file.

KERBEROS_INCLUDE_DIR:PATH=C:/Wireshark-win64-libs/krb5-1.17-win64ws/installed/x64-windows/include

//Path to a library.

KERBEROS_LIBRARY:FILEPATH=C:/Wireshark-win64-libs/krb5-1.17-win64ws/installed/x64-windows/lib/krb5_64.lib

Best regards,
Pascal.


This is a bit of an annoyance when a package is updated that has a new path
in the libs directory, in that you have to either delete CMakeCache.txt
entirely and regenerate it (slow), or edit it to remove the old paths, not
much quicker and error prone.

I've been thinking about this for a while, what I think we could do is
invalidate the CMake cache variables when a lib is updated.  How we wire
all that up is the more difficult part.  There is the
get_cmake_property(_var VARIABLES) command that will list all variables (it
does say this is for debugging though), we could make a guess that all vars
for a lib start with the lib name, iterate over the list and if a suspect
is found unset() it.  The list of libs to unset would have to be passed
back from the PowerShell script.

-- 
Graham Bloice
___________________________________________________________________________
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: