Search code examples
shellunixhp-ux

Script in HP-UX can't create or overwrite files


I'm trying to build libxml2-2.7.8 on HP-UX 11ia32 and the configure script is stuck at

echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed

And I believe its due to the script not being able to create files. I'm assuming this because it is unable to overwrite the config.log file when rerunning the script. I've triple checked permissions, and I've chmod the entire folder with 777.


Solution

  • That sounds like noclobber. The manual lists two ways to modify that setting:

      % set [{-|+}abCefhkmnopstuvx] [{-|+}o option]...
           [{-|+}A name] [arg]...
    
           Set (-) or clear (+) execution options or perform array
           assignments (-A, +A).  All options except -A and +A can be
           supplied in a shell invocation (see the SYNOPSIS section and the
           Shell Invocation subsection).
    
           Using + instead of - before an option causes the option to be
           turned off.  These options can also be used when invoking the
           shell.  The current list of set single-letter options is
           contained in the shell variable -.  It can be examined with the
           command echo $-.
    
           The - and + options can be intermixed in the same command, except
           that there can be only one -A or +A option.
    
           Unless -A or +A is specified, the remaining arg arguments are
           assigned consecutively to the positional parameters 1, 2, ....
    
           The set command with neither arguments nor options displays the
           names and values of all shell parameters on standard output.  See
           also env(1).
    ...
           -C   Prevent redirection > from truncating existing files.
                Requires >| to truncate a file when turned on.
    ...
           -o   Set an option argument from the following list.  Repeat the
                -o option to specify additional option arguments.
    ...
               noclobber      Same as -C.
    

    That is,

    set +C
    set +o noclobber