Merkldb v0.13.0-rc2 build failed
dharry1968 opened this issue · comments
when trying to build v0.13 on OSX I am presented with the following error:
error: failed to run custom build command for exonum-merkledb v0.13.0-rc.2 (/Users/deanharry/projects/exonum/components/merkledb)
Caused by:
process didn't exit successfully: /Users/deanharry/projects/exonum/target/debug/build/exonum-merkledb-553267fa1c00bd4c/build-script-build
(exit code: 101)
--- stdout
cargo:protos=/Users/deanharry/projects/exonum/components/merkledb/src/proto
--- stderr
google/protobuf/empty.proto: File not found.
map_proof.proto:17:1: Import "google/protobuf/empty.proto" was not found or had errors.
map_proof.proto:39:9: "google.protobuf.Empty" is not defined.
thread 'main' panicked at 'protoc: Custom { kind: Other, error: "protoc ("protoc" "-Isrc/proto" "-I/Users/deanharry/projects/exonum/components/crypto/src/proto/schema" "-Isrc/proto" "--descriptor_set_out=/tmp/protoc-rustm1ZqhI/descriptor.pbbin" "--include_imports" "src/proto/list_proof.proto" "src/proto/map_proof.proto") exited with non-zero exit code" }', src/libcore/result.rs:1084:5
note: run with RUST_BACKTRACE=1
environment variable to display a backtrace.
warning: build failed, waiting for other jobs to finish...
error: build failed
Have confirmed that protobuf is installed and available.
Hello, thank you for creating an issue.
Could you please provide an output of brew info protobuf
command?
Sure thing, here you go.
deanharry@Deans-iMac exonum % brew info protobuf
protobuf: stable 3.11.2 (bottled), HEAD
Protocol buffers (Google's data interchange format)
https://github.com/protocolbuffers/protobuf/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/protobuf.rb
==> Dependencies
Build: autoconf ✘, automake ✘, libtool ✘, python ✘
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 73,691 (30 days), 164,257 (90 days), 457,354 (365 days)
install-on-request: 31,517 (30 days), 70,943 (90 days), 207,902 (365 days)
build-error: 0 (30 days)
It's interesting, you have a correct protobuf version. Do you have an empty.proto
file in protobuf installation location?
ls /usr/local/Cellar/protobuf/3.11.2/include/google/protobuf | grep empty
interestingly I don't have a protobuf folder in /user/local/Cellar...
🤔 This folder is used by Homebrew and contains all the packages installed via Homebrew. Do you have any other folders in there?
What is the output of ls -l /usr/local/bin | grep protoc
?
deanharry@Deans-iMac local % ls -l /usr/local/bin | grep protoc
-rwxr-x--- 1 deanharry admin 11773784 1 Dec 15:31 protoc
So it is not a symlink, but rather an actual binary. It's weird, Homebrew never does that.
@dharry1968 I propose to reinstall protobuf
:
brew reinstall protobuf
deanharry@Deans-iMac exonum % brew info protobuf
protobuf: stable 3.11.2 (bottled), HEAD
Protocol buffers (Google's data interchange format)
https://github.com/protocolbuffers/protobuf/
Not installed
Oh, you actually have no protobuf package installed :D
very odd as I was running v0.12 just fine, not sure how I installed protobuf then... anyway, removed and reinstalled protobuf and it compiled just fine now. Thanks Guys.