GNU bug report logs - #75940
GNU Automake will generate corrupt Makefile if variable containing line breaks.

Previous Next

Package: automake;

Reported by: 陈 溢飞 <wushengwuxi-msctinoulk <at> outlook.com>

Date: Thu, 30 Jan 2025 04:59:02 UTC

Severity: normal

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: 陈 溢飞
 <wushengwuxi-msctinoulk <at> outlook.com>
Subject: bug#75940: closed (Re: bug#75940: GNU Automake will generate
 corrupt Makefile if variable containing line breaks.)
Date: Mon, 24 Feb 2025 17:04:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#75940: GNU Automake will generate corrupt Makefile if variable containing line breaks.

which was filed against the automake package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 75940 <at> debbugs.gnu.org.

-- 
75940: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75940
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Karl Berry <karl <at> freefriends.org>
To: wushengwuxi-msctinoulk <at> outlook.com
Cc: 75940 <at> debbugs.gnu.org
Subject: Re: bug#75940: GNU Automake will generate corrupt Makefile if
 variable containing line breaks.
Date: Mon, 24 Feb 2025 10:02:42 -0700
I'm going to close this for lack of any apparent way forward, but feel
free to reply/reopen or open a new issue if desired. --thanks, karl.

[Message part 3 (message/rfc822, inline)]
From: 陈 溢飞 <wushengwuxi-msctinoulk <at> outlook.com>
To: "bug-automake <at> gnu.org" <bug-automake <at> gnu.org>
Subject: GNU Automake will generate corrupt Makefile if variable containing
 line breaks.
Date: Thu, 30 Jan 2025 02:25:20 +0000
Hi,

GNU Automake will generate a broken Makefile when configuring if some variables containing line
breaks.

If variable A is defined as:

```autoconf
A=$(cat a.txt)`
AC_SUBST([A])
```

And `a.txt` contains:

```text
line 1
  line 2
```

Then the generated `Makefile.in` will contain:

```makefile
A=@A@
```

And the generated `Makefile` will contain:

```makefile
A=line 1
  line 2
```

When configuring, `config.status` will report:

```text
config.status: executing depfiles commands
config.status: error: in '/workspaces/a':
config.status: error: Something went wrong bootstrapping makefile fragments
    for automatic dependency tracking.  If GNU make was not used, consider
    re-running the configure script with MAKE="gmake" (or whatever is
    necessary).  You can also try re-running configure with the
    '--disable-dependency-tracking' option to at least be able to build
    the package (albeit without support for automatic dependency tracking).
See 'config.log' for more details
```

`config.log`:

```text
config.status:1191: executing depfiles commands
config.status:1268: cd srclib       && sed -e '/# am--include-marker/d' Makefile         | make -f - am--depfiles
/tmp/GmXRgxDy:359: *** missing separator.  Stop.
config.status:1273: $? = 2
config.status:1277: error: in '/workspaces/a':
config.status:1279: error: Something went wrong bootstrapping makefile fragments
    for automatic dependency tracking.  If GNU make was not used, consider
    re-running the configure script with MAKE="gmake" (or whatever is
    necessary).  You can also try re-running configure with the
    '--disable-dependency-tracking' option to at least be able to build
    the package (albeit without support for automatic dependency tracking).
See 'config.log' for more details
```

Thanks,

This bug report was last modified 92 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.