DiltheyLab / MetaMaps

Long-read metagenomic analysis
Other
98 stars 23 forks source link

Installation problem: get "fatal error: boost/serialization/unordered_map.hpp: No such file or directory" after executing `make metamaps` #24

Closed Lemon-Liu closed 4 years ago

Lemon-Liu commented 4 years ago

I was trying to install the metaMaps in my centos7 by following the instruction . Everything is fined until executing make metamaps, I got this error message:

'''g++ -c -O2 -ggdb -fopenmp -std=c++11 -Isrc -L /public2/software/boost_1_71_0/lib -I /public2/software/boost_1_71_0/include -include src/common/memcpyLink.h -Wl,--wrap=memcpy -DUSE_BOOST -o src/map/mash_map.o src/map/mash_map.cpp In file included from src/map/mapWrap.h:28:0, from src/map/mash_map.cpp:19: src/map/include/winSketch.hpp:33:49: fatal error: boost/serialization/unordered_map.hpp: No such file or directory

include <boost/serialization/unordered_map.hpp>

                                             ^

compilation terminated. make: *** [src/map/mash_map.o] Error 1 '''

I got the same error even after installing the Autoconf 2.69.

Do you have any idea to fix this? Thanks in advance.

AlexanderDilthey commented 4 years ago

Hi @Lemon-Liu, does the file /public2/software/boost_1_71_0/include/boost/serialization/unordered_map.hpp exist on your system?

Lemon-Liu commented 4 years ago

Hi @AlexanderDilthey, I checked the path you mentioned and reinstalled the boost_1_71_0, then I run make metamaps without err messages this time:

g++ -c -O2 -ggdb -fopenmp -std=c++11 -Isrc -L /public2/software/boost_1_71_0/lib -I /public2/software/boost_1_71_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 /public2/software/boost_1_71_0/lib -I /public2/software/boost_1_71_0/include  -include src/common/memcpyLink.h -Wl,--wrap=memcpy -DUSE_BOOST src/map/mash_map.o   -o metamaps /public2/software/boost_1_71_0/lib/libboost_math_c99.a -lstdc++ -fopenmp -lz -lm -lpthread -lboost_system -lboost_filesystem -lboost_serialization -lboost_regex

However, I got another problem while running ./metamaps:

./metamaps: error while loading shared libraries: libboost_system.so.1.71.0: cannot open shared object file: No such file or directory

I searched in the Internet but got no useful messages. Could you please help me to fix this out? Thanks in advance.

AlexanderDilthey commented 4 years ago

@Lemon-Liu Great! The problem is now that the Boost library is not found when starting MetaMaps. You should be able to fix this by adding the directory that the Boost libraries are in (assumedly /public2/software/boost_1_71_0/lib) to the environment variable LD_LIBRARY_PATH.

Lemon-Liu commented 4 years ago

@Lemon-Liu Great! The problem is now that the Boost library is not found when starting MetaMaps. You should be able to fix this by adding the directory that the Boost libraries are in (assumedly /public2/software/boost_1_71_0/lib) to the environment variable LD_LIBRARY_PATH.

Thanks for your kind help. It now works well!