mem / oe-meta-go Goto Github PK
View Code? Open in Web Editor NEWThis project forked from dodgerblue/oe-meta-go
OpenEmbedded layer for the Go programming language
This project forked from dodgerblue/oe-meta-go
OpenEmbedded layer for the Go programming language
Per #26
Some bits from oe-meta-go are now provided by oe-core master. These bits aren't available for released version of yocto project. In order to avoid to break users of the released versions, please create the needed branches.
It's a best practice to do so, see for example http://git.openembedded.org/openembedded-core/
https://github.com/golang/go/issues?q=milestone%3AGo1.8.3
which should fix a bug I've seen recently
This project doesn't have a license for the recipes/classes themselves; what license covers the code in this repo?
Ideally, please add a LICENSE, or COPYING file.
It needs something very basic, like:
bitbake go-helloworld go-native
Hi,
I am currently creating a layer based on yours for influxdb. I am stuck at building one simple and two more complex ones.
I did most of the recipes like the ones you did in your layer:
Example(works fine):
DESCRIPTION = "github.com/peterh/liner"
GO_IMPORT = "github.com/peterh/liner"
inherit go
SRC_URI = "git://github.com/peterh/liner;protocol=https;destsuffix=${PN}-${PV}/src/${GO_IMPORT}"
SRCREV = "88609521dc4b6c858fd4c98b628147da928ce4ac"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/COPYING;md5=7316a33df6826d7cc2854e686cb9279f"
FILES_${PN} += "${GOBIN_FINAL}/*"
Then I had a problem with this package doing this one (does not work):
DESCRIPTION = "github.com/rakyll/statik"
GO_IMPORT = "github.com/rakyll/statik"
inherit go
SRC_URI = "git://github.com/rakyll/statik;protocol=https;destsuffix=${PN}-${PV}/src/${GO_IMPORT}"
SRCREV = "e383bbf6b2ec1a2fb8492dfd152d945fb88919b6"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=a873c5645c184d51e0f9b34e1d7cf559"
inherit go
FILES_${PN} += "${GOBIN_FINAL}/*"
I also found your example in the devtools and did:
DESCRIPTION = "github.com/rakyll/statik"
inherit go
SRC_URI = "git://github.com/rakyll/statik;protocol=https"
SRCREV = "e383bbf6b2ec1a2fb8492dfd152d945fb88919b6"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a873c5645c184d51e0f9b34e1d7cf559"
S = "${WORKDIR}/git"
inherit go
do_compile(){
go build statik.go
}
do_install(){
install -d "${D}/${bindir}"
install -m 0755 "${S}/statik" "${D}/${bindir}"
}
which compiles fine but I saw that your other class puts the go files somehow here:
/usr/lib/arm-poky-linux-gnueabi/go/src/
which the last code does not.
How should I do it best?
Just patch away the directory "example" in this case, but in my other funny this probably will not work.
there are also subdirectories with go files but those are probably necessary, and also I have to do a more complicated recipe due to some circle dependencies:
some stuff in https://github.com/Sirupsen/logrus depends on http://gopkg.in/gemnasium/logrus-airbrake-hook.v2 and the other way round.
Is there some standard way you can recommend when I just want to install some files, but keep them installed in the way you do so the referenced packages can be found.
Thanks,
Christian
when building for multiple architecture (say i586 and x86_64) go-cross:do_populate_sysroot fails with the following error
ERROR: go-cross-1.7.3-r0 do_populate_sysroot: The recipe go-cross is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
/home/joshua/work/projects/ri/yocto/build/tmp/sysroots/x86_64-linux/sysroot-providers/go-cross
Matched in b'manifest-x86_64_i586-go-cross.populate_sysroot'
Please verify which recipe should provide the above files.
The build has stopped as continuing in this scenario WILL break things, if not now, possibly in the future (we've seen builds fail several months later). If the system knew how to recover from this automatically it would however there are several different scenarios which can result in this and we don't know which one this is. It may be you have switched providers of something like virtual/kernel (e.g. from linux-yocto to linux-yocto-dev), in that case you need to execute the clean task for both recipes and it will resolve this error. It may be you changed DISTRO_FEATURES from systemd to udev or vice versa. Cleaning those recipes should again resolve this error however switching DISTRO_FEATURES on an existing build directory is not supported, you should really clean out tmp and rebuild (reusing sstate should be safe). It could be the overlapping files detected are harmless in which case adding them to SSTATE_DUPWHITELIST may be the correct solution. It could also be your build is including two different conflicting versions of things (e.g. bluez 4 and bluez 5 and the correct solution for that would be to resolve the conflict. If in doubt, please ask on the mailing list, sharing the error and filelist above.
ERROR: go-cross-1.7.3-r0 do_populate_sysroot: If the above message is too much, the simpler version is you're advised to wipe out tmp and rebuild (reusing sstate is fine). That will likely fix things in most (but not all) cases.
ERROR: go-cross-1.7.3-r0 do_populate_sysroot: Function failed: sstate_task_postfunc
ERROR: Logfile of failure stored in: /home/joshua/work/projects/ri/yocto/build/tmp/work/x86_64-linux/go-cross/1.7.3-r0/temp/log.do_populate_sysroot.21365
See Discussion there.
CC="/disk/scratch/marcelo/poky/build/tmp/work/x86_64-linux/go-cross/1.6.3-r0/arm-poky-linux-gnueabi-gcc"
CC="/disk/scratch/marcelo/poky/build/tmp/work/x86_64-linux/go-cross/1.6.3-r0/arm-poky-linux-gnueabi-gcc"
that's the work dir, not the sysroot. This doesn't play nice with sstate.
https://github.com/BurntSushi/toml changed it's license to MIT in June, thus the build fails:
ERROR: github.com-burntsushi-toml-1.0-r0 do_populate_lic: QA Issue: github.com-burntsushi-toml: The LIC_FILES_CHKSUM does not match for file://src/github.com/BurntSushi/toml/COPYING;md5=389a9e29629d1f05e115f8f05c283df5
github.com-burntsushi-toml: The new md5 checksum is 9e24c0e2a784c1d1fcabb279f4f107e0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.