bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sr #110289] "/bin/sh: line 1: ../tests/mktests.sh: not found" with dmak


From: Zack Weinberg
Subject: [sr #110289] "/bin/sh: line 1: ../tests/mktests.sh: not found" with dmake and separate build dir
Date: Tue, 4 Aug 2020 09:16:22 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]