-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
Broken build using v0.9.0 release tar #2261
Comments
I've hit the same problem trying to build from the release tar in Fedora. |
So the |
We have the following at
Could you help check why git submodule not running? |
The snippet from @yonghong-song Thanks a bunch for providing the missing piece to the puzzle! |
It seems like the snippet is aiming at satisfying dependencies using git. Please don't do this. It makes it a lot harder to package bcc nicely. |
After checkout, we should do |
The tar files are created by GitHub. The files are one-to-one representations of the files in the repository. AFAIK they can not be changed. |
Yes, looks like this is a known issue many people experienced. https://github.community/t5/How-to-use-Git-and-GitHub/Create-Release-that-contains-submodule/td-p/12073. |
IMHO the submodule should not be part of the tar file. Either the submodule is as closely coupled to the project as the project is with the rest of its internal code, in which case it should actually belong to the same project or it is not, in which case it should be treated as just another dependency. |
If it's "just another dependency" then libbpf also should have proper releases. |
Right, that is what I would hope for if it is categorized as a dependency. |
Good point, I will propose and tag libbpf properly. How about tag name "bcc_release_<release_num>"? |
IMHO the versions should not be coupled directly via a prefix in the tag if libbpf is really decoupled from bcc and e.g. bcc v0.9.0 works with libbpf v0.9.0 and v0.8.0. If I were to choose, I would probably just tag libbpf using the same schema as bcc but without any additional prefix in front of the tag. |
We have some discussion on this issue during today's iovisor bi-weekly meeting. One idea is since bcc knows the exact commit hash for the submodule, maybe it can record this hash in the repo, so this hash also available in the github generated tar file. When users run cmake, the build system will first try to do |
I would highly welcome proper releases for libbpf if it shall be treated as just an other dependencies. Downloading libraries during configuration of the software seems odd to me and messes with build tools like Arch's Plus this would add |
Is there any resolution to this issue? |
This has stuck Debian too. Have others on this bug report found any workaround for this bug ? It has been so long since it was reported. |
For now I manually check which libbpf commit is referenced in the release, downloaded it and move it to the right location. See the Arch Linux PKGBUILD. It should be pretty self-explanatory since it is plain shell code. |
I'm generating my own tarball from the repo and using that for the build.
|
Thanks @Edenhofer @r4f4 So hard to solve upstream... |
And we also have the packages named and provided through the linux kernel.
|
I just manually update the bcc source code with proper submodules populated, see https://github.com/iovisor/bcc/releases
do you think this will partially solve your problem? |
@yonghong-song Whichever way you prefer, I would request this be documented proper. This bug report was created for the same lack of information. For now, in Debian, I chose to keep it as Debian packaging tools do have intelligence in place to deal with a package which can have multiple upstream source tarballs. |
@rickysarraf Make sense. I will add some documentation later. |
Fix issue #2261. In INSTALL.md document that source code with libbpf submodule will be released as well for each bcc release in the future. Signed-off-by: Yonghong Song <[email protected]>
Fix issue #2261. In INSTALL.md document that source code with libbpf submodule will be released as well for each bcc release in the future. Signed-off-by: Yonghong Song <[email protected]>
See iovisor/bcc#2261 for details
I was able to resolve this for bitbake builds with:
So cmake no longer runs git submodule to fetch libbpf sources during build as the source is already present after do_unpack |
Fix issue iovisor#2261. In INSTALL.md document that source code with libbpf submodule will be released as well for each bcc release in the future. Signed-off-by: Yonghong Song <[email protected]>
BCC can not be build on an Arch Linux 4.20.14 system using the v0.9.0 release tar from GitHub. However, it can be build using the git repository and checking out the v0.9.0 tag. I successfully reproduced the error on another Arch machine with a different configuration. Hence, I do not think the problem is device specific. Furthermore, the previous version v0.8.0 builds fine.
I used the following commands for building
and got the following error message
To be honest I am a little bit confused as to what might be the cause of the error. It might very well just me doing something wrong. Any help would be greatly appreciated.
The text was updated successfully, but these errors were encountered: