[Kwiver-users] Recommended version of CMAKE to be used for DIVA installation

Ankit Parag Shah aps1 at andrew.cmu.edu
Mon Jan 15 16:52:12 EST 2018


Hi all,

@Aaron - many thanks for providing the detailed list of steps.

I am trying to follow these exact same steps from a new clean directory -
With a prebuilt KWIVER path

clean/DIVA/build/release# cmake ../../src -DCMAKE_BUILD_TYPE=Release
-Dkwiver_DIR:PATH=../../../../kwiver/build/release/
-- Looking for your kwiver...
-- I found your kwiver!
-- It uses this fletch /home/ankit/KWIVER-Software-Scripts/fletch/build/rel
-- You provided a fletch_DIR and a kwiver_DIR, I am going to ignore this
fletch_DIR and use the fletch_DIR used to build kwiver
-- I am pulling and building kwant!
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ankit/KWIVER-Software-
Scripts/clean/DIVA/build/release

The above command is successfully completed.

However, compilation fails as follows -

-- Configuring incomplete, errors occurred!
See also "/home/ankit/KWIVER-Software-Scripts/clean/DIVA/build/
release/kwant-build/CMakeFiles/CMakeOutput.log".
CMakeFiles/kwant.dir/build.make:106: recipe for target
'DIVA-ExternalProject-Stamps/kwant-configure' failed
make[2]: *** [DIVA-ExternalProject-Stamps/kwant-configure] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/kwant.dir/all'
failed
make[1]: *** [CMakeFiles/kwant.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

These tests are performed post confirmation of the switches required for
installation in KWIVER build release.

============

To check on a clean docker image with no software installed prior using
DIVA directly to compile all the relevant dependencies such as kwiver,
fletch etc, I ran the following commands.

apt-get update
yes | apt install wget
yes | apt install python
yes | apt install vim
yes | apt install git
yes | apt install cmake
yes | apt install build-essential
mkdir DIVA
cd DIVA
mkdir -p build/release
mkdir -p build/debug
git clone https://github.com/Kitware/DIVA src

Then ran the following command from DIVA/build/release path

cmake ../../src -DCMAKE_BUILD_TYPE=Release

Output - As expected clean
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.7.4")
-- I am pulling and building fletch!
-- I am pulling and building kwiver!
-- I am pulling and building kwant!
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/sdd/aps/DIVA/build/release

However make -j16 command fails

-- Configuring incomplete, errors occurred!
See also
"/mnt/sdd/aps/DIVA/build/release/kwant-build/CMakeFiles/CMakeOutput.log".
CMakeFiles/kwant.dir/build.make:108: recipe for target
'DIVA-ExternalProject-Stamps/kwant-configure' failed
make[2]: *** [DIVA-ExternalProject-Stamps/kwant-configure] Error 1
CMakeFiles/Makefile2:181: recipe for target 'CMakeFiles/kwant.dir/all'
failed
make[1]: *** [CMakeFiles/kwant.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

This error is same as the error with preinstalled KWIVER and a fresh
install of DIVA repository.

Version of kwant checked out is -

Cloning into 'kwant'...
Note: checking out 'f53aaaafbd06d7a2c7cbedebfdce94e9dbd83347'.

Info obtained from the CMakeOutput.log file.

All the above steps run for compiling DIVA are located as part bash script
in a private repository -
https://github.com/ankitshah009/KWIVER-Software-Scripts which if deemed
useful, I could make it public post permission from my advisor.
Kindly let me know how to fix the above issue.

Looking forward to your response.

Kind Regards,
Ankit Shah
Masters Student in Language Technologies
Carnegie Mellon University.

On Sat, Jan 13, 2018 at 9:07 AM, Aaron Bray <aaron.bray at kitware.com> wrote:

> CMake version 3.5.1 will work just fine
>
> If you are running that cmake command from your intended DIVA build
> directory (Which should be empty, do not manually build fletch and kwiver
> to the same target build directory),
> This will execute the 'Superbuild' control flow in the DIVA CMake files.
> (A CMake super-build is a project which downloads, configures and builds
> other projects. )
>
> This control flow from your command should return something like this :
>
> *The C compiler identification is GNU 5.4.0*
>
> *The CXX compiler identification is GNU 5.4.0*
>
> *Check for working C compiler: /usr/bin/cc*
>
> *Check for working C compiler: /usr/bin/cc -- works*
>
> *Detecting C compiler ABI info*
>
> *Detecting C compiler ABI info - done*
>
> *Detecting C compile features*
>
> *Detecting C compile features - done*
>
> *Check for working CXX compiler: /usr/bin/c++*
>
> *Check for working CXX compiler: /usr/bin/c++ -- works*
>
> *Detecting CXX compiler ABI info*
>
> *Detecting CXX compiler ABI info - done*
>
> *Detecting CXX compile features*
>
> *Detecting CXX compile features - done*
>
> *Found Git: /usr/bin/git (found version "2.7.4") *
>
> *I am pulling and building fletch!*
>
> *I am pulling and building kwiver!*
>
> *Configuring done*
>
> This is telling you that it will create a Makefile that will download the
> fletch, kwiver, and kwant source code and build them each, and then build
> the DIVA code base
>
> The Eigen Error mentioned is usually due to running CMake on KWIVER source
> (from with the KWIVER build directory) (Which should be empty and a
> different folder or a subfolder from the DIVA build directory) and not
> providing a fletch_DIR for the KWIVER CMake script to use during it's
> configuration process
>
> Did you successfully build Fletch and KWIVER manually?
>
> If so, you should run CMake for DIVA, from an empty build directory like
> so, to inform the DIVA super build of the location of your  KWIVER build
> directory
>
> $ cmake ../../src -DCMAKE_BUILD_TYPE=Release -Dkwiver_DIR:PATH=<path/to/kwiver/build/dir>
>
> CMake will return something like this:
>
>
> *Looking for your kwiver...*
>
> *I found your kwiver!*
> *It uses this fletch <path to the fletch build directory>*
>
> *I am pulling and building kwant!*
>
> *Configuring done*
>
>
>
> I suggest using the cmake gui to help see what directories and CMake
> options are set to help get your build set up
>
> (I recommend checking the 'Grouped' and 'Advanced' options in the GUI)
>
>
> you can get it with
>
> $sudo apt-get install cmake-qt-gui
>
>
> Thanks,
>
>
>   Aaron
>
>
> On Sat, Jan 13, 2018 at 3:01 AM, Ankit Parag Shah <aps1 at andrew.cmu.edu>
> wrote:
>
>> Hi all,
>>
>> While building DIVA project using the following steps -
>> https://github.com/Kitware/DIVA, with a fresh Kwiver and fletch
>> installation steps, I am facing errors while performing the following
>> installation step.
>>
>> $ cmake ../../src -DCMAKE_BUILD_TYPE=Release
>>
>> Error is as follows: -
>>
>> CMake Error at /usr/share/cmake-3.5/Modules/F
>> indPackageHandleStandardArgs.cmake:148 (message):
>>   Could NOT find Eigen3 (missing: EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK)
>>   (Required is at least version "2.91.0")
>> Call Stack (most recent call first):
>>   /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388
>> (_FPHSA_FAILURE_MESSAGE)
>>   CMake/FindEigen3.cmake:81 (find_package_handle_standard_args)
>>   CMake/kwiver-depends-Eigen.cmake:3 (find_package)
>>   CMake/kwiver-depends.cmake:4 (include)
>>   CMakeLists.txt:138 (include)
>>
>> Upon researching on Google about the error caused and understanding use
>> of EIGEN, there are various hacks suggested to overcome the problem. The
>> problem seems to be within CMAKE which is not able to find
>> EIGEN3_INCLUDE_DIR in path variable.
>>
>> Currently, I am using cmake 3.5.1, may I ask whether it is recommended to
>> perform hacks or it is better to install latest version of cmake available
>> going forward.
>>
>> Looking forward to your response.
>>
>> Kind Regards,
>> Ankit Shah
>> Masters Student in Language Technologies
>> Carnegie Mellon University.
>>
>> _______________________________________________
>> Kwiver-users mailing list
>> Kwiver-users at public.kitware.com
>> https://public.kitware.com/mailman/listinfo/kwiver-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/kwiver-users/attachments/20180115/db79c4ea/attachment.html>


More information about the Kwiver-users mailing list