-
Notifications
You must be signed in to change notification settings - Fork 671
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
Transition to Go Modules #21
Comments
I took a look at this and its not straight forward due to the salticidae-go package and how it builds the salticidae dependencies with cmake before doing the go build. Under Go modules a "version" of salticidae-go gets installed under $GOPATH/pkg/mod/ - but this introduces the issue where Go protects all the files under $GOPATH/pkg/mod/ from being changed so building inside won't work. To work around this issue, I think the simplest way is to decouple things and not build salticidae as apart of the salticidae-go package, but rather distribute salticidae as a tarball which is built and installed in the OS first as a library. What are your thoughts? |
forbid new blockchains from being validated by default subnet
I looked at this again today and here are the steps that would allow the project to move to Go modules. The process requires the salticidae C library to be installed into the OS lib and include directories. The following steps outline how to compile this on Ubuntu/Debian which would be a prerequisite for developers. I would recommend this library to be available as a deb/rpm on your own YUM and APT repositories for general users so they don't need to compile. Compile SalticidaeInstall required build tools
Compile the specific branch of salticidae used by gecko
This creates Salticidae Go BindingsThe github.com/ava-labs/salticidae-go project needs the following code change made to https://github.com/ava-labs/salticidae-go/blob/3dfa2f843f67a037b7be0a829885c120879a9a50/salticidae.go#L2 by adding the following LDFLAGS for CGO. This line must be above the
With this change then Convert Gecko to Go ModulesThen to convert the gecko project over to Go Modules; Git clone the gecko project and initialise it.
Ordinarily the next step to follow would be to build the dependencies with To work around this current issue force use of influxdb version 1.7.9, instead of latest 1.7.10 by running.
Then complete dependency build.
This completes the conversion to Go Modules. Build GeckoWe can then build Gecko without the build script.
|
Because we are requiring go >= 1.13, we should be transitioning to using go modules.
The text was updated successfully, but these errors were encountered: