[sr #110289] "/bin/sh: line 1: ../tests/mktests.sh: not found" with dmake and separate build dir

Zack Weinberg <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.bugs
Message-ID <[email protected]>
URL:
  <https://savannah.gnu.org/support/?110289>

                 Summary: "/bin/sh: line 1: ../tests/mktests.sh: not found"
with dmake and separate build dir
                 Project: Autoconf
            Submitted by: zackw
            Submitted on: Tue 04 Aug 2020 01:16:20 PM UTC
                Category: None
                Priority: 5 - Normal
                Severity: 3 - Normal
                  Status: Confirmed
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: Solaris

    _______________________________________________________

Details:

Solaris' dmake mishandles this Makefile rule when the source and build
directories are separate and configure was invoked via a relative path:

    tests/mktests.stamp : tests/mktests.sh $(AUTOCONF_FILES)
        @rm -f tests/mktests.tmp
        @touch tests/mktests.tmp
        cd $(srcdir) && $(SHELL) tests/mktests.sh \
          `echo " "$(AUTOCONF_FILES) | sed 's, [^ ]*/, lib/autoconf/,g'`
        @mv -f tests/mktests.tmp $@

It rewrites all occurrences of the dependencies (tests/mktests.sh and the
files in the expansion of $(AUTOCONF_FILES)) to include the VPATH component
where they were found.  For instance, if the build is taking place in a
subdirectory of the source directory, VPATH will be `..` and
`tests/mktests.sh` will become `../tests/mktests.sh`.

But the commands start with `cd $(srcdir)`, which invalidates all of these
paths and causes the rule to fail.

I'm not sure what we can dp for a workaround, or even if we _should_ work
around it in the code, but it probably at least deserves mention in the
release notes.

(Ideally we wouldn't be writing to the source directory during the build _at
all_, ever, but that's a much bigger project.)




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/support/?110289>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.