Go-ipfs: make install gets "Parse error ... Missing dependency operator"

Created on 9 Jun 2016  路  10Comments  路  Source: ipfs/go-ipfs

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?

kinbug neeauthor-input

All 10 comments

Can you try building it with GNUmakefiles (gmake).

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

@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.

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!

@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

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

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

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

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

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!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

funkyfuture picture funkyfuture  路  3Comments

magik6k picture magik6k  路  3Comments

Jorropo picture Jorropo  路  3Comments

daviddias picture daviddias  路  3Comments

emelleme picture emelleme  路  3Comments