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

build issue #60

Open
snmsung716 opened this issue Jun 29, 2022 · 2 comments
Open

build issue #60

snmsung716 opened this issue Jun 29, 2022 · 2 comments

Comments

@snmsung716
Copy link

snmsung716 commented Jun 29, 2022

Hi, I have used async_grpc for cloud mapping on ROS1, melodic. Recently I installed ROS2 Humble and cartographer on it. Then, I wanted to get cloud mapping on cartographer. So I used one of the files, "install_async_grpc.sh" on cartographer. But, it doesn't work because ubuntu version 22.04 supports only gcc 9, 10, 11, 12 and tried to install all gcc supported by it. But I have same error on those versions like below code. Anyone can help this problem please?
Thank you for reading this issue.

cmake ..
-- The C compiler identification is GNU 12.0.1
-- The CXX compiler identification is GNU 12.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python: /usr/bin/python3.10 (found version "3.10.4") found components: Interpreter 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found GMock: gmock_main  
-- Found Protobuf: /usr/local/lib/libprotobuf.a (found suitable version "3.19.4", minimum required is "3.0.0") 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/erick/dependency_ws/src/cartographer/scripts/async_grpc/build

make
[  4%] Running C++ protocol buffer compiler on async_grpc/proto/math_service.proto
[  8%] Building CXX object CMakeFiles/async_grpc.dir/async_grpc/common/time.cc.o
[ 12%] Building CXX object CMakeFiles/async_grpc.dir/async_grpc/completion_queue_pool.cc.o
In file included from /usr/include/c++/12/memory:66,
                 from /home/erick/dependency_ws/src/cartographer/scripts/async_grpc/async_grpc/async_client.h:20,
                 from /home/erick/dependency_ws/src/cartographer/scripts/async_grpc/async_grpc/completion_queue_pool.cc:19:
/usr/include/c++/12/bits/stl_uninitialized.h: In instantiation of ‘constexpr bool std::__check_constructible() [with _ValueType = async_grpc::CompletionQueue; _Tp = async_grpc::CompletionQueue&&]’:
/usr/include/c++/12/bits/stl_uninitialized.h:182:4:   required from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = move_iterator<async_grpc::CompletionQueue*>; _ForwardIterator = async_grpc::CompletionQueue*]’
/usr/include/c++/12/bits/stl_uninitialized.h:372:37:   required from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = move_iterator<async_grpc::CompletionQueue*>; _ForwardIterator = async_grpc::CompletionQueue*; _Tp = async_grpc::CompletionQueue]’
/usr/include/c++/12/bits/stl_uninitialized.h:397:2:   required from ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = async_grpc::CompletionQueue*; _ForwardIterator = async_grpc::CompletionQueue*; _Allocator = allocator<async_grpc::CompletionQueue>]’
/usr/include/c++/12/bits/vector.tcc:674:48:   required from ‘void std::vector<_Tp, _Alloc>::_M_default_append(size_type) [with _Tp = async_grpc::CompletionQueue; _Alloc = std::allocator<async_grpc::CompletionQueue>; size_type = long unsigned int]’
/usr/include/c++/12/bits/stl_vector.h:1010:4:   required from ‘void std::vector<_Tp, _Alloc>::resize(size_type) [with _Tp = async_grpc::CompletionQueue; _Alloc = std::allocator<async_grpc::CompletionQueue>; size_type = long unsigned int]’
/home/erick/dependency_ws/src/cartographer/scripts/async_grpc/async_grpc/completion_queue_pool.cc:104:28:   required from here
/usr/include/c++/12/bits/stl_uninitialized.h:90:56: error: static assertion failed: result type must be constructible from input type
   90 | ctible<_ValueType, _Tp>::value,
      |                          ^~~~~

/usr/include/c++/12/bits/stl_uninitialized.h:90:56: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
make[2]: *** [CMakeFiles/async_grpc.dir/build.make:97: CMakeFiles/async_grpc.dir/async_grpc/completion_queue_pool.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:127: CMakeFiles/async_grpc.dir/all] Error 2
@twdragon
Copy link

twdragon commented Oct 7, 2022

Same issue, trying to investigate.

@twdragon
Copy link

twdragon commented Oct 7, 2022

Found a deleted copy constructor in the new Ubuntu package:

/usr/include/grpcpp/impl/codegen/sync.h:52:3: note: 'Mutex' has been explicitly marked deleted here
  Mutex(const Mutex&) = delete;
  ^

This version of gRPC-async seemed incompatible with the new main gRPC library.

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

2 participants