Subject: Re: Fighting to install compiled code...
To: NetBSD/VAX Mailing List <port-vax@NetBSD.ORG>
From: Brian D Chase <brianc@carpediem.com>
List: port-vax
Date: 06/20/1997 18:16:13
On Fri, 20 Jun 1997, I myself wrote:

[...]

> --
>  atari-vax# make install
>  install -c -o bin -g bin -m 600 libc.a  /usr/lib
>  install: /usr/lib/libc.a: chflags: Operation not supported
>  *** Error code 1
> 
>  Stop.
>  atari-vax#
> --

I keep solving my own problems :-)  Maybe I should just keep quiet until I
think these over a little longer.

I made some mods to the source for the `install' program.

/usr/src/usr.bin/xinstall/xinstall.c
--

                /*
                 * Unlink now... avoid ETXTBSY errors later.  Try and turn
                 * off the append/immutable bits -- if we fail, go ahead,
                 * it might work.
                 */

/* Brian's HACK1

#define NOCHANGEBITS    (UF_IMMUTABLE | UF_APPEND | SF_IMMUTABLE | SF_APPEND)
                if (to_sb.st_flags & NOCHANGEBITS)
                        (void)chflags(to_name,
                            to_sb.st_flags & ~(NOCHANGEBITS));
END of HACK1 */ 
                (void)unlink(to_name);
--

In two places the code makes calls to chflags(), for some reason my VS3100
is very unhappy with the chflags() system call.  Maybe it has something to
do with me running on an NFS filesystem, I'm not that clueful yet?

In both places that chflags is called, it's used in an `if' statement
prior to removeing the file in question.  I commented out the two `if'
statements, recompiled, copied `xinstall' to /usr/bin/install -- and now
everything seems to be working fine.

Just an FYI in case anyone else has run into the same problem.  Of course
I'm waiting to be J-Thorped any minute now.  There was probably another
official way to achieve the same results :-)

-brian.
---------------------------------------------------------------------------
Brian D. Chase         Systems Coordinator        brian.chase@carpediem.com
-- Compression, Inc. - 13765 Alton Pkwy, Suite B - Irvine, CA 92618, USA --