[question] Approach for system requirements
See original GitHub issueThere are some recipes that may need to install tools that can be considered as system requirements.
There are already some recipes in the index that check for system tools installed but do not install them. Others like libusb
do install system requirements as libudev
.
We feel it is intrusive and risky to install system requirements when using a Conan dependency and we want to avoid this in Conan (specially asking for sudo permissions 😩).
The question here is what approach should be taken when packaging recipes that require any kind os system requirement:
- Should we create recipes for system requirements and package binaries?
- Should we just check the existence of that tools installed and just raise?
- Should we create “proxy recipes” that perform those install or checks to model that dependency in the conan graph?
Feedback please!
Issue Analytics
- State:
- Created 4 years ago
- Reactions:3
- Comments:17 (13 by maintainers)
Top Results From Across the Web
What Questions Do I Ask During Requirements Elicitation?
A requirements questionnaire is a list of questions about the project requirements. Typically the questions are organized by feature (or business requirement or ......
Read more >Commonly Asked Questions About Writing Requirements
Read this post to learn expert answers to some of the most commonly asked questions about writing requirements.
Read more >Key Questions When Planning a Computer System
Are all key requirements met by the system? 7. Describe the system, including key specifications of the hardware, software, peripherals, ...
Read more >Chapter 2 - Investigating System Requirements
Most beginners are very superficial in their approach and in their questions. One other critically important skill and area of learning in this...
Read more >System Requirements Determination
need open–ended questions or the questions vary from individual to individual, or when a more personal method is needed. Types of Interview Questions:....
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
for the reference, I am copying here problems/disadvantages/limitations caused by system requirements we previously faced on bincrafters:
System Requirements in conan known to cause lots of various issues, they are hard to maintain, and don’t scale well. some problems with System Requirements:
right now, the following conan packages are heavily based on system requirements:
OpenGL-related: GLU, GLUT, GLEW, GLFW, GLM, etc. ffmpeg: X11, vaapi, vdpau SDL2: X11, wayland, mir, audio APIs (pulseaudio, alsa, esound, nas, jack, etc.) wxWidgets: GTK
my two cents:
if it’s easy and straightforward - yes, that should be the first choice (as we did with libalsa, for instance)
I’d say that’s much better than system requirements, and should be the second choice
such things sometimes are needed, e.g. OpenGL support might be abstracted away in conan (on Windows, you have to link with opengl32.lib, on Mac you have to link with OpenGL.framework, and on Linux you need some system libraries such as libGL.so). this also applies to few other things which are system-specific (e.g. Python, OpenCL, Vulkan, CUDA, etc.). it would be much simpler for other recipes to just include opengl-support conan package and don’t worry about system specifics and system requirements. in such case, we delegate all baby-sitting and complexity to single recipe, rather copying ugly fragile conditions to every recipe which requires OpenGL.