Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8340075

Autoconf bundle cannot run on read-only filesystem

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 24
    • None
    • infrastructure
    • None
    • b16

      The autoconf launcher script in the autoconf bundle created by `make/devkit/createAutoconf.sh` currently writes a config file into the bundle installation dir every time it runs. This prevents it from functioning when installed on a read-only filesystem. It seems we can work around the need for writing to this config file by instead adding a parameter to the command line sent to the actual autoconf executable.

      This is what the script adds to the config file (with the $this_script_dir variable expanded):

      begin-language: "M4sugar"
      args: --prepend-include $this_script_dir/usr/share/autoconf
      end-language: "M4sugar"

      Looking at the original config file, it has several lines similar to this where the --prepend-include arg points to $PREFIX/usr/share/autoconf (where $PREFIX was specified at autoconf build time). Removing this addition from the config file causes autoconf to fail as it can't find m4sugar.m4 (which is located in $this_script_dir/usr/share/autoconf).

      My proposed workaround, which seems to be working well so far, is to just add `--prepend-include $this_script_dir/usr/share/autoconf` as a command line option to the real autoconf script, which we call from the wrapper script. This would have the benefit of also fixing the other instances of this that are present in the config file, but that we aren't using in our configure script.

            erikj Erik Joelsson
            erikj Erik Joelsson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: