synfig / synfig

This is the Official source code repository of the Synfig project
https://synfig.org
GNU General Public License v3.0
1.75k stars 314 forks source link

error: Something went wrong bootstrapping makefile fragments #3371

Open ryandesign opened 3 weeks ago

ryandesign commented 3 weeks ago

Describe the bug ETL 1.4.5 fails to configure on macOS 12 when coreutils is not installed:

config.status: creating ETL-config
config.status: creating Makefile
config.status: creating ETL/Makefile
config.status: creating test/Makefile
config.status: creating ETL.pc
config.status: creating doxygen.cfg
config.status: creating ETL/etl_profile_.h
config.status: executing depfiles commands
config.status: error: in `/opt/local/var/macports/build/_Volumes_Shared_macports-ports_graphics_synfig/ETL/work/ETL-1.4.5':
config.status: error: Something went wrong bootstrapping makefile fragments
    for automatic dependency tracking.  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 says:

config.status:883: creating ETL-config
config.status:883: creating Makefile
config.status:883: creating ETL/Makefile
config.status:883: creating test/Makefile
config.status:883: creating ETL.pc
config.status:883: creating doxygen.cfg
config.status:883: creating ETL/etl_profile_.h
config.status:1112: executing depfiles commands
config.status:1189: cd test       && sed -e '/# am--include-marker/d' Makefile         | make -f - am--depfiles
make: .././config/install-sh: No such file or directory
make: *** [.deps/angle.Po] Error 1
config.status:1194: $? = 2
config.status:1198: error: in `/opt/local/var/macports/build/_Volumes_Shared_macports-ports_graphics_synfig/ETL/work/ETL-1.4.5':
config.status:1200: error: Something went wrong bootstrapping makefile fragments
    for automatic dependency tracking.  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

This is a regression; ETL 1.4.4 did not have this problem.

The problem goes away if coreutils is installed; then it uses coreutils' gmkdir instead of install-sh.

To Reproduce Steps to reproduce the behavior:

  1. configure ETL 1.4.5 when gmkdir is not available

Expected behavior successful build

System information:

ryandesign commented 3 weeks ago

In 1.4.5 the first line of config/config.guess and config/config.sub and config/install-sh is #!/usr/bin/sh while the first line of the other files in the config/ directory is #!/bin/sh. In 1.4.4 the first line of all files in config/ was #!/bin/sh. /bin/sh exists on macOS; /usr/bin/sh doesn't. Fixing the shebang line fixes the problem.

Also, in 1.4.5, config/config.guess and config/config.sub and config/install-sh have permissions -rwxr--r-- whereas the other files in the config/ directory have permissions -rwxr-xr-x. This is not a problem but is unusual. In 1.4.4, all files in config/ have permissions -rwxr-xr-x.