kingsfordgroup / armatus

BSD 2-Clause "Simplified" License
26 stars 10 forks source link

Compilation problems #9

Open XiaoTaoWang opened 7 years ago

XiaoTaoWang commented 7 years ago

Hi,

I tried to compile armatus using G++::

$ g++ -std=c++11 -w -L /public/home/xtwang/Tools/anaconda2/lib -I include/ -I /public/home/xtwang/Tools/anaconda2/include/ -O3 -o binaries/armatus-linux-x64 src/*.cpp -lboost_iostreams -lboost_program_options -lboost_system

No error occured during the compilation, just some warning information:

In file included from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/is_dereferenceable.hpp:12:0,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/resolve.hpp:26,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/push.hpp:24,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/chain.hpp:29,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/filtering_streambuf.hpp:17,
                 from src/ArmatusUtil.cpp:13:
/public/home/xtwang/Tools/anaconda2/include/boost/type_traits/detail/bool_trait_def.hpp:18:79: note: #pragma message: NOTE: Use of this header (bool_trait_def.hpp) is deprecated
 # pragma message("NOTE: Use of this header (bool_trait_def.hpp) is deprecated")
                                                                               ^
In file included from /public/home/xtwang/Tools/anaconda2/include/boost/type_traits/detail/bool_trait_def.hpp:21:0,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/is_dereferenceable.hpp:12,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/resolve.hpp:26,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/push.hpp:24,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/chain.hpp:29,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/filtering_streambuf.hpp:17,
                 from src/ArmatusUtil.cpp:13:
/public/home/xtwang/Tools/anaconda2/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated
 # pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
                                                                                    ^
In file included from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/is_dereferenceable.hpp:13:0,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/resolve.hpp:26,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/push.hpp:24,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/chain.hpp:29,
                 from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/filtering_streambuf.hpp:17,
                 from src/ArmatusUtil.cpp:13:
/public/home/xtwang/Tools/anaconda2/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated
 # pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
                                                                                    ^
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libm.so when searching for -lm
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc

However, when I ran the exported binary file::

$ binaries/armatus-linux-x64

I got this error:

binaries/armatus-linux-x64: error while loading shared libraries: libboost_iostreams.so.1.61.0: cannot open shared object file: No such file or directory

Do you have any suggestions?

kingsfordgroup commented 7 years ago

If you can, using cmake (as described in README.md) might help with this. If not, or that is not possible, run

$ ldd binaries/armatus-linux-x64

and check the directory for libboost_iostreams.so.1.61.0 and make sure that file exists. If not, there might be something wrong with your boost install.

On Jun 28, 2017, at 3:05 AM, Xiaotao Wang notifications@github.com wrote:

Hi,

I tried to compile armatus using G++::

$ g++ -std=c++11 -w -L /public/home/xtwang/Tools/anaconda2/lib -I include/ -I /public/home/xtwang/Tools/anaconda2/include/ -O3 -o binaries/armatus-linux-x64 src/*.cpp -lboost_iostreams -lboost_program_options -lboost_system No error occured during the compilation, just some warning information:

In file included from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/is_dereferenceable.hpp:12:0, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/resolve.hpp:26, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/push.hpp:24, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/chain.hpp:29, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/filtering_streambuf.hpp:17, from src/ArmatusUtil.cpp:13: /public/home/xtwang/Tools/anaconda2/include/boost/type_traits/detail/bool_trait_def.hpp:18:79: note: #pragma message: NOTE: Use of this header (bool_trait_def.hpp) is deprecated

pragma message("NOTE: Use of this header (bool_trait_def.hpp) is deprecated")

                                                                           ^

In file included from /public/home/xtwang/Tools/anaconda2/include/boost/type_traits/detail/bool_trait_def.hpp:21:0, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/is_dereferenceable.hpp:12, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/resolve.hpp:26, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/push.hpp:24, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/chain.hpp:29, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/filtering_streambuf.hpp:17, from src/ArmatusUtil.cpp:13: /public/home/xtwang/Tools/anaconda2/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated

pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")

                                                                                ^

In file included from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/is_dereferenceable.hpp:13:0, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/resolve.hpp:26, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/detail/push.hpp:24, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/chain.hpp:29, from /public/home/xtwang/Tools/anaconda2/include/boost/iostreams/filtering_streambuf.hpp:17, from src/ArmatusUtil.cpp:13: /public/home/xtwang/Tools/anaconda2/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated

pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")

                                                                                ^

/usr/bin/ld: skipping incompatible /usr/lib/../lib/libm.so when searching for -lm /usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc However, when I ran the exported binary file::

$ binaries/armatus-linux-x64 I got this error:

binaries/armatus-linux-x64: error while loading shared libraries: libboost_iostreams.so.1.61.0: cannot open shared object file: No such file or directory Do you have any suggestions?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kingsfordgroup/armatus/issues/9, or mute the thread https://github.com/notifications/unsubscribe-auth/AFAPX0CvcrZXY9Dfe7DMtn0PfVxv-9onks5sIfsdgaJpZM4OHkco.

arnaudceol commented 7 years ago

I'm also using conda and I had the same problem (even worse using cmake, as suggested on the README for macOS).

I fixed this by exporting the LD_LIBRARY_PATH variable:

export LD_LIBRARY_PATH=$CONDA_PREFIX/lib/

before to launch armatus