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] Unknown CMake command "check_function_exists".

From: "Mora, Jorge" <Jorge.Mora@xxxxxxxxxx>
Date: Tue, 10 Aug 2021 15:45:32 +0000

Hello Pascal,

 

Yes, that did it.

 

Thanks a lot,

 

--Jorge

 

From: Pascal Quantin <pascal@xxxxxxxxxxxxx>
Date: Tuesday, August 10, 2021 at 9:41 AM
To: Developer support list for Wireshark <wireshark-dev@xxxxxxxxxxxxx>
Cc: "Mora, Jorge" <Jorge.Mora@xxxxxxxxxx>
Subject: Re: [Wireshark-dev] Unknown CMake command "check_function_exists".

 

NetApp Security WARNING: This is an external email. Do not click links or open attachments unless you recognize the sender and know the content is safe.



Hi Jorge,

 

Le mar. 10 août 2021 à 16:57, Mora, Jorge via Wireshark-dev <wireshark-dev@xxxxxxxxxxxxx> a écrit :

Hello,

 

I just got the latest tree but cmake fails:

 

$ uname -a

Linux netapp83.linux.fake 4.18.0-240.el8.x86_64 #1 SMP Wed Sep 23 05:13:10 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux

 

$ git log

commit 3c5168c874c7a9cf60ae3eaa44fb982352f2628d (HEAD -> master, upstream/master, upstream/HEAD)

Author: John Thacker <johnthacker@xxxxxxxxx>

Date:   Mon Aug 9 20:30:02 2021 -0400

 

    editcap doc: Fix description of split output file names

   

    The editcap documentation still refers to the pre 1.2.1 behavior

    of determining output file names when splitting based on either

    packet counts or time intervals. (See commit a8eb860103) Update

    it to reflect the current behavior.

 

$ cmake ../wireshark

-- Generating build using CMake 3.11.4

-- LTO/IPO is not enabled

-- CMake build type: RelWithDebInfo

-- V: 3.5.0, MaV: 3, MiV: 5, PL: 0, EV: .

-- Linker flags:  -Wl,--as-needed

-- Could NOT find LIBSSH (missing: LIBSSH_LIBRARIES LIBSSH_INCLUDE_DIRS LIBSSH_VERSION) (Required is at least version "0.6")

-- Checking for one of the modules 'libpcap'

-- Could NOT find PCAP (missing: PCAP_LIBRARY PCAP_INCLUDE_DIR)

-- Could NOT find Systemd (missing: SYSTEMD_LIBRARY SYSTEMD_INCLUDE_DIR) (found version "")

-- Could NOT find MaxMindDB (missing: MAXMINDDB_LIBRARY MAXMINDDB_INCLUDE_DIR)

-- Could NOT find SMI (missing: SMI_LIBRARY SMI_INCLUDE_DIR)

CMake Error at cmake/modules/FindKERBEROS.cmake:95 (check_function_exists):

  Unknown CMake command "check_function_exists".

Call Stack (most recent call first):

  CMakeLists.txt:1096 (find_package)

  CMakeLists.txt:1214 (ws_find_package)

 

 

-- Configuring incomplete, errors occurred!

See also "/home/mora/wireshark-build/CMakeFiles/CMakeOutput.log".

See also "/home/mora/wireshark-build/CMakeFiles/CMakeError.log".

 

The following patch should probably solve your issue. I'm gonna push it soon.

 

diff --git a/cmake/modules/FindKERBEROS.cmake b/cmake/modules/FindKERBEROS.cmake
index 38cd55a3ab..8a3c2c7625 100644
--- a/cmake/modules/FindKERBEROS.cmake
+++ b/cmake/modules/FindKERBEROS.cmake
@@ -84,6 +84,7 @@ endif()
 # Try to detect the installed Kerberos vendor, assume MIT if it was not Heimdal.
 if(KERBEROS_FOUND)
   include(CheckSymbolExists)
+  include(CheckFunctionExists)
   set(CMAKE_REQUIRED_INCLUDES ${KERBEROS_INCLUDE_DIRS})
   set(CMAKE_REQUIRED_LIBRARIES ${KERBEROS_LIBRARIES})
   #see also HAVE_HEIMDAL_KERBEROS in cmakeconfig.h.in

 

Best regards,

Pascal.