[CMake] issue with CPack: RPM package was not generated!

Miroslav Kubiczek miroslav.kubiczek at gmail.com
Tue Jul 31 08:49:29 EDT 2018


yes, there are install commands, one of CMakeLists.txt content:

install(DIRECTORY ${PROJECT_SOURCE_DIR}/api/rest DESTINATION include)
install(TARGETS Rest DESTINATION lib)

I can see these files after running the 'make package':
$ find ./_CPack_Packages/Linux/
./_CPack_Packages/Linux/
./_CPack_Packages/Linux/RPM
./_CPack_Packages/Linux/RPM/SOURCES
./_CPack_Packages/Linux/RPM/rpmbuildXXX-common-cpp-libs.err
./_CPack_Packages/Linux/RPM/tmp
./_CPack_Packages/Linux/RPM/rpmbuilXXX-common-cpp-libs.out
./_CPack_Packages/Linux/RPM/BUILDROOT
./_CPack_Packages/Linux/RPM/SRPMS
./_CPack_Packages/Linux/RPM/BUILD
./_CPack_Packages/Linux/RPM/SPECS
./_CPack_Packages/Linux/RPM/SPECS/XXX-common-cpp-libs.spec
./_CPack_Packages/Linux/RPM/RPMS
./_CPack_Packages/Linux/RPM/XXX-common-cpp-libs-7.0.0-1.x86_64.rpm

I'm generating the spec file from a template by:
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/rpm/xxx-common-cpp-libs.spec.in"
"${CMAKE_CURRENT_BINARY_DIR}/xxx-common-cpp-libs.spec" @ONLY IMMEDIATE)

The genereated spec file looks like this:

Buildroot:
/data/git/common-cpp-libs/build/_CPack_Packages/Linux/RPM/xxx-common-cpp-libs-7.0.0-1.x86_64
Summary:        xxx common cpp libs
Name:           xxx-common-cpp-libs
Version:        7.0.0
Release:        1
License:        Proprietary
Group:          Development/Tools/Other
Vendor:         xxx
Prefix:         /usr/local

%define _rpmdir /data/git/common-cpp-libs/build/_CPack_Packages/Linux/RPM
%define _rpmfilename xxx-common-cpp-libs-7.0.0-1.x86_64.rpm
%define _unpackaged_files_terminate_build 0
%define _topdir /data/git/common-cpp-libs/build/_CPack_Packages/Linux/RPM

%description
...

# This is a shortcutted spec file generated by CMake RPM generator
# we skip _install step because CPack does that for us.
# We do only save CPack installed tree in _prepr
# and then restore it in build.
%prep
mv $RPM_BUILD_ROOT
/data/git/common-cpp-libs/build/_CPack_Packages/Linux/RPM/tmpBBroot

%install
if [ -e $RPM_BUILD_ROOT ];
then
  rm -Rf $RPM_BUILD_ROOT
fi
mv "/data/git/common-cpp-libs/build/_CPack_Packages/Linux/RPM/tmpBBroot"
$RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
/usr/local/lib/*
/usr/local/include/*

<EOF>

On Tue, Jul 31, 2018 at 2:30 PM, Craig Scott <craig.scott at crascit.com>
wrote:

>
>
> On Tue, Jul 31, 2018 at 9:56 PM, Miroslav Kubiczek <
> miroslav.kubiczek at gmail.com> wrote:
>
>> Hi All,
>>
>> I'm running cmake 3.10.1 and have this issue:
>>
>> $ make package
>> [ 50%] Built target Rest
>> [100%] Built target UT_RestLibrary
>> Run CPack packaging tool...
>> CPack: Create package using RPM
>> CPack: Install projects
>> CPack: - Run preinstall target for: XXXCommonCppLibrary
>> CPack: - Install project: XXXCommonCppLibrary
>> CPack: Create package
>> CPackRPM: Will use USER specified spec file:
>> /data/git/common-cpp-libs/build/XXX-common-cpp-libs.spec
>> CMake Error at /usr/local/cmake-3.10.1-Linux-
>> x86_64/share/cmake-3.10/Modules/CPackRPM.cmake:2703 (message):
>>   RPM package was not generated!
>>   /data/git/common-cpp-libs/build/_CPack_Packages/Linux/RPM
>> Call Stack (most recent call first):
>>   /usr/local/cmake-3.10.1-Linux-x86_64/share/cmake-3.10/Modules/CPackRPM.cmake:2774
>> (cpack_rpm_generate_package)
>>
>>
>> CPack Error: Error while execution CPackRPM.cmake
>> CPack Error: Problem compressing the directory
>> CPack Error: Error when generating package: XXX-common-cpp-libs
>> make: *** [package] Error 1
>>
>> The rpm file is generated by those strange errors printed, make exits
>> with an error code and jenkins build fails.
>> Does anyone know how to fix this?
>>
>>
> A few things to check:
>
>
>    - Have you given any install() commands in your project? The message
>    above seems to be suggesting nothing was installed.
>    - Are you overriding the .spec file rather than using the one
>    CMake/CPack creates for you? If so, can you indicate why and maybe check
>    its contents. Less likely this is the main issue, but worth covering anyway.
>
>
>
> --
> Craig Scott
> Melbourne, Australia
> https://crascit.com
>
> New book released: Professional CMake: A Practical Guide
> <https://crascit.com/professional-cmake/>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20180731/0161a2dc/attachment.html>


More information about the CMake mailing list