Closed xlinxlin closed 5 years ago
@xlinxlin Apologies for late response, I had been away for a few days. This is a Boost issue - difficult to diagnose remotely. Is it possible that the version of gcc used to build the library is different from the one you have in your PATH? I'd recommend trying to build against a local version of Boost.
@AlexanderDilthey Thank you for your response, I also think it is a Boost issue but I have no idea how to fix it... Here is my commands how I installed Boost and MetaMaps (I just tried it again with boost 1.70 and got the same error messages).
cd boost_1_70_0
sudo mkdir /opt/boost_1_70_0
sudo ./bootstrap.sh --prefix=/opt/boost_1_70_0
sudo ./b2 install
cd ~/git/MetaMaps
sudo ./bootstrap.sh
sudo./configure --with-boost=/opt/boost_1_70_0
sudo make metamaps
What I noticed is that I set the path to Boost is /opt/boost_1_70_0, but in the error message it seems that it used the Boost in /usr/include, is that could be the problem? Should I set some extra settings for this installation? Thank you!
@AlexanderDilthey and my gcc version is 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1), is that also could be an issue?
gcc 7.4.0 should be fine.
Yes, there seems to be a version mismatch, the output you listed all points to /opt/boost_1_68/lib
. Did you check that there is a valid installation of boost in /opt/boost_1_70_0
? Also, it might be that a space character is misisng between sudo
and ./configure
in the command you quoted: sudo./configure --with-boost=/opt/boost_1_70_0
.
I am not sure why configure
does not include the correct paths - you could always manually edit the generated makefile. Let me know if you need help with this.
@AlexanderDilthey It would be greatly appreciated if you could help me to edit the generated makefile. Please find the attached file, thank you. Makefile.gz
Thank you! The Makefile looks good to me!
Can you do a make clean
in the MetaMaps directory, followed by a make metamaps
, and confirm that you still get error messages that refer to your global Boost installation (/usr/include/boost/
...)?
Can you do an ls
on /opt/boost_1_70_0/include
and post the output?
@AlexanderDilthey
g++ -c -O2 -ggdb -fopenmp -std=c++11 -Isrc -L /opt/boost_1_70_0/lib -I /opt/boost_1_70_0/include -include src/common/memcpyLink.h -Wl,--wrap=memcpy -DUSE_BOOST -o src/map/mash_map.o src/map/mash_map.cpp
g++ -O2 -ggdb -fopenmp -std=c++11 -Isrc -L /opt/boost_1_70_0/lib -I /opt/boost_1_70_0/include -include src/common/memcpyLink.h -Wl,--wrap=memcpy -DUSE_BOOST src/map/mash_map.o -o metamaps /opt/boost_1_70_0/lib/libboost_math_c99.a -lstdc++ -fopenmp -lz -lm -lpthread -lboost_system -lboost_filesystem -lboost_serialization -lboost_regex
/opt/boost_1_70_0/include
there is only a folder boost
Please see the screenshots in the attachment, thank you.
@AlexanderDilthey I think I have maybe the same issue mentioned in this post, but I have no idea how to fix it...
@AlexanderDilthey Finally...It works!
Excellent! I'll close this issue now, but let me know if you encounter further problems.
I just tried to install MetaMaps on my Ubuntu 18.04 computer but it failed, the last installation message I can get from the console is:
Can someone help me? Thanks!