grpc route_guide执行时遇到Aborted core dumped

  • 复现步骤:
    在一个terminal执行./route_guide_server,另一个terminal执行./route_guide_client. 在执行./route_guide_client的时候出错显示“Aborted(core dumped)”
  • 查找问题:
    1. 利用gdb,执行gdb ./route_guild_client,在run之后,显示received signal SIGABRT. 查看bt,显示是由于调用了/usr/local/lib/libgrpc++.so.1中的grpc_slice_malloc()导致了__GI_abort()。而事实上,安装grpc的lib的location是在~/.local/lib中,用nm -A ~/.local/lib/libgrpc++* 2>/dev/null | grep “grpc_slice_malloc” 确实找到了在libgrpc++.a中有grpc_slice_malloc的符号。
    2. 查看Makefile,在LDFLAGS那行加了 -L/usr/local/lib, 表明是在/usr/local/lib中查找lib文件,然后pkg-config --libs protobuf grpc++开头显示-L/[homedir]/.local/lib,所以在Makefile中直接去掉 -L/usr/local/lib,重新编译执行
  • 解决问题:
    在Makefile中去掉 -L/usr/local/lib,重新编译执行

猜你喜欢

转载自blog.csdn.net/iamanda/article/details/112464748