-
Notifications
You must be signed in to change notification settings - Fork 30
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
Unbundle libraries #46
Comments
Hello,
I am closing this issue as ulatencyd now contains no bundled libraries. I have opened bug #48 to track issues with dynamically linked procps. I wish this will help ulatencyd on its way to Fedora. Cheers, |
Thank you very much and sorry for the late response. Unfortunately this commit failed to build after remote bundled directories libs which should not be used now (rm -rf src/{bc,coreutils,proc}):
|
"add_subdirectory(src/bc)" line still present in CMakeLists.txt |
Hi, sorry I was not specific enough. The mentioned commit removed building procps and coreutils, not the bc. Coreutils stayed in the tree, renamed to coreutils_delete, and unused. bc is removed since 758e602 and coreutils_delete directory is removed since 759b9cb. |
Ok, thank you. I've decide packaging master HEAD branch and indeed it found many not exported symbols from current shared procps. And we have not static. So now only two ways: to wait until procps redesign happened (do you known any planned date?), or request exception for bundling. |
- Enhance systemd support. - Add BR procps-ng-devel Still NOT READY because procps-ng present in repos does not export required symbols!
IIRC plans are to refactor the whole API, get rid of global exported variables etc. As the code is not easily readable (due strong optimizations), no public headers matching the exported symbols, code had several maintainers over last 10 maybe 20 years and was occasionally abandon / unmaintained and because it seems progress is targeted on fixing / improving ps utils, I fear it may take a long time. It is also possible that ulatencyd will not use procps in the far future. |
Thank you for the answer. Sad to heard. Request exception with arguments what coming implementation is not ready yet have much more chances to be approved (possible temporary). Arguments like very poor design, mesh of code and lack of developers make it near impossible unfortunately. |
I didn't want to deem its design, I am not competent - not familiar with the code and not an extraordinary good C coder. True is, it is not easily readable for me due strong optimizations it uses. Ad lack of developers: It is collaborative project (fork) of Debian, Fedora and OpenSUSE, and if I briefly look at https://gitorious.org/procps I see active development, just their current priorities seems to be other than making it fully usable as shared library for foreign projects, which like to continue use all symbols already exported or even more of them. I looked again at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685962 which I filled some time ago, and see there are mentioned plans to remove vminfo() (and meminfo() ?) and all variables exported by them: vm_* and kb_* I tried to build against newest procps availale in Debian and I got following missing symbols:
So if ulatencyd will implement its own vminfo(), meminfo() and group_from_gid(), it would be possible to link against current procps. group_from_gid() could be probably removed entirely. Note that ulatencyd does not currently use all of these, but more will be used in future. And it has |
Thank you very much for work and effort to resolve this issue. |
Hello.
I'm Fedora Linux maintainer and try package ulatencyd.
However it is bundled part of bc, coreutils and proc from GNU project.
It is strongly prohibited by our guidelines: https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
I've found you comment about libproc: # FIXME: libproc should export more symbols.
Is it solvable?
Could you please provide ability to link with system libproc and work withit public API?
What with bc and coreutils?
With best whishes, Pavel Alexeev.
The text was updated successfully, but these errors were encountered: