agl / pond

Pond
BSD 3-Clause "New" or "Revised" License
911 stars 109 forks source link

BUG - Installing on Ubuntu 14.04 does not work #123

Closed dawningsuncryptoparty closed 9 years ago

dawningsuncryptoparty commented 9 years ago

Hello,

for some time we weren't able to install Pond on Ubuntu 14.04. Which is too bad since over the last few months we had some people attending CryptoParties in Berlin and they were very much interested in getting Pond.

Here's what we did (following the installation manual):

We begin with...

sudo apt-get install golang git libgtk-3-dev libgtkspell3-3-dev libtspi-dev trousers tor mercurial tpm-tools cd mkdir gopkg export GOPATH=$HOME/gopkg

Then try to get the client without any tags...

go get github.com/agl/pond/client

This results in the following errors.

# github.com/agl/go-gtk/glib
gopkg/src/github.com/agl/go-gtk/glib/glib.go:320: cannot use _Cfunc_to_list(l) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:329: cannot use v.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:329: cannot use _Cfunc_g_list_append(v.GList, _Ctype_gpointer(data)) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:332: cannot use v.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:332: cannot use _Cfunc_g_list_prepend(v.GList, _Ctype_gpointer(data)) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:335: cannot use v.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:335: cannot use _Cfunc_g_list_insert(v.GList, _Ctype_gpointer(data), _Ctype_gint(pos)) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:338: cannot use v.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:338: cannot use sib.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:338: cannot use _Cfunc_g_list_insert_before(v.GList, sib.GList, _Ctype_gpointer(data)) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:338: too many errors

Then we recreated the gopkg folder and tried it with the ubuntu tag.

rm -rf gopkg mkdir gopkg go get -tags ubuntu github.com/agl/pond/client

This results in the following errors.

# github.com/agl/go-gtk/glib
gopkg/src/github.com/agl/go-gtk/glib/glib.go:320: cannot use _Cfunc_to_list(l) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:329: cannot use v.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:329: cannot use _Cfunc_g_list_append(v.GList, _Ctype_gpointer(data)) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:332: cannot use v.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:332: cannot use _Cfunc_g_list_prepend(v.GList, _Ctype_gpointer(data)) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:335: cannot use v.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:335: cannot use _Cfunc_g_list_insert(v.GList, _Ctype_gpointer(data), _Ctype_gint(pos)) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:338: cannot use v.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:338: cannot use sib.GList (type *_Ctype_struct__GList) as type *_Ctype_GList in function argument
gopkg/src/github.com/agl/go-gtk/glib/glib.go:338: cannot use _Cfunc_g_list_insert_before(v.GList, sib.GList, _Ctype_gpointer(data)) (type *_Ctype_GList) as type *_Ctype_struct__GList in field value
gopkg/src/github.com/agl/go-gtk/glib/glib.go:338: too many errors

This can be reproduced on a freshly installed Ubuntu 14.04.

Kind regards, dawningsuncryptoparty

agl commented 9 years ago

I think is the result of trying to use Go 1.2. Since 1.3 made changes to cgo, I think that's the minimal version now. I've updated the build instructions accordingly.

zmanian commented 9 years ago

@dawningsuncryptoparty How is working with trousers & tpm stuff going for you on ubuntu 14.04? I haven't been able to get tcsd to work happily...

leif commented 9 years ago

I'm relatively sure I recently saw Pond build on Ubuntu 14.04 with -tags "ubuntu nogui"

zmanian commented 9 years ago

I was able to build the GUI on Ubuntu 14.04 using Go 1.3 FWIW

schulze commented 9 years ago

The '-tags ubuntu' flag is only important for the GUI to distinguish between a slightly different API in ibgtkspell3-3 and libgtkspell-3. (Cf. the two files in https://github.com/agl/go-gtk/tree/master/gtkspell.) You need ubuntu in Ubuntu 12.04 and older (thus the name of the tag) and in Debian Wheezy. Newer Ubuntus don't need the ubuntu tag.

If you use nogui the ubuntu tag should be irrelevant.

burdges commented 9 years ago

Did you install Go 1.3 using the Ubuntu package. Or did you install manually from source or binary packages at http://golang.org/dl/

There is seemingly a packaging bug for go 1.3 in all Debian derived distributions, which is why the Ubuntu installation instructions begins "First, install Go. The packaged version of Go (usually called golang) is unlikely to work."

In MacPorts, this Debian bug presents when building agl's go-gtk, while mattn's go-gtk works fine. I forget if it presents differently under Ubuntu, but lief's comment suggests your seeing the same bug here.

zmanian commented 9 years ago

I installed the go binaries from http://golang.org/dl/

dawningsuncryptoparty commented 9 years ago

Finally found some time to install go 1.3....and it works. Thanks everyone for the great input and all the help.