Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make install gets "Parse error ... Missing dependency operator" #2830

Closed
dncohen opened this issue Jun 9, 2016 · 10 comments
Closed

make install gets "Parse error ... Missing dependency operator" #2830

dncohen opened this issue Jun 9, 2016 · 10 comments
Labels
kind/bug A bug in existing code (including security flaws) need/author-input Needs input from the original author

Comments

@dncohen
Copy link

dncohen commented Jun 9, 2016

Hey, brand new to ipfs. Looking forward to getting my head around it. (FYI, submitting this issue from decentralized web summit, where I just sat in on the IPFS archiving session.)

Following the instructions to download and install, I run into this:

$ make install
*** Parse error in /home/dave/gocode/src/github.com/ipfs/go-ipfs: Missing dependency operator (Makefile:6)
*** Parse error: Need an operator in 'else' (Makefile:8)
*** Parse error: Need an operator in 'endif' (Makefile:10)
*** Parse error: Need an operator in 'v04x.ipfs.io' (Makefile:19)

Note, I'm on OpenBSD which sometimes leads to issues that noone else runs into. This may be one of those. I haven't had time to really investigate.

Is there an option to build without the makefile?

@Kubuxu
Copy link
Member

Kubuxu commented Jun 9, 2016

Can you try building it with GNUmakefiles (gmake).

@dncohen
Copy link
Author

dncohen commented Jun 9, 2016

Sure. Unfortunately, I get:

$ gmake build                                                                           
installing gx v0.7.0
unrecognized system environment: openbsd-amd64
currently only linux, darwin, windows and freebsd are supported by this script
Makefile:30: recipe for target 'bin/gx-v0.7.0' failed
gmake: *** [bin/gx-v0.7.0] Error 1

@whyrusleeping
Copy link
Member

@dncohen Yeah, make install isnt going to work for openbsd right now. One way to get this to work would be to get gx and gx go manually:

go get -u github.com/whyrusleeping/gx
go get -u github.com/whyrusleeping/gx-go

and then run gx install and go install ./cmd/ipfs.

@dncohen
Copy link
Author

dncohen commented Jun 11, 2016

Whoa! gx looks like a pretty fascinating effort in its own right. I'll have to get my head around that.

The gx commands worked quite smoothly. The final build/install of ipfs errors out with:

$ go build ./cmd/ipfs 
# github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse
Godeps/_workspace/src/bazil.org/fuse/error_std.go:27: undefined: errNoXattr
Godeps/_workspace/src/bazil.org/fuse/fuse.go:1092: undefined: attr
Godeps/_workspace/src/bazil.org/fuse/fuse_kernel.go:378: undefined: attr
go build github.com/ipfs/go-ipfs/fuse/node: no buildable Go source files in /home/dave/gocode/src/github.com/ipfs/go-ipfs/fuse/node

...which looks like something I could report to the bazil.org/fuse project.

Thanks for the help!

@whyrusleeping
Copy link
Member

@dncohen thanks! I've put a lot of effort into making gx a very nice tool :)

As for the fuse stuff, thats generally our biggest issue when it comes to cross platform stuff, you can do go build -tags=nofuse ./cmd/ipfs

@dncohen
Copy link
Author

dncohen commented Jun 12, 2016

Progress! That command builds it, with these minor changes:

diff --git a/core/commands/mount_nofuse.go b/core/commands/mount_nofuse.go
index a58947b..6805da4 100644
--- a/core/commands/mount_nofuse.go
+++ b/core/commands/mount_nofuse.go
@@ -1,4 +1,4 @@
-// +build linux darwin freebsd netbsd
+// +build linux darwin freebsd netbsd openbsd
 // +build nofuse

 package commands
diff --git a/fuse/node/mount_nofuse.go b/fuse/node/mount_nofuse.go
index 5b626ce..5ba902e 100644
--- a/fuse/node/mount_nofuse.go
+++ b/fuse/node/mount_nofuse.go
@@ -1,4 +1,4 @@
-// +build linux darwin freebsd netbsd
+// +build linux darwin freebsd netbsd openbsd
 // +build nofuse

 package node

@ghost
Copy link

ghost commented Jun 12, 2016

Hah great! Wanna make a PR with this? Then we can build binaries for https://dist.ipfs.io for the next release.

@RichardLitt RichardLitt added need/author-input Needs input from the original author kind/bug A bug in existing code (including security flaws) labels Jun 13, 2016
@pranomostro
Copy link

pranomostro commented Jul 12, 2016

Hello,

I have followed the instructions in described previously, but
unfortunately I get another error message.

I am also using OpenBSD (5.9), with go go version go1.5.3 openbsd/386.

# gx/ipfs/QmaaC9QMYTQHCbMq3Ebr3uMaAR2ev4AVqMmsJpgQijAZbJ/go-reuseport/poll
../../../gx/ipfs/QmaaC9QMYTQHCbMq3Ebr3uMaAR2ev4AVqMmsJpgQijAZbJ/go-reuseport/poll/poll_bsd.go:24: cannot use uint64(fd) (type uint64) as type uint32 in field value

Should I open another issue for this?

Thanks in advance.

Edit:

This is the error message if I run go build -tags=nofuse directly in the directory:

/root/go/src/gx/ipfs/QmaaC9QMYTQHCbMq3Ebr3uMaAR2ev4AVqMmsJpgQijAZbJ/go-reuseport/poll/poll_bsd.go:24: cannot use uint64(fd) (type uint64) as type uint32 in field value

@Kubuxu
Copy link
Member

Kubuxu commented Jul 13, 2016

Yes please. It is different bug in one of our dependencies.

@whyrusleeping whyrusleeping added the need/analysis Needs further analysis before proceeding label Sep 14, 2016
@dncohen
Copy link
Author

dncohen commented Sep 24, 2016

Feel free to re-open if you want to continue tracking items here. I see openbsd-amd64 now builds with the nofuse tag.

I noticed that gmake build doesn't work, because it fails to download a gx build for openbsd. But the more manual instructions do work. Thanks!

@dncohen dncohen closed this as completed Sep 24, 2016
@Kubuxu Kubuxu removed the need/analysis Needs further analysis before proceeding label Sep 24, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug A bug in existing code (including security flaws) need/author-input Needs input from the original author
Projects
None yet
Development

No branches or pull requests

5 participants