evilsocket / opensnitch

OpenSnitch is a GNU/Linux interactive application firewall inspired by Little Snitch.
GNU General Public License v3.0
10.86k stars 509 forks source link

protoc-gen-go: unable to determine Go import path for "ui.proto" #373

Closed EdEdEddyEddy closed 3 years ago

EdEdEddyEddy commented 3 years ago

Hello, I am glad to see this project being worked on again! I am struggling to compile from source.

Describe the bug I am doing this in a python venv. Following these instructions: https://github.com/evilsocket/opensnitch/wiki/Compilation

To Reproduce I enter python venv by sourcing the ~/pyenv/bin/activate, I export the go path, export the path. Continue following installation instructions, receive an error when I run "make"

Steps to reproduce the behavior:

  1. source ~/pyenv/bin/activate
  2. export GOPATH=~/pyenv
  3. export PATH=$PATH:$GOPATH/bin
  4. git clone https://github.com/evilsocket/opensnitch
  5. cd opensnitch
  6. make (error happens)

Post error logs:

make[1]: Entering directory '/home/ed/pyenv/opensnitch/proto' protoc -I. ui.proto --go_out=plugins=grpc:../daemon/ui/protocol/ protoc-gen-go: unable to determine Go import path for "ui.proto"

Please specify either: • a "go_package" option in the .proto source file, or • a "M" argument on the command line.

See https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.

--go_out: protoc-gen-go: Plugin failed with status code 1. make[1]: [Makefile:4: ../daemon/ui/protocol/ui.pb.go] Error 1 make[1]: Leaving directory '/home/ed/pyenv/opensnitch/proto' make: [Makefile:8: protocol] Error 2

Expected behavior (optional) Expected the compile to succeed

Screenshots

OS (please complete the following information):

Additional context Add any other context about the problem here.

gustavo-iniguez-goya commented 3 years ago

Hi @EdEdEddyEddy !

Please, modify proto/ui.proto and add the following line: option go_package = "opensnitch/daemon/ui/protocol"; or option go_package = "./";

EdEdEddyEddy commented 3 years ago

Hi @EdEdEddyEddy !

Please, modify proto/ui.proto and add the following line: option go_package = "opensnitch/daemon/ui/protocol"; or option go_package = "./";

@gustavo-iniguez-goya Thank you for replying!! I was able to add the second option into proto/ui.proto and I am now met with another hurdle:

`make[1]: Entering directory '/home/ed/pyenv/src/opensnitch/proto'

protoc -I. ui.proto --go_out=plugins=grpc:../daemon/ui/protocol/

python3 -m grpc_tools.protoc -I. --python_out=../ui/opensnitch/ --grpc_python_out=../ui/opensnitch/ ui.proto

make[1]: Leaving directory '/home/ed/pyenv/src/opensnitch/proto'

make[1]: Entering directory '/home/ed/pyenv/src/opensnitch/daemon'

go: github.com/evilsocket/ftrace@v1.2.0: missing go.sum entry; to add it:

go mod download github.com/evilsocket/ftrace

make[1]: *** [Makefile:15: opensnitchd] Error 1

make[1]: Leaving directory '/home/ed/pyenv/src/opensnitch/daemon'

make: *** [Makefile:11: opensnitch_daemon] Error 2 `

When I try to run "go mod download github.com/evilsocket/ftrace" I get: go mod download: module github.com/evilsocket/ftrace: not a known dependency

Not sure how to go about it at this point, your help will be great. Would love to get opensnitch working again, and very happy you are working on it. I was using your github before and saw the recent notice to use this one.

EdEdEddyEddy commented 3 years ago

update - i've been trying to get around this, i used the ftrace "go get -u github.com/evilsocket/ftrace" manually, also tried adding the go mod command to a go.sum file, not sure I can complete this. I was able to install the version from your github fine, ran out of ideas to try. couldn't get much help from gentoo users, did not find anyone using or familiar

gustavo-iniguez-goya commented 3 years ago

Maybe @NP-Hardass can you help here: https://github.com/gustavo-iniguez-goya/opensnitch/pull/62

I thought that she/he had packaged opensnitch for gentoo.

kqvanity commented 3 years ago

i also have this issue . I added both lines -one at a time- yet nothing worked

gustavo-iniguez-goya commented 3 years ago

@z0xyz , try the following:

add to proto/ui.proto this line: option go_package = "github.com/evilsocket/opensnitch/daemon/ui/protocol";

and execute: cd proto; protoc -I. ui.proto --go_opt=paths=source_relative --go_out=plugins=grpc:../daemon/ui/protocol/

EdEdEddyEddy commented 3 years ago

@z0xyz , try the following:

add to proto/ui.proto this line: option go_package = "github.com/evilsocket/opensnitch/daemon/ui/protocol";

and execute: cd proto; protoc -I. ui.proto --go_opt=paths=source_relative --go_out=plugins=grpc:../daemon/ui/protocol/

@z0xyz let me know your output for the above, i tried and the command ran but when I tried to make it showed: make[1]: Entering directory '/home/ed/pyenv/src/opensnitch/proto' python3 -m grpc_tools.protoc -I. --python_out=../ui/opensnitch/ --grpc_python_out=../ui/opensnitch/ ui.proto make[1]: Leaving directory '/home/ed/pyenv/src/opensnitch/proto' make[1]: Entering directory '/home/ed/pyenv/src/opensnitch/daemon' go: github.com/evilsocket/ftrace@v1.2.0: missing go.sum entry; to add it: go mod download github.com/evilsocket/ftrace make[1]: [Makefile:15: opensnitchd] Error 1 make[1]: Leaving directory '/home/ed/pyenv/src/opensnitch/daemon' make: [Makefile:11: opensnitch_daemon] Error 2

If I try to go mod download it s till shows: go mod download: module github.com/evilsocket/ftrace: not a known dependency

@NP-Hardass do you remember ever having any of these issues and if so what did you modify to get through this part of the compile?

gustavo-iniguez-goya commented 3 years ago
make[1]: Entering directory '/home/ed/pyenv/src/opensnitch/proto'
python3 -m grpc_tools.protoc -I. --python_out=../ui/opensnitch/ --grpc_python_out=../ui/opensnitch/ ui.proto
make[1]: Leaving directory '/home/ed/pyenv/src/opensnitch/proto'
make[1]: Entering directory '/home/ed/pyenv/src/opensnitch/daemon'

that looks good. there should exist the file ui.pb.go under daemon/ui/protocol/

NP-Hardass commented 3 years ago

Sorry, for some reason I thought github supported reply by email... I have my ebuild for 1.0.1 (for gustavo's fork) locally. Let me try porting it to use this repo, and the latest, and I'll report back (as well as commit it to my public repo, if it is successful)

EdEdEddyEddy commented 3 years ago

I want to give this a try outside python venv, but I've already broken my system before using sudo pip on the very old version. I've ran out of ideas.

@gustavo-iniguez-goya should I try to make install even though it's outputting errors? I also don't want to overwrite my working version from your github.

EdEdEddyEddy commented 3 years ago

@gustavo-iniguez-goya while I can't figure out what I did wrong to get the compile to fail in python env, it seems like this ebuild manages to compile on gentoo: https://github.com/pentoo/pentoo-overlay/blob/master/app-admin/opensnitch/opensnitch-1.3.6.ebuild

buraksecer commented 2 years ago

Bro thx I've been looking for this for 3 hours 💯