Created attachment 359666 [details] development ebuild for conky The new development version of conky uses cmake instead of autotools. When configuring, the package fails with: CMake Error at cmake/ConkyPlatformChecks.cmake:386 (message): Unable to find program 'man' Call Stack (most recent call first): CMakeLists.txt:37 (include) The relevant line in cmake/ConkyPlatformChecks.cmake is: find_program(APP_MAN man) So for some reason the it can not find "man". There are a lot of other invocations of find_program before which work. If I disable userpriv in FEATURES conky compiles fine. I will attach the relevant ebuild, the build log emerge --info and the ebuild environment.
Created attachment 359668 [details] emerge --info
Created attachment 359670 [details] build log
Created attachment 359672 [details] ebuild environment
No comments on this one?
@cmake maintainers: Any comments?
I guess CMake can't handle the setgid bit: $ ls -l /usr/bin/man -r-xr-s--x 1 root man 52968 Aug 22 13:41 /usr/bin/man 13912 access("/usr/bin/man", R_OK) = -1 EACCES (Permission denied) $ cat /usr/bin/man cat: /usr/bin/man: Permission denied
(In reply to Michael Palimaka (kensington) from comment #6) > I guess CMake can't handle the setgid bit: > > $ ls -l /usr/bin/man > -r-xr-s--x 1 root man 52968 Aug 22 13:41 /usr/bin/man > > 13912 access("/usr/bin/man", R_OK) = -1 EACCES (Permission denied) > > $ cat /usr/bin/man > cat: /usr/bin/man: Permission denied Looks like it. If I temporarily make man world-readable the error goes away. The strange thing is that this has worked before and I don't think the permissions of man have changed recently. The bug you refer to is almost three years old, so I wonder why I did not hit that earlier.
This happens again for the new conky-1.10.0 (See bug 557500) I have to say that I have sys-apps/man-db installed and not sys-apps/man.
*** Bug 562222 has been marked as a duplicate of this bug. ***
*** Bug 562472 has been marked as a duplicate of this bug. ***
Any news? It still fails for me.
(In reply to Juergen Rose from comment #11) > Any news? It still fails for me. Unfortunately there's been no upstream activity on the bug in several years, and I'm not aware of any workaround.
Workaround: # chmod 555 /usr/bin/man # emerge ckony # chmod 2551 /usr/bin/man
*** Bug 564020 has been marked as a duplicate of this bug. ***
I can confirm that this workaround allowed me to emerge conky 1.10.0. I was using cmake 3.4.0-r1. The one caveat is that the original permissions for /usr/bin/man on my system were -rws--x--x, so I had to use 'chmod 4711' to return it to its prior state (on my Funtoo system).
The same issue happens now with conky-1.10.1.
I was checking the cmake mailing list to try to find some clues. I only found a little additional info at https://cmake.org/pipermail/cmake-developers/2014-December/023996.html but not solutions. Basically this is a permissions issue. /usr/bin/man can only be read by root by default. Hence it emerges without problem when userpriv is disabled (so disabling userpriv is probably the easiest workaround). I think the easiest fix to this problem would be to simply have conky's ebuild check for the presence of /usr/bin/man and patch's conky's configure script to disable it's own checking for /usr/bin/man. I haven't tried it yet, but that ought to fix the problem pretty straightforwardly.
(In reply to Gary E. Miller from comment #13) > Workaround: > > # chmod 555 /usr/bin/man > # emerge ckony > # chmod 2551 /usr/bin/man (In reply to Patrick McMunn from comment #15) > I can confirm that this workaround allowed me to emerge conky 1.10.0. I was > using cmake 3.4.0-r1. The one caveat is that the original permissions for > /usr/bin/man on my system were -rws--x--x, so I had to use 'chmod 4711' to > return it to its prior state (on my Funtoo system). How can I find out the default permissions for /usr/bin/man for a regular Gentoo installation? I forgot to check out the original value before changing it to 555. These two replies confused me because they are different.
If you have already changed them and are unsure, I think that re-emerging man will reinstall it with the default permissions. Check to be sure, but I think man-db is the default man program, so that would be the ebuild to emerge.
(In reply to Patrick McMunn from comment #19) > If you have already changed them and are unsure, I think that re-emerging > man will reinstall it with the default permissions. Check to be sure, but I > think man-db is the default man program, so that would be the ebuild to > emerge. That idea was too simple and obvious so I managed to subconsciously reject it. Thanks. :)
(In reply to selurvedu from comment #18) [snip] > How can I find out the default permissions for /usr/bin/man for a regular > Gentoo installation? I forgot to check out the original value before > changing it to 555. These two replies confused me because they are different. I have the issue and haven't used the workaround yet. Permissions by default seem to be 4711. # stat /usr/bin/man File: ‘/usr/bin/man’ Size: 104408 Blocks: 208 IO Block: 4096 regular file Device: 802h/2050d Inode: 1181424 Links: 1 Access: (4711/-rws--x--x) Uid: ( 13/ man) Gid: ( 0/ root) Access: 2015-11-07 22:41:02.000000000 -0800 Modify: 2015-11-07 22:41:02.000000000 -0800 Change: 2015-11-07 22:41:03.482621857 -0800 Birth: -
For the newer versions of conky 1.10.1 and 1.10.3 I disabled the installation of man pages which "fixes" this issue.
*** Bug 612124 has been marked as a duplicate of this bug. ***