Завершение вызова в C ++ после создания экземпляра 'std :: system_error' - PullRequest
0 голосов
/ 03 декабря 2018

Недавно я начал работать над Grpc.При компиляции Grpc C ++ я получаю сообщение об ошибке ниже, не уверенный, что вызвало проблему.

Я не из C ++ фона, любая помощь будет очень полезна для меня.

[HOSTLD] Linking /home / test / grpc / bins / opt / grpc_ruby_plugin [PROTOC] Генерация файла CC protobuf из src / proto / grpc / channelz / channelz.proto [GRPC] Генерация файла CC службы protobuf gRPC из src / proto / grpc / channelz / channelz.proto

завершить вызов после выброса экземпляра 'std :: system_error'

what (): неизвестная ошибка -1

- grpc_out: protoc-gen-grpc: плагин убит сигналом 6.

make: *** [/ home / test / grpc / gens/src/proto/grpc/channelz/channelz.grpc.pb.cc] Ошибка 1

Перед попыткой кросс-компиляции, которая привела к "ошибке сегментации grpc" при обмене данными helloworld.Чтобы очистить, что я следовал ниже шагу.

Я обстрелял мой / usr / local / lib / и очистил все библиотеки proto и grpc

rm -f / usr / local / lib / libproto * / usr / local / lib / libgrpc *

Очистил все

Подмодуль git foreach git clean-xfd

git clean -xfd

Затем переустановил все, но все равно я получаю вышеуказанную ошибку.Может кто-нибудь, пожалуйста, помогите мне в этом вопросе?

Примечание: Я удалил полную папку grpc, отозвал ее.Установленный protobuf, и установка protobuf прошла успешно, но когда я даю команду «make» в gRPC, я получаю вышеуказанную ошибку.

Когда я гуглял, это выглядит как общая ошибка со стороны c ++.

Ниже приведены шаги, которые я выполнил.:

• git clone -b $ (curl -L http://grpc.io/release) https://github.com/grpc/grpc

• cd grpc

• Обновление подмодуля git --init

• cd Third_party / protobuf

• ./Autogen.sh

• ./configure

•make && make install (установка Protobuf успешна)

• перейдите в папку grpc и дайте make.

Это не удачно, бросает команду terminate после вызова экземпляра 'std :: system_error'

1 Ответ

0 голосов
/ 03 декабря 2018

Я получил решение для этого, потому что pthread не был настроен должным образом.

Выполнение команды ниже из папки protobuf решило проблему.

pkg-config --cflags protobuf # printфлаги компилятора

pkg-config --libs protobuf # флаги компоновщика печати

pkg-config --cflags --libs protobuf # печать обоих

. / configure CXXFLAGS = "$ (pkg-config --cflags protobuf) "LIBS =" $ (pkg-config --libs protobuf) "

make

[sudo] make install

goв папку grpc и выполните команду make.

...