gocircuit / circuit

Circuit: Dynamic cloud orchestration http://gocircuit.org
Apache License 2.0
1.98k stars 160 forks source link

Windows Support #14

Open tigerclawn82 opened 9 years ago

tigerclawn82 commented 9 years ago

Hi, Is windows support in pipeline? Also, i want to ask that with circuit i can execute goroutines/codes on whatever node i want to like truly distributed execution?

Thanks

maymounkov commented 9 years ago

I don't own Windows and so I haven't tested it.

It should work either out of the box or with some minor additions, since the project itself is 100% Go.

Obviously, the docker container functionality won't work.

P

On 14 October 2014 08:57, Waqas Ahmed notifications@github.com wrote:

Hi, Is windows support in pipeline? Also, i want to ask that with circuit i can execute goroutines/codes on whatever node i want to like truly distributed execution?

Thanks

— Reply to this email directly or view it on GitHub https://github.com/gocircuit/circuit/issues/14.

richardwilly98 commented 9 years ago

Install command produce the following output:

go version
go version go1.3.3 windows/amd64

go get github.com/gocircuit/circuit/cmd/circuit
# github.com/gocircuit/circuit/kit/debug
..\..\gocircuit\circuit\kit\debug\sigpanic.go:86: undefined: syscall.Dup2
# github.com/gocircuit/circuit/kit/lockfile
..\..\gocircuit\circuit\kit\lockfile\lockfile.go:27: undefined: syscall.Flock
..\..\gocircuit\circuit\kit\lockfile\lockfile.go:27: undefined: syscall.LOCK_EX
..\..\gocircuit\circuit\kit\lockfile\lockfile.go:27: undefined: syscall.LOCK_NB
..\..\gocircuit\circuit\kit\lockfile\lockfile.go:37: undefined: syscall.Flock
..\..\gocircuit\circuit\kit\lockfile\lockfile.go:37: undefined: syscall.LOCK_UN
# github.com/gocircuit/circuit/element/proc
..\..\gocircuit\circuit\element\proc\stat.go:67: undefined: syscall.SIGCHLD
..\..\gocircuit\circuit\element\proc\stat.go:68: undefined: syscall.SIGCONT
..\..\gocircuit\circuit\element\proc\stat.go:73: undefined: syscall.SIGIO
..\..\gocircuit\circuit\element\proc\stat.go:74: undefined: syscall.SIGIOT
..\..\gocircuit\circuit\element\proc\stat.go:77: undefined: syscall.SIGPROF
..\..\gocircuit\circuit\element\proc\stat.go:80: undefined: syscall.SIGSTOP
..\..\gocircuit\circuit\element\proc\stat.go:81: undefined: syscall.SIGSYS
..\..\gocircuit\circuit\element\proc\stat.go:84: undefined: syscall.SIGTSTP
..\..\gocircuit\circuit\element\proc\stat.go:85: undefined: syscall.SIGTTIN
..\..\gocircuit\circuit\element\proc\stat.go:86: undefined: syscall.SIGTTOU
..\..\gocircuit\circuit\element\proc\stat.go:86: too many errors
maymounkov commented 9 years ago

So, yes. These are the known os/syscall differences between Go Linux and Windows.

If you disable file locking (which is just a double-safety measure and not absolutely necessary) and the reference to the syscall constants (they are used in an int to string conversion for command-line parsing purposes), you might be able to get the system to work. It should be easy to do.

P

On 2 November 2014 08:42, Richard notifications@github.com wrote:

Install command produce the following output:

go version go version go1.3.3 windows/amd64

go get github.com/gocircuit/circuit/cmd/circuit

github.com/gocircuit/circuit/kit/debug

....\gocircuit\circuit\kit\debug\sigpanic.go:86: undefined: syscall.Dup2

github.com/gocircuit/circuit/kit/lockfile

....\gocircuit\circuit\kit\lockfile\lockfile.go:27: undefined: syscall.Flock ....\gocircuit\circuit\kit\lockfile\lockfile.go:27: undefined: syscall.LOCK_EX ....\gocircuit\circuit\kit\lockfile\lockfile.go:27: undefined: syscall.LOCK_NB ....\gocircuit\circuit\kit\lockfile\lockfile.go:37: undefined: syscall.Flock ....\gocircuit\circuit\kit\lockfile\lockfile.go:37: undefined: syscall.LOCK_UN

github.com/gocircuit/circuit/element/proc

....\gocircuit\circuit\element\proc\stat.go:67: undefined: syscall.SIGCHLD ....\gocircuit\circuit\element\proc\stat.go:68: undefined: syscall.SIGCONT ....\gocircuit\circuit\element\proc\stat.go:73: undefined: syscall.SIGIO ....\gocircuit\circuit\element\proc\stat.go:74: undefined: syscall.SIGIOT ....\gocircuit\circuit\element\proc\stat.go:77: undefined: syscall.SIGPROF ....\gocircuit\circuit\element\proc\stat.go:80: undefined: syscall.SIGSTOP ....\gocircuit\circuit\element\proc\stat.go:81: undefined: syscall.SIGSYS ....\gocircuit\circuit\element\proc\stat.go:84: undefined: syscall.SIGTSTP ....\gocircuit\circuit\element\proc\stat.go:85: undefined: syscall.SIGTTIN ....\gocircuit\circuit\element\proc\stat.go:86: undefined: syscall.SIGTTOU ....\gocircuit\circuit\element\proc\stat.go:86: too many errors

— Reply to this email directly or view it on GitHub https://github.com/gocircuit/circuit/issues/14#issuecomment-61407020.

getstuffhere commented 9 years ago

Thanks, i will try this.