exonum / exonum

An extensible open-source framework for creating private/permissioned blockchain applications

Home Page:https://exonum.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.