Skip to content

add kmsxx recipe #30713

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

Open
wants to merge 30 commits into
base: main
Choose a base branch
from
Open

add kmsxx recipe #30713

wants to merge 30 commits into from

Conversation

carlodri
Copy link
Contributor

@carlodri carlodri commented Aug 4, 2025

https://github.com/tomba/kmsxx

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

Copy link
Contributor

github-actions bot commented Aug 4, 2025

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/kmsxx/meta.yaml) and found some lint.

Here's what I've got...

For recipes/kmsxx/meta.yaml:

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/16723881274. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/kmsxx/meta.yaml) and found it was in an excellent condition.

@carlodri carlodri marked this pull request as draft August 5, 2025 07:48
@carlodri
Copy link
Contributor Author

carlodri commented Aug 5, 2025

@traversaro before I ping help-c-cpp do you have any suggestion on this? The error is a missing linux header AFAIU:

[4/50] Compiling C++ object kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o
FAILED: [code=1] kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o 
$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -Ikms++/libkms++.so.0.0.0.p -Ikms++ -I../kms++ -I../kms++/src -I../kms++/inc -I$PREFIX/include -I$PREFIX/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++20 -O0 -g -DHAS_CONSTEXPR_STR -DHAS_CONSTEXPR_VEC -DHAS_KMSXXUTIL -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kmsxx-0.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -fPIC -MD -MQ kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o -MF kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o.d -o kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o -c ../kms++/src/dmabufframebuffer.cpp
../kms++/src/dmabufframebuffer.cpp:12:10: fatal error: linux/dma-buf.h: No such file or directory
   12 | #include <linux/dma-buf.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.

By the way, this is a missing piece towards building picamera2.

@traversaro
Copy link
Contributor

@traversaro before I ping help-c-cpp do you have any suggestion on this? The error is a missing linux header AFAIU:

[4/50] Compiling C++ object kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o
FAILED: [code=1] kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o 
$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -Ikms++/libkms++.so.0.0.0.p -Ikms++ -I../kms++ -I../kms++/src -I../kms++/inc -I$PREFIX/include -I$PREFIX/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++20 -O0 -g -DHAS_CONSTEXPR_STR -DHAS_CONSTEXPR_VEC -DHAS_KMSXXUTIL -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kmsxx-0.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -fPIC -MD -MQ kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o -MF kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o.d -o kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o -c ../kms++/src/dmabufframebuffer.cpp
../kms++/src/dmabufframebuffer.cpp:12:10: fatal error: linux/dma-buf.h: No such file or directory
   12 | #include <linux/dma-buf.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.

By the way, this is a missing piece towards building picamera2.

Sure! Sorry I am currently a bit far from keyboard so I may be slow to reply. Based on https://conda-metadata-app.streamlit.app/Search_by_file_path, I guess that is a Linux kernel header, so you can add a dependency on the kernel_headers or sysroot CDT, I do not remember exactly.

1 similar comment
@traversaro
Copy link
Contributor

@traversaro before I ping help-c-cpp do you have any suggestion on this? The error is a missing linux header AFAIU:

[4/50] Compiling C++ object kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o
FAILED: [code=1] kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o 
$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -Ikms++/libkms++.so.0.0.0.p -Ikms++ -I../kms++ -I../kms++/src -I../kms++/inc -I$PREFIX/include -I$PREFIX/include/libdrm -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++20 -O0 -g -DHAS_CONSTEXPR_STR -DHAS_CONSTEXPR_VEC -DHAS_KMSXXUTIL -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/kmsxx-0.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -fPIC -MD -MQ kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o -MF kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o.d -o kms++/libkms++.so.0.0.0.p/src_dmabufframebuffer.cpp.o -c ../kms++/src/dmabufframebuffer.cpp
../kms++/src/dmabufframebuffer.cpp:12:10: fatal error: linux/dma-buf.h: No such file or directory
   12 | #include <linux/dma-buf.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.

By the way, this is a missing piece towards building picamera2.

Sure! Sorry I am currently a bit far from keyboard so I may be slow to reply. Based on https://conda-metadata-app.streamlit.app/Search_by_file_path, I guess that is a Linux kernel header, so you can add a dependency on the kernel_headers or sysroot CDT, I do not remember exactly.

@carlodri
Copy link
Contributor Author

carlodri commented Aug 6, 2025

Thanks! I was expecting something like that but didn't know where to look. That web tool is fantastic, didn't know about it.

Still, that header cannot be found. I'm thinking that it might be a problem with the include path..

@traversaro
Copy link
Contributor

Probably the correct dependency is the sysroot one that also sets the include path?

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipes/kmsxx/meta.yaml) and found some lint.

Here's what I've got...

For recipes/kmsxx/meta.yaml:

  • ❌ You're setting a requirement on sysroot_linux- directly; this should now be done by adding a build dependence on {{ stdlib("c") }}, and overriding c_stdlib_version in recipe/conda_build_config.yaml for the respective platform as necessary. For further details, please see META: {{ stdlib("c") }} migration conda-forge.github.io#2102.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/16771759700. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/kmsxx/meta.yaml) and found it was in an excellent condition.

@carlodri
Copy link
Contributor Author

carlodri commented Aug 6, 2025

Well, we moved forward 🥳 (thanks @traversaro!), and now I'm stuck here:

  ERROR (kmsxx,bin/fbtest): $RPATH/libkms++util.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?

@traversaro
Copy link
Contributor

Well, we moved forward 🥳 (thanks @traversaro!), and now I'm stuck here:

  ERROR (kmsxx,bin/fbtest): $RPATH/libkms++util.so.0 not found in packages, sysroot(s) nor the missing_dso_whitelist.
.. is this binary repackaging?

That sounds like a shared library not being installed? If fbtest is not actually useful, perhaps we can just delete it from the install.

@carlodri carlodri marked this pull request as ready for review August 7, 2025 11:31
@carlodri
Copy link
Contributor Author

carlodri commented Aug 7, 2025

@traversaro I would be grateful if you could review the recipe as well as @conda-forge/help-c-cpp

Thank you!

Copy link
Contributor

github-actions bot commented Aug 9, 2025

Hi! This is the staged-recipes linter and your PR looks excellent but I have some suggestions.

File-specific lints and/or hints:

  • recipes/kmsxx/meta.yaml:
    • hints:
      • It looks like you are submitting a multi-output recipe. In these cases, the correct name for the feedstock is ambiguous, and our infrastructure defaults to the top-level package.name field. Please add a feedstock-name entry in the extra section.

Copy link
Contributor

github-actions bot commented Aug 9, 2025

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants