Installation of 14.3.0 Revision 7383 on Ubuntu 14.03 64bit


#1

I have been using the current documentation to try to install this on Ubuntu 14.03.
I now 14.03 is not supported currently but it is the OS on the machine I have.
So I have been working on installing.
I have had to match some versions of libraries with the versions in the documentation.
But boost and cmake have been giving me some issues.
I needed to edit CMakeLists.txt as follows to get cmake to run:

this is around line 166 - my line numbers are slightly off due to the added lines -

set(BOOST_ROOT /usr/lib/x86_64-linux-gnu/)
set(BOOST_INCLUDEDIR /usr/include/boost/)
set(BOOST_LIBRARYDIR /usr/lib/x86_64-linux-gnu/)
#set(Boost_NO_SYSTEM_PATHS TRUE)
#set(Boost_NO_BOOST_CMAKE TRUE)

so ./run.py setup completes

I run ./run.py make -j4 and get errors compiling jdbc the error it throws is:

BUILD FAILED
/usr/local/src/SciDB/scidbtrunk/src/clients/java/build.xml:56: Can not find junit

Total time: 0 seconds
make[2]: *** [jdbc_build] Error 1
make[1]: *** [src/clients/java/CMakeFiles/jdbc_build.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…

The waiting for unfinished jobs error made me try it without the -j4 it compiles to 54% and gives the following output:

[ 54%] Building CXX object src/query/ops/CMakeFiles/ops_lib.dir/index_lookup/PhysicalIndexLookup.cpp.o
In file included from /usr/local/src/SciDB/scidbtrunk/src/query/ops/index_lookup/PhysicalIndexLookup.cpp:28:0:
/usr/local/src/SciDB/scidbtrunk/include/util/arena/Vector.h: In instantiation of ‘const V& scidb::arena::managed::vector::operator const [with V = long int; scidb::arena::managed::vector::size_type = long unsigned int]’:
/usr/local/src/SciDB/scidbtrunk/src/query/ops/index_lookup/PhysicalIndexLookup.cpp:142:53: required from here
/usr/local/src/SciDB/scidbtrunk/include/util/arena/Vector.h:66:82: error: ‘at’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
V const& operator[](size_type i) const {return isDebug() ? at(i) : base_type::operator;}
^
/usr/local/src/SciDB/scidbtrunk/include/util/arena/Vector.h:66:82: note: declarations in dependent base ‘boost::container::vector<long int, boost::container::scoped_allocator_adaptor<scidb::arena::Allocator, boost::container::container_detail::nat, boost::container::container_detail::nat, boost::container::container_detail::nat, boost::container::container_detail::nat, boost::container::container_detail::nat, boost::container::container_detail::nat, boost::container::container_detail::nat, boost::container::container_detail::nat, boost::container::container_detail::nat, boost::container::container_detail::nat> >’ are not found by unqualified lookup
/usr/local/src/SciDB/scidbtrunk/include/util/arena/Vector.h:66:82: note: use ‘this->at’ instead
make[2]: *** [src/query/ops/CMakeFiles/ops_lib.dir/index_lookup/PhysicalIndexLookup.cpp.o] Error 1
make[1]: *** [src/query/ops/CMakeFiles/ops_lib.dir/all] Error 2
make: *** [all] Error 2
./run.py: ERROR: Command make failed: Abnormal return code: 2 on command [’/usr/bin/make’, ‘-j1’]
Make sure commands setup,make,install,start are performed (in that order) before stop,stopForce,tests
scidb@lmc:/usr/local/src/SciDB/scidbtrunk$

The fact that the boost::container is shown in the errors makes me wonder if I need to do more to make boost found at all points in the process…

Has anyone installed on 14.04 and ifso is there any specifics I need to focus on …

Jeff


#2

Hello,

I must admit that I did not attempt to build everything on Ubuntu 14.03, just iquery. I too went down the path of modifying the file CMakeLists.txt, but this was not the correct way.

As always, one must make sure all of the required Ubuntu packages are installed but here is the key line in my environemnt that allowed me to build iquery

without modifying the file CMakeLists.txt.

  • Marcus D. Gabriel

#3

Using

export CMAKE_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu

Gives me-

[code]CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1131 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost’s headers.
Call Stack (most recent call first):
CMakeLists.txt:168 (find_package)

CMake Error at CMakeLists.txt:170 (message):
Could not find any version of boost (1.54 required)

– Configuring incomplete, errors occurred!
See also “/usr/local/src/SciDB/scidbtrunk/stage/build/CMakeFiles/CMakeOutput.log”.
./run.py: ERROR: Command setup failed: Abnormal return code: 1 on command [‘cmake’, ‘-DCMAKE_BUILD_TYPE=Debug’, ‘-DCMAKE_INSTALL_PREFIX=/usr/local/src/SciDB/scidbtrunk/stage/install’, ‘/usr/local/src/SciDB/scidbtrunk’]
Make sure commands setup,make,install,start are performed (in that order) before stop,stopForce,tests[/code]

I tried variations of the export command without the :.

I tried previously to export the BOOST_ROOT, BOOST_INCLUDEDIR and BOOST_LIBRARYDIR and get the same results. The only way I get it to see the directories is by calling the set in the CMakeLists.txt. Still playing with it to see what other options are available…


#4

I got past this set of errors by adding the -fpermissive falg to the cxx compiler flags in CMakeLists.txt as follows:

This is because I have gcc 4.8 this would be needed for versions of gcc 4.7 or higher due to name lookup changes in gcc.
See:
https://gcc.gnu.org/gcc-4.7/porting_to.html

I also set the library and include paths in enironmental variables.

I now get an error finding junit at this point in the compilation:

[code][ 76%] Built target dense_linear_algebra
Scanning dependencies of target jdbc_build
Buildfile: /usr/local/src/SciDB/scidbtrunk/src/clients/java/build.xml

configure:

BUILD FAILED
/usr/local/src/SciDB/scidbtrunk/src/clients/java/build.xml:56: Can not find junit

Total time: 0 seconds
make[2]: *** [jdbc_build] Error 1
make[1]: *** [src/clients/java/CMakeFiles/jdbc_build.dir/all] Error 2
make: *** [all] Error 2
./run.py: ERROR: Command make failed: Abnormal return code: 2 on command [’/usr/bin/make’, ‘-j1’]
Make sure commands setup,make,install,start are performed (in that order) before stop,stopForce,tests
[/code]

So working on that now.


#5

Ok this is what I needed to do after make sure all the dependencies were in place.

export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
export CMAKE_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$CMAKE_LIBRARY_PATH

I then added to CMakeLists.txt

set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -fpermissive”)

This ran ./run.py setup and ./run.py make fine
But ./run.py install gives

– Installing: /usr/local/src/SciDB/scidbtrunk/stage/install/include/SciDBAPI.h
./run.py: ERROR: Command install failed: Abnormal return code: 1 on command [’/usr/local/src/SciDB/scidbtrunk/deployment/common/os_detect.sh’]
Make sure commands setup,make,install,start are performed (in that order) before stop,stopForce,tests


#6

I fixed the install errors it was postgres pg_hba.conf errors.
I am up an running I think if you are using gcc 4.7 or higher the -fpermissive needs to be in the cxx flags plus make sure the paths for the libraries are updated as they are different from 12.04.
Thanks for the help. Now to start slowly playing with setting up and loading in data…