nanocube icon indicating copy to clipboard operation
nanocube copied to clipboard

Problems about nanocube's configuration and running in ubuntu16.04 LTS

Open hijiangtao opened this issue 8 years ago • 11 comments

I installed all the dependencies as said in README as follows:

sudo apt-get install build-essential
sudo apt-get install automake
sudo apt-get install libtool
sudo apt-get install zlib1g-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libcurl4-openssl-dev

Then I input the follow command into console:

wget https://github.com/laurolins/nanocube/archive/3.2.1.zip
unzip 3.2.1.zip
cd nanocube-3.2.1
export NANOCUBE_SRC=`pwd`
./bootstrap
mkdir build
cd build
../configure --prefix=$NANOCUBE_SRC CXXFLAGS="-O3"

Then the problem showed at the last command of configure....

The error shows below and I don't know if I should do some extra operations to solve it?

checking for Boost's header version... 
configure: error: invalid value: boost_major_version=

Any ideas about it? Thanks.

hijiangtao avatar Apr 27 '16 01:04 hijiangtao

However, I did cat the version info at /usr/include/boost/version.hpp:

#define BOOST_LIB_VERSION "1_58"

And my OS is ubuntu16.04

hijiangtao avatar Apr 27 '16 01:04 hijiangtao

Hi,

Can you please tell me the version of ubuntu that you used ? we have tested it on 14.04 LTS.

Horace

On Tue, Apr 26, 2016 at 9:39 PM, hijiangtao [email protected] wrote:

However, I did cat the version info at /usr/include/boost/version.hpp:

#define BOOST_LIB_VERSION "1_58"

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/laurolins/nanocube/issues/48#issuecomment-214939685

salivian avatar Apr 27 '16 13:04 salivian

It looks like this is an issue with the newer version of Boost. We've seen similar posts online for other software that uses it too. Can you please try to use this new boost.m4 file and see if that solves the problem? If so, we'll update it in the repo. You'll need to put it in the m4 directory and then rerun from the unzip stage.

http://github.com/tsuna/boost.m4/raw/master/build-aux/boost.m4

If this does not work, there is a work-around where you hard-code your boost version in the m4 file too.

Thanks.

Jim

jklosow avatar Apr 27 '16 15:04 jklosow

Hi,

The problem is due to a bug/behavior change for the new GCC in 16.04, I have committed a new version of boost.m4 in master to fix the problem

If you don't want to use the master version, please replace m4/boost.m4 with the following file.

https://raw.githubusercontent.com/laurolins/nanocube/e4156fdc38efa0db1b568439db88204467613dad/m4/boost.m4

This should fix your problem

Thanks!

Horace

On Wed, Apr 27, 2016 at 11:55 AM, Jim Klosowski [email protected] wrote:

It looks like this is an issue with the newer version of Boost. We've seen similar posts online for other software that uses it too. Can you please try to use this new boost.m4 file and see if that solves the problem? If so, we'll update it in the repo. You'll need to put it in the m4 directory and then rerun from the unzip stage.

http://github.com/tsuna/boost.m4/raw/master/build-aux/boost.m4 https://github.com/tsuna/boost.m4/raw/master/build-aux/boost.m4

If this does not work, there is a work-around where you hard-code your boost version in the m4 file too.

Thanks.

Jim

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/laurolins/nanocube/issues/48#issuecomment-215129343

salivian avatar Apr 27 '16 17:04 salivian

@salivian hi, and thanks for the explanation. I follow your suggestion and choose the former one(which I downloaded the master version and compile it) but faced another problem. I can successfully make install them but with some warnings, and it echos they are not necessary, but when I Running a nanocube and use the following command it echos Caught signal 6. Shuting down...

cat $NANOCUBE_SRC/data/crime50k.dmp | nanocube-leaf -q 29512 -f 10000

The detail command and its log result shows follow:

joe@hijiangtao:~/documents/git/nanocube$ cat $NANOCUBE_SRC/data/crime50k.dmp | nanocube-leaf -q 29512 -f 10000
VERSION: 3.2.2
nanocube-leaf: ../../src/TaggedPointer.hh:47: void tagged_pointer::TaggedPointer<T>::setPointer(T*) [with T = timeseries::TimeSeries<nanocube::TimeSeriesEntryType<boost::mpl::vector<nanocube::u2, nanocube::u4> > >]: Assertion `data.aux.tag == 0 || data.aux.tag == 0xFF' failed.

Caught signal 6.  Shuting down...

May the master have some new features influence the performance? Would it be possible to solve it if I try the stable version and replace the boost.m4 file in it and try again?

hijiangtao avatar Apr 28 '16 03:04 hijiangtao

Update: unfortunately, this way also shows failure result, and the results is similar to the master version installing except it didn't echo caught signal 6, the result shows below:

VERSION: 3.2.1
nanocube-leaf: ../../src/TaggedPointer.hh:47: void tagged_pointer::TaggedPointer<T>::setPointer(T*) [with T = timeseries::TimeSeries<nanocube::TimeSeriesEntryType<boost::mpl::vector<nanocube::u2, nanocube::u4> > >]: Assertion `data.aux.tag == 0 || data.aux.tag == 0xFF' failed.

@jklosow Thanks, and I am now trying your suggestion and see if replacing file can solve the bug caused by new gcc's feature.

hijiangtao avatar Apr 28 '16 03:04 hijiangtao

Hi hijiangtao, we reproduced the error you observed on ubuntu 16.04. It seems that the values in the higher order bits of the 64-bit pointers can assume values that we were not expecting before. That is not important for anything we do there (assuming only the lower 48-bits of a pointer are still sufficient). We got rid of the assertion on line 47 of TaggedPointer.hh and, after that, the crime dataset loaded fine on ubuntu 16.04. Try pulling the master branch and give it a shot again. Thanks for reporting this problem, and I hope you can get it going now.

laurolins avatar Apr 28 '16 17:04 laurolins

@laurolins hi and your suggestion solved the running problem, I can also successfully query some simple examples with the url wrote in README, such as http://localhost:29512/schema, but I have some problems which seems to be a signal of unsuccessful running in other places.

Such as when I run the test file command and the results return FAILURE:

Here is the command I used:

cd $NANOCUBE_SRC/test
./nctest.sh

And follow the result:

********************
FAILURE: Test output does not match expected results for Linux.  Something is likely wrong with the setup.
********************

And when I use the command below to start the web-viewer, and it hints me the command not found?

joe@hijiangtao:~/documents/git/nanocube/test$ ncwebviewer-config -s http://localhost:29512 -o $NANOCUBE_SRC/extra/nc_web_viewer/config_crime.json
ncwebviewer-config: command not found

Is there any path I didn't set right to cause the problem, I followed your README file and export them rightly before.

Thanks.

hijiangtao avatar Apr 29 '16 02:04 hijiangtao

Hi,

Just after the build instructions, we mention that you need to update your PATH environment variable so that you can find the binaries:

export NANOCUBE_BIN=$NANOCUBE_SRC/bin export PATH=$NANOCUBE_BIN:$PATH

This is likely the problem you are having now.

With respect to the nanocube test script, this is quite likely because you are using a different OS version than what I used to generate the original results (ubuntu 14.04). I will generate more data for Ubuntu 16.04 and add that to the test, which hopefully will also solve this problem for you. If you can do some of the simple queries that we have shown on the website, then the nanocubes is most likely set up correctly.

Jim

jklosow avatar Apr 29 '16 12:04 jklosow

Thanks.

I can do some of the simple queries successfully with the examples in README. And consider about the unrecognized command problem, I did the update the PATH environment variable before, as told in README, and I can make ncwebviewer-config run rightly after that. But it seems that I need to export the path which describes in README every time I turn on a new console? Is there any better way for me not to repeat the export command every time when I want to use it, or is it possible for me to write the export commands decribed in README into /etc/profile?

And for the test script and simple web-viewer part, the script shows like I said before, and after I re-export the commands, I can use the following commands to open the service at port 8000. But the web content seems to have some problems, and I think that may caused by the same way with test script generated in a different OS(ubuntu 14.04LTS) with my current running OS(ubuntu 16.04LTS)?

Followed by the log of chromium at localhost:8000, hope that can help your group to testing nanocube in ubuntu16.04LTS.(the first failed resource is http://localhost:8000/config.json, the second error occurs around }).fail(function(){throw new Error("Fail to get or parse "+conf);});, the last one is a icon file which may be unnecessary )

Failed to load resource: the server responded with a status of 404 (File not found)
Uncaught Error: Fail to get or parse config
Failed to load resource: the server responded with a status of 404 (File not found)

Joe

hijiangtao avatar Apr 29 '16 15:04 hijiangtao

Please check this regarding setting up a bash environment. http://tldp.org/LDP/Bash-Beginners-Guide/html/chap_03.html

The test url should be http://localhost:8000/#config_crime the "#config_crime" asks for config_crime.json. The client should not be asking for config.json (and config.json does not exist)

Please make sure you can perform the Simple Queries as in the readme.

It is possible that the test script output does not match what you have due to the new os/compiler/etc.

salivian avatar May 01 '16 03:05 salivian