[cmake-developers] [CMake 0013934]: cannot find relink libraries at installation when cross-compiling with Ninja

Mantis Bug Tracker mantis at public.kitware.com
Tue Feb 19 12:07:44 EST 2013


The following issue has been SUBMITTED. 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=13934 
====================================================================== 
Reported By:                Dimitri Merejkowsky
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   13934
Category:                   CMake
Reproducibility:            always
Severity:                   block
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2013-02-19 12:07 EST
Last Modified:              2013-02-19 12:07 EST
====================================================================== 
Summary:                    cannot find relink libraries at installation when
cross-compiling with Ninja
Description: 
Trying to install libraries when cross-compilig failes because "relink" target
is not found

This in unfortunate because it makes it impossible to deploy cross-compiled
code when using Ninja

Steps to Reproduce: 
> sh build.sh cross.cmake                                                       
                                  

+ rm -fr build
+ mkdir build
+ cd build
+ cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=cross.cmake ..
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/dmerejkowsky/src/master/ninjabug/build
+ cd build
+ ninja
[4/4] Linking C shared library libbar.so
+ rm -fr /tmp/inst
+ cd build
+ DESTDIR=/tmp/inst
+ ninja install
[1/1] Install the project...
FAILED: cd /home/dmerejkowsky/src/master/ninjabug/build &&
/home/dmerejkowsky/src/3rdpart/cmake/build/bin/cmake -P cmake_install.cmake
-- Install configuration: ""
CMake Error at cmake_install.cmake:36 (FILE):
  file INSTALL cannot find
 
"/home/dmerejkowsky/src/master/ninjabug/build/CMakeFiles/CMakeRelink.dir/libbar.so".

ninja: build stopped: subcommand failed.


Note that when not specifying a toolchain file, this works just fine:

+ rm -fr build
+ mkdir build
+ cd build
+ cmake -G Ninja ..
-- The C compiler identification is GNU 4.7.2
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/dmerejkowsky/src/master/ninjabug/build
+ cd build
+ ninja
[4/4] Linking C shared library libbar.so
+ rm -fr /tmp/inst
+ cd build
+ DESTDIR=/tmp/inst
+ ninja install
[1/1] Install the project...
-- Install configuration: ""
-- Installing: /tmp/inst/usr/local/lib/libbar.so
-- Removed runtime path from "/tmp/inst/usr/local/lib/libbar.so"

Additional Information: 
Configuration:

* linux64 bits

* ninja from git:  27f7528

* cmake from git: 2.8.10.20130214-g6323
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-02-19 12:07 Dimitri MerejkowskyNew Issue                                   

2013-02-19 12:07 Dimitri MerejkowskyFile Added: ninjabug.tar.gz                 
  
======================================================================




More information about the cmake-developers mailing list