Wireshark mailing list archives

Re: RPM generation


From: Joakim Karlsson <oakimk () gmail com>
Date: Mon, 23 Apr 2018 14:11:46 +0200

Hi,

From what I notice when trying create rpm on RHEL7, is that CMake utilize
pkg-config, which is nice. But when ninja/make rpm-package is executed,
that part seems to stop. Instead we rely on rpm instead.

which cmake
/app/vbuild/RHEL7-x86_64/cmake/3.7.2-1/bin/cmake

cmake -G Ninja -DENABLE_GNUTLS=OFF -DENABLE_LZ4=OFF -DENABLE_CARES=OFF ../
..

ninja rpm-package
..
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.wOs6eR
..
+ /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG
-DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG
-DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr/local
-DINCLUDE_INSTALL_DIR:PATH=/usr/local/include
-DLIB_INSTALL_DIR:PATH=/usr/local/lib64
-DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/local/share
-DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_wireshark=ON
-DENABLE_LUA=OFF -DBUILD_mmdbresolve=ON -DENABLE_LZ4=OFF
-DENABLE_SNAPPY=OFF -DENABLE_CARES=OFF -DENABLE_SPANDSP=ON
-DENABLE_BCG729=ON -DENABLE_LIBXML2=ON -DENABLE_NGHTTP2=OFF
-DDISABLE_WERROR=ON -G Ninja
CMake Error: CMake was unable to find a build program corresponding to
"Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a
different build tool.
CMake Error: Error required internal CMake variable not set, cmake may be
not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
..
and more error...


Problem is the version of CMake, not the one I wanted.
/usr/bin/cmake --version
cmake version 2.8.12.2

What I found is in package/rpm/wireshark.spec.in:
BuildRequires: cmake
..
%cmake

This part will utilize rpm instead of what CMake setup for us, same for all
packages.
rpm --eval %cmake
..
  /usr/bin/cmake \
        -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \
        -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \
        -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \
        -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
        -DCMAKE_INSTALL_PREFIX:PATH=/usr \
        -DINCLUDE_INSTALL_DIR:PATH=/usr/include \
        -DLIB_INSTALL_DIR:PATH=/usr/lib64 \
        -DSYSCONF_INSTALL_DIR:PATH=/etc \
        -DSHARE_INSTALL_PREFIX:PATH=/usr/share \
%if "lib64" == "lib64"
        -DLIB_SUFFIX=64 \
%endif
        -DBUILD_SHARED_LIBS:BOOL=ON


A workaround I found was to create ~/.rpmmacros with content:
%__cmake %(which cmake)

Should we maybe have rpmmacros directly in package/rpm ?

And it doesn't seems that it respect the compile parameter check either,
same problem Anders had regarding
cc: error: unrecognized command line option '-Wheader-guard'
..
I see this faults too, but haven't found a solution for it


//Joakim




On 19 April 2018 at 22:09, Peter Wu <peter () lekensteyn nl> wrote:

Hi Anders,
On Thu, Apr 19, 2018 at 06:40:27PM +0000, Anders Broman wrote:
Hi,
Running cmake and make works
Cmake and make rpm-package fails on the make rpm-package part.
Included log from make rpm-package.

I cannot see an obvious error, is it possible that you ran out of memory
or disk space? Maybe there is something in CMakeError.log or something
related to the custom CMake includes in your project.
--
Kind regards,
Peter Wu
https://lekensteyn.nl
____________________________________________________________
_______________
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: