I've had this problem for quite awhile, and it keeps showing up on every drop
of sys-apps/man.
emerge sys-apps/man with USE="nls" places a non-executable file as /usr/bin/man
Reproducible: Always
Steps to Reproduce:
1.USE="nls" emerge man
2./usr/bin/man
3.
Actual Results:
$ man man
-bash: /usr/bin/man: Permission denied
I've had this problem for quite a while.
I believe the bug occurs in the install phase of the Makefile (specifically the
make install in the msgs directory). The "man" executable in .../work/../src
directory is okay after an ebuild compile, but the file that is moved into the
.../image/usr/bin directory loses it's executable bit and is not even an
executable.
pwd
/tmp/portage/sys-apps/man-1.6e-r3/image/usr/bin
bin # ls -l
total 68
-rwxr-xr-x 1 root root 1786 Apr 19 12:37 apropos
-rw-r--r-- 1 root root 5559 Apr 19 12:37 man
-rwxr-xr-x 1 root root 409 Apr 19 12:37 man2dvi
-rwxr-xr-x 1 root root 45824 Apr 19 12:37 man2html
lrwxrwxrwx 1 root root 3 Apr 19 12:37 manpath -> man
-rwxr-xr-x 1 root root 1784 Apr 19 12:37 whatis
bin # ./man
-su: ./man: Permission denied
bin # chmod +x man
bin # ./man
-su: ./man: cannot execute binary file
=====================
emerge --info
Portage 2.1.2.2 (default-linux/x86/2007.0, gcc-4.1.1, glibc-2.5-r0,
2.6.19.7Local i686)
=================================================================
System uname: 2.6.19.7Local i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Thu, 19 Apr 2007 09:30:08 +0000
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python: 2.3.5-r3, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.61
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.15-r1
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -fomit-frame-pointer -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf
/etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -fomit-frame-pointer -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer nomirror sandbox sfperms strict"
GENTOO_MIRRORS="ftp://twmlinux.raleigh.ibm.com/gentoo"
LINGUAS="en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude=/distfiles --exclude=/local --exclude=/packages
--filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/home/porttmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/ibm-internal
/usr/portage/local/layman/enlightenment"
SYNC="rsync://twmlinux.raleigh.ibm.com/gentoo-portage"
USE="X aac acl alsa apm audacious audiofile bash-completion berkdb bitmap-fonts
bzip2 cddb cdparanoia cdr clamav cli cracklib crypt cscope cups dcraw directfb
dri dvd dvdread fbcon ffmpeg fftw firefox foomaticdb fortran gdbm gif gnome gpm
gtk gtk2 hardened iconv imagemagick imlib ipv6 isdnlog javascript jbig jpeg
libg++ libwww logrotate mad mbox midi mikmod mime mmx motif mp3 mpeg mplayer
ncurses nls nptl nptlonly nsplugin opengl oss pam pcre pdf perl png postfix
pppd python quicktime readline reflection sdl session sharedmem smp sndfile
sockets sox spell spl sse sse2 ssl svg tcl tcltk tcpd tetex tiff truetype
truetype-fonts type1-fonts unicode usb vim-syntax x86 xinetd xorg xpm xv zlib"
ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1
emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m
maestro3 trident usb-audio via82xx via82xx-modem ymfpci"
ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file
hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route
share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev"
KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001
mtxorb ncurses text" LINGUAS="en_US" USERLAND="GNU" VIDEO_CARDS="i810 fbdev"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS,
PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I believe the problem might be related to either LANG="en_US" or LC_ALL="en_US"
(I haven't dug that deep into the config / makefiles)
Here is where the error is being introduced..
USE="nls" ebuild man-1.6e-r3.ebuild install > /tmp/ebuild.err
then selecting some lines from the /tmp/ebuild.err
....
make[2]: Leaving directory
`/var/tmp/portage/sys-apps/man-1.6e-r3/work/man-1.6e/man/sl'
make[1]: Leaving directory
`/var/tmp/portage/sys-apps/man-1.6e-r3/work/man-1.6e/man'
cd msgs; make install
make[1]: Entering directory
`/var/tmp/portage/sys-apps/man-1.6e-r3/work/man-1.6e/msgs'
sh ./inst.sh "??" "/usr/bin/%N"
mkdir -p /var/tmp/portage/sys-apps/man-1.6e-r3/image//usr/bin
*#*#*#*#*#*#*#*#*#*#*#*#*#*# ERROR HERE *#*#*#*#*#*#*#*#*#*#*#*#
install -c -m 644 mess.bg.cat
/var/tmp/portage/sys-apps/man-1.6e-r3/image//usr/bin/man
*#*#*#*#*#*#*
this is repeated for each of the mess.xx.cat files. This is overwriting
/usr/bin/man
Yes -- I did have a stray NLSPATH set (I had at onetime an app that required
NLSPATH to be set -- app has since changed and doesn't need it set anymore --
so on my system at least I can safely unset NLSPATH). Setting NLSPATH to ""
does correct the install problem.
One suggestion if having NLSPATH set is going to cause the building of man to
have problems, a QA check might be helpful in the ebuild to flag it.
Thanks for the help.