jsha / boulder-tools

Prebuilt tools to make Boulder CI builds faster
0 stars 1 forks source link

Unable to use ./goose on Mac OSX #1

Open weppos opened 8 years ago

weppos commented 8 years ago

It looks like this binary is a pre-requirement to setup the boulder project.

(wget https://github.com/jsha/boulder-tools/raw/master/goose.gz &&
 mkdir -p $GOPATH/bin &&
 zcat goose.gz > $GOPATH/bin/goose &&
 chmod +x $GOPATH/bin/goose &&
 ./test/create_db.sh) &

However, whenever I try to run it on Mac, I get the following error

zsh: exec format error: ./goose

Moreover, the command mentioned above is not compatible with Mac. It should be

(wget https://github.com/jsha/boulder-tools/raw/master/goose.gz &&
 mkdir -p $GOPATH/bin &&
 gzcat goose.gz > $GOPATH/bin/goose &&
 chmod +x $GOPATH/bin/goose &&
 ./test/create_db.sh) &

As a workaround, I had to setup the entire project on a Docker instance, export the database+permissions (dealing with the 127.0.0.1 vs localhost issue) and import all the data plus permissions on my local MariaDB instance.

Is this tool doing anything in particular? Any chance to be able to compile it to Mac or is it specific for Linux?

unixcharles commented 8 years ago

Same here

sunny-g commented 8 years ago

For extra information, running file goose yields: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped, implying that it cannot be used with OS X. Is this source for goose available elsewhere?

sunny-g commented 8 years ago

I have successfully installed goose and boulder on OS X using the following setup.sh:

go get \
  golang.org/x/tools/cmd/vet \
  golang.org/x/tools/cmd/cover \
  github.com/golang/lint/golint \
  github.com/tools/godep \
  github.com/mattn/goveralls \
  github.com/modocache/gover \
  github.com/jcjones/github-pr-status \
  github.com/jsha/listenbuddy \
  bitbucket.org/liamstask/goose/cmd/goose &

./test/create_db.sh &

go run cmd/rabbitmq-setup/main.go -server amqp://localhost &

wait

There are only two changes from the original:

I'm unclear of the implications of making this change, however all but the integration tests pass when running ./test.sh.