This problem started in v2.15 and it still exists in v2.16 and HEAD. It occurs on Linux, Solaris, and probably others. Previously, ranlib would only complain about library write permission if a new index needed to be written.
lx-r64.nyc:/tmp > ls -al libz.a -r-xr-x--x 1 woodd wheel 71704 May 25 16:46 libz.a lx-r64.nyc:/tmp > /usr/local/gnu/bin/ranlib --version | head -1 GNU ranlib 2.13 lx-r64.nyc:/tmp > /usr/local/gnu/bin/ranlib libz.a lx-r64.nyc:/tmp > lx-r64.nyc:/tmp > /usr/bin/ranlib --version | head -1 GNU ranlib 2.15.92.0.2 20040927 lx-r64.nyc:/tmp > /usr/bin/ranlib libz.a /usr/bin/ranlib: unable to copy file 'libz.a' reason: Permission denied lx-r64.nyc:/tmp > chmod +w libz.a lx-r64.nyc:/tmp > /usr/bin/ranlib libz.a lx-r64.nyc:/tmp > You would expect a permission error only if you actually needed to write to the file. This how Sun (and probably others) behave: bsqa1.nyc:/tmp > ls -al foo.a -r--r----- 1 woodd staff 382570 May 24 14:55 foo.a bsqa1.nyc:/tmp > /usr/ccs/bin/ar -t foo.a > /dev/null bsqa1.nyc:/tmp > /usr/ccs/bin/ar -ts foo.a > /dev/null ar: cannot write foo.a Permission denied I believe the bug was introduced in revision 1.8 of binutils/rename.c: http://sourceware.org/cgi-bin/cvsweb.cgi/src/binutils/rename.c.diff?r1=1.7&r2=1.8&cvsroot=src Thank you for your time. David -- Summary: ranlib: unable to copy file 'XX' reason: Permission denied Product: binutils Version: 2.15 Status: NEW Severity: normal Priority: P2 Component: binutils AssignedTo: unassigned at sources dot redhat dot com ReportedBy: woodd at deshaw dot com CC: bug-binutils at gnu dot org http://sources.redhat.com/bugzilla/show_bug.cgi?id=971 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils