Getting error while running the "make server" command

Hey folks, I’m trying to run Meshery locally by referring to https://github.com/meshery/meshery/blob/master/CONTRIBUTING.md#prerequisites-for-building-meshery-in-your-development-environment

I’m getting this weird error while running make server -

process_begin: CreateProcess(NULL, which go1.17.8; echo $?, ...) failed.
Makefile:25: pipe: No error
error: unknown option `max-count=1`'

The complete output of the command:

process_begin: CreateProcess(NULL, which go1.17.8; echo $?, ...) failed.
Makefile:25: pipe: No error
error: unknown option `max-count=1`'
usage: git describe [<options>] [<commit-ish>...]
   or: git describe [<options>] --dirty

    --contains            find the tag that comes after the commit   
    --debug               debug search strategy on stderr
    --all                 use any ref
    --tags                use any tag, even unannotated
    --long                always use long format
    --first-parent        only follow first parent
    --abbrev[=<n>]        use <n> digits to display object names     
    --exact-match         only output exact matches
    --candidates <n>      consider <n> most recent tags (default: 10)
    --match <pattern>     only consider tags matching <pattern>
    --exclude <pattern>   do not consider tags matching <pattern>
    --always              show abbreviated commit object as fallback
    --dirty[=<mark>]      append <mark> on dirty working tree (default: "-dirty")
    --broken[=<mark>]     append <mark> on broken working tree (default: "-broken")

cd cmd; go1.17.8 mod tidy; \
BUILD="" \
PROVIDER_BASE_URLS="https://meshery.layer5.io" \
PORT=9081 \
DEBUG=true \
ADAPTER_URLS="localhost:10000 localhost:10001 localhost:10002 localhost:10004 localhost:10005 localhost:10006 localhost:10007 localhost:10009 localhost:10010 localhost:10012" \
APP_PATH="../install/apps.json" \
go1.17.8 run main.go;
The system cannot find the path specified.
make: *** [Makefile:99: server] Error 1

I’m trying to run Meshery on my Windows 10 machine, and I’m using GNU Make (referred this to install it) to run make commands. Can someone please help me out with this?

From what I understand after searching about this issue over the Internet is that there seems to be some issue with running make commands on Windows, although I’m not quite sure :sweat_smile:

Do you have golang 1.17.18 installed (specifically that version)? Does `go1.17.8

@Pankaj.Khushalani, you might have some insight to share here.

1 Like

Nope, actually, I have golang 1.19 version installed. I realized that this specific version of golang that you mentioned might be needed after going through the commands in Makefile. Can we probably mention this in the docs if this is a pre-requisite?

@Devansu.Yadav if you take a look at the Makefile, line 25 throws an error for you as per the output.

This is what is causing the issue - ifeq ($(shell which go$(GOVERSION); echo $$?),1)
max-count=1 comes from the ifeq ($(...), 1) syntax which is not supported in Windows.

Windows can only support NMake format of a Makefile which is unable to support some syntax and commands that a Makefile on a Linux system would.

Apart from the issue you are having with Go version, I suggest that you make use of a Linux environment to run the Makefile without unprecedented issues. Since you are on Windows, Windows Subsystem for Linux is a great choice.

PS: You can bypass the dep-check fail by removing $(GOVERSION) wherever it is used in the Makefile. However, don’t forget to revert changes before contributing :))

2 Likes

Sure, I was actually thinking of setting up the project on WSL2 as there might be a few issues working with Makefile on Windows. Also as @Lee pointed out, the go version needs to be specifically 1.17.18 which I was not aware of initially :sweat_smile:

Thanks for clarifying this, Pankaj! :raised_hands:

1 Like

Hi @Devansu.Yadav, Have you resolved this issue? Can’t wait to see you doing magical contributions so let’s set you up. Please ask your questions if this hasn’t be resolved.

1 Like

Yes, please. Sounds good. The prerequisites listed here are dated - Contributing | Meshery

Yes, Leonard, thanks to the suggestion by @Pankaj.Khushalani to set up the project on Ubuntu WSL2, I’m able to run the Meshery UI and the server. The only thing left for me is to add a cluster and upload my kubeconfig file to be able to see Meshery in action! :smile:

1 Like