Boost logo

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