|
Ublas : |
Subject: [ublas] Missing header files
From: Joaquim Duran Comas (jdurancomas_at_[hidden])
Date: 2015-04-15 18:51:27
Hello,
I've tested if it was possible to build all tests and benchmarks using
qmake tool. In this test, ublas was cloned inside modular-boost and NO
boost libraries were installed in the system. An error was detected because
a header file was missing.
The steps of the test are:
1 - Create a new virtual machine with Linux installed. Qt libraries (almost
qmake tool) should be installed, but NOT, Boost libraries.
2 - Create a development environment: clone modular-boost from
github.com/boostorg and ublas from github.com/uBLAS/. Checkout the
'develop' branch of the ublas library.
https://github.com/uBLAS/ublas/wiki
3 - Build boost libraries but NOT install them.
4 - Once build, list the files in the directory modular-boost/boost/numeric.
$ ls -l boost/numeric/
total 4
lrwxrwxrwx 1 gem-med gem-med 62 Apr 15 01:06 conversion ->
../../libs/numeric/conversion/include/boost/numeric/conversion
5 - Change to the folder of modular-boost/libs/numeric/ublas/IDE/qt-creator.
$ cd libs/numeric/ublas/IDE/qt-creator
6 - Run 'qmake' command to generate Makefiles and 'make' to compile the
tests and benchmarks.
$ qmake
$ make
The compilation stops with the following error:
g++ -c -m64 -pipe -O2 -Wall -W -fPIE -DBOOST_UBLAS_USE_INTERVAL
-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I.
-I../../../../include -I../../../../../../.. -o bench43.o
../../../../benchmarks/bench4/bench43.cpp
../../../../benchmarks/bench4/bench43.cpp:13:38: fatal error:
boost/numeric/interval.hpp: No such file or directory
#include <boost/numeric/interval.hpp>
^
compilation terminated.
7 - Change to the modular-boost/libs/numeric/ublas/test directory.
$ cd libs/numeric/ublas/test
8 - Build the tests and benchmarks using b2 tool.
$ ~/devel/modular-boost/b2
All tests are build.
9 - List the files in the directory modular-boost/boost/numeric.
$ ls -l boost/numeric/
total 8
lrwxrwxrwx 1 gem-med gem-med 62 Apr 15 01:06 conversion ->
../../libs/numeric/conversion/include/boost/numeric/conversion
lrwxrwxrwx 1 gem-med gem-med 58 Apr 15 02:50 interval ->
../../libs/numeric/interval/include/boost/numeric/interval
lrwxrwxrwx 1 gem-med gem-med 62 Apr 15 02:50 interval.hpp ->
../../libs/numeric/interval/include/boost/numeric/interval.hpp
lrwxrwxrwx 1 gem-med gem-med 52 Apr 15 02:50 ublas ->
../../libs/numeric/ublas/include/boost/numeric/ublas
10 - Ublas tests could be build by calling 'make' in the directory
libs/numeric/ublas/IDE/qt-creator.
In the step 4, when boost libraries are build, in the directory
modular-boost/boost/numeric, some links to files are missing (which causes
a compilation error) but in step 9, the missing links have been created
once the tests has been compiled using b2 tool.
Thanks and Best Regards,
Joaquim Duran