Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
hijiangtao opened this issue Apr 27, 2016 · 11 comments
Open

Comments

@hijiangtao
Copy link

hijiangtao commented Apr 27, 2016

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
Copy link
Author

hijiangtao commented Apr 27, 2016

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

@salivian
Copy link
Collaborator

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
#48 (comment)

@jklosow
Copy link
Collaborator

jklosow commented Apr 27, 2016

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

@salivian
Copy link
Collaborator

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
#48 (comment)

@hijiangtao
Copy link
Author

hijiangtao commented Apr 28, 2016

@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
Copy link
Author

hijiangtao commented Apr 28, 2016

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.

@laurolins
Copy link
Owner

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.

@hijiangtao
Copy link
Author

hijiangtao commented Apr 29, 2016

@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 hijiangtao changed the title Problem about nanocube's BOOST_VERSION configuration Problem about nanocube's configuration and running in ubuntu16.04 LTS Apr 29, 2016
@hijiangtao hijiangtao changed the title Problem about nanocube's configuration and running in ubuntu16.04 LTS Problems about nanocube's configuration and running in ubuntu16.04 LTS Apr 29, 2016
@jklosow
Copy link
Collaborator

jklosow commented Apr 29, 2016

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

@hijiangtao
Copy link
Author

hijiangtao commented Apr 29, 2016

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

@salivian
Copy link
Collaborator

salivian commented May 1, 2016

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants