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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 75940 in the body.
You can then email your comments to 75940 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-automake <at> gnu.org:
bug#75940; Package automake. (Thu, 30 Jan 2025 04:59:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to 陈 溢飞 <wushengwuxi-msctinoulk <at> outlook.com>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Thu, 30 Jan 2025 04:59:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

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,

Information forwarded to bug-automake <at> gnu.org:
bug#75940; Package automake. (Thu, 30 Jan 2025 21:44:02 GMT) Full text and rfc822 format available.

Message #8 received at 75940 <at> debbugs.gnu.org (full text, mbox):

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: Thu, 30 Jan 2025 14:43:21 -0700
    GNU Automake will generate a broken Makefile when configuring if
    some variables containing line breaks.

Thanks for the report. I'm not sure what Automake can do about it,
though. It's just doing what it's been told, seems to me?

Admittedly the error message is less than ideal, although the second
message
/tmp/GmXRgxDy:359: *** missing separator.  Stop.
is a clue. --best, karl.




Reply sent to Karl Berry <karl <at> freefriends.org>:
You have taken responsibility. (Mon, 24 Feb 2025 17:04:02 GMT) Full text and rfc822 format available.

Notification sent to 陈 溢飞 <wushengwuxi-msctinoulk <at> outlook.com>:
bug acknowledged by developer. (Mon, 24 Feb 2025 17:04:02 GMT) Full text and rfc822 format available.

Message #13 received at 75940-done <at> debbugs.gnu.org (full text, mbox):

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.




Information forwarded to bug-automake <at> gnu.org:
bug#75940; Package automake. (Mon, 24 Feb 2025 17:05:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 25 Mar 2025 11:24:14 GMT) Full text and rfc822 format available.

This bug report was last modified 44 days ago.

Previous Next


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