-
Notifications
You must be signed in to change notification settings - Fork 131
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
Unable to compile with -DARES_ENABLE_LIBRASHADER=OFF
#1780
Comments
The librashader header is currently required to build ares even if We currently by default fetch the librashader header from the latest However, you are configuring with Currently, you will need to either:
|
Got it, I should have figured that option would fetch the headers, too. The headers also seem to be available under |
That is certainly technically possible, but I would not recommend relying on that indefinitely. the inclusion of the entire librashader repo under I am still thinking about the best way to handle the librashader header, particularly keeping in mind Linux where I am definitely aware that "download stuff as part of configuration" is not the best of patterns. If all dynamic dependency code is removed, it's possible that we would end up leaving just the header in-tree to alleviate this issue (if librashader linking is not reworked entirely by that point) given the hard dependency. I am certainly open to feedback on this; in any case it will be kept in mind going forward. |
Ah, I see. The reason I ask is because I would rather avoid downloading ares-deps if possible. I'm trying to set up ares for a package manager (Portage), and the network is sandboxed during the build process, forcing me to hardcode the download URL as a source along with some ugly code to mimic the download/extract/hash process that the CMake script does. One way to mitigate this might be if the release tags for ares-deps matched ares, as it currently uses a date. This wouldn't help for
If the header is totally necessary for compilation, that might be the best way to do this. I wouldn't consider it a hack either, as it's pretty much the same as including a header-only library. |
You shouldn't need to do any duplication of the specific handling ares does for ares-deps. If you need the build system to find a dependency in a specific location (in this case the librashader header), all you should need to do is pass (er, sorry, the above applies IF you can make the librashader header available somewhere on disk for your package to see, which may be the difficulty) |
Describe the bug
With the
-DARES_ENABLE_LIBRASHADER=OFF
compile option, intended to disable librashader support, Ares fails to build at the CMake configuration step.Error:
To Reproduce
Add
-DARES_ENABLE_LIBRASHADER=OFF
to the compile options.Expected behavior
According to this code:
ares/cmake/finders/Findlibrashader.cmake
Lines 123 to 136 in fd8bcad
A fallback target is supposed to be used in place of an actual librashader target. However, ruby still fails to configure at this line:
ares/ruby/cmake/os-linux.cmake
Line 135 in fd8bcad
If I understand the intended functionality of the fallback target correctly, this should not occur.
In addition, when commenting out this line, the build actually starts, but eventually fails when it cannot find the librashader headers. Perhaps this is another issue?
Additional context
I am compiling the master branch (at 639ebe6) on Linux. Here are my compile options:
The text was updated successfully, but these errors were encountered: