3 ms·
Too many hours have been lost battering make and searching for lib-$THING in apt, just going from the names of the missing .h files.
by HeckFeck 3y ago
Too many hours have been lost battering make and searching for lib-$THING in apt, just going from the names of the missing .h files.
- kwk1 3y agoOne should use `apt-file search foo.h` for this (apt-file is a separate utility from apt and requires installation)
- Gigachad 3y agoC/++ programs are atrocious for this. On any other language you just run "___ install" and it grabs everything you need to make it run. While C devs expect you to first spend an hour searching for the packages they are too lazy to list. Which all have different names on each distro, and probably at least one of them doesn't have the version needed.
- mysterydip 3y ago"Ok, it failed to find abc.h. apt install libabc-dev? No, doesn't exist. apt search abc. Oh, of course, it's libalphabet5-dev."
- anta40 3y agoSeems like the author simply assume those who want to build his code already have ncurses installed. Thus, only a Makekefile provided. No configure, scons script etc etc. It would be nice if the author states explicitely what the dependencies are so you don't have to spend hours installing the libraries. Yep I get it
- sam345 3y ago> This project provides a ncurses implementation for such cases. You will need the ncurses library installed. Install this library from your package manager. Must have missed this.
- dylan604 3y agoI get that it's possible, as a developer, to have so many packages installed on your local that are used all of the time so that they are overlooked as an external package. However, it seems like a dependency tree should be able to be created by all of the import statements. From there, just list everything even if it is part of the stdlib. I'm not a C/C++ dev, so maybe that is possible and people just don't do it?
- anta40 3y agoI'm not a C/C++ dev, and not familiar with how well C/C++ toolings improved. But I frequently deal with C/C++ codebases as an undergraduate student many years ago. Some of them only provides a Makefile, which assume you already have the necessary libraries installed (or know how to install them and adjust the include paths). How to build the code? The usual cycle: make -> compile error - install lib A -> make -> another compile error -> install lib B -> .... repeat this until you got the thing built. Usins build tool like SCons makes your life easier. If it cannot the detect the installation of required libraries, it may throw errors before even compiling your code. Of course modern programming languages like Go, Rust, Nim etc typically have default package managers...
- bravetraveler 3y agoNeedlessly wasted, because each person doing that could publish it as a spec and save everyone else the effort. They are relatively easily converted between formats (ie: deb/rpm)... once any is made. Personally, I appreciate that this is generally available in distributions. This is the entire purpose behind Linux distributions. Package up and distribute the software. I don't begrudge anyone plugging away at development, but using the source as the distribution model drives me mad.