Closed lemonChar closed 4 years ago
Thanks for raising the issue. Boost is included as a "system" include directory (see CMakeLists.txt), which should ideally prevent this issue. But it seems to not be broken.
Can you please provide the following:
scripts/clean.sh
Thanks for your quick reply. I ran eRPC on Ubuntu 16.04. And I downloaded boost source code from https://sourceforge.net/projects/boost/files/boost/1.61.0/boost_1_61_0.tar.gz Then I complied it.
Here is the output:
./scripts/clean.sh
cmake . -DPERF=OFF -DTRANSPORT=infiniband
_-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found GTest: /home/wyl/.local/lib/libgtest.a
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Compilation not optimized for performance.
-- Profile-guided optimization is disabled.
-- Logging level = warn.
-- Debugging is enabled. Perf will be low.
-- Testing is enabled. Performance will be low.
-- LTO is disabled. Performance will be low.
-- Boost version: 1.61.0
-- Boost include directory = /home/wyl/.local/include
-- Selected transport = infiniband.
-- Compiling eRPC as a library
-- No autorun_appfile found. No application will be compiled.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wyl/eRPC
I can run it normally now by delete _add_definitions(-Wall -Wextra -Werror -pedantic -Wsign-conversion -Wold-style-cast) adddefinitions(-Wno-unused-function -Wno-nested-anon-types -Wno-keyword-macro)
Maybe this is owing to my g++ version (5.4.0). I noticed that you seemed to using g++ 8.
Ignoring the warnings is a valid workaround. I'll get back to this bug in a few days.
Heh "few days". eRPC now doesn't require Boost.
I met this error when I first ran on Boost 1.70.0. Then I degraded to Boost 1.69.0. And I met the error again. I noticed that there was an issue similar with my case for Boost 1.67+. So I degraded to Boost 1.61.0 and tried it again. But the error still existed. error output: _{CMAKE}/boost/function/functiontemplate.hpp:638:69 error: use of old-style cast [-Werror=old-style-cast] _functor.member.obj_ref.obj_ptr = (void *)(f.getpointer());
More output: In file included from /home/wyl/.local/include/boost/function/detail/maybe_include.hpp:50:0, from /home/wyl/.local/include/boost/function/detail/function_iterate.hpp:14, from /home/wyl/.local/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:72, from /home/wyl/.local/include/boost/function.hpp:70, from /home/wyl/.local/include/boost/algorithm/string/detail/find_iterator.hpp:18, from /home/wyl/.local/include/boost/algorithm/string/find_iterator.hpp:24, from /home/wyl/.local/include/boost/algorithm/string/iter_find.hpp:27, from /home/wyl/.local/include/boost/algorithm/string/split.hpp:16, from /home/wyl/.local/include/boost/algorithm/string.hpp:23, from /home/wyl/eRPC/src/common.h:12, from /home/wyl/eRPC/src/transport.h:8, from /home/wyl/eRPC/src/transport_impl/infiniband/ib_transport.h:9, from /home/wyl/eRPC/src/transport_impl/infiniband/ib_transport_datapath.cc:3: