Skip to content

./Configure fails on FreeBSD and OpenBSD #19046

Closed
@jkeenan

Description

@jkeenan

Every day I configure Perl for testing on FreeBSD with the following invocation:

sh ./Configure -des -Dusedevel \
            -Duseithreads \
            -Doptimize="-O2 -pipe -fstack-protector -fno-strict-aliasing"

./Configure now fails here:

echo av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro_core.c perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c taint.c toke.c util.c deb.c run.c universal.c pad.c globals.c keywords.c perlio.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c caretx.c dquote.c time64.c  miniperlmain.c opmini.c perlmini.c | tr ' ' '\n' >.clist
make[1]: don't know how to make av.c.depends. Stop

make[1]: stopped in /usr/home/jkeenan/gitwork/perl
cat: av.c.depends: No such file or directory
cat: scope.c.depends: No such file or directory
cat: op.c.depends: No such file or directory
cat: doop.c.depends: No such file or directory
cat: doio.c.depends: No such file or directory
cat: dump.c.depends: No such file or directory
cat: gv.c.depends: No such file or directory
cat: hv.c.depends: No such file or directory
cat: mg.c.depends: No such file or directory
cat: reentr.c.depends: No such file or directory
cat: mro_core.c.depends: No such file or directory
cat: perl.c.depends: No such file or directory
cat: perly.c.depends: No such file or directory
cat: pp.c.depends: No such file or directory
cat: pp_hot.c.depends: No such file or directory
cat: pp_ctl.c.depends: No such file or directory
cat: pp_sys.c.depends: No such file or directory
cat: regcomp.c.depends: No such file or directory
cat: regexec.c.depends: No such file or directory
cat: utf8.c.depends: No such file or directory
cat: sv.c.depends: No such file or directory
cat: taint.c.depends: No such file or directory
cat: toke.c.depends: No such file or directory
cat: util.c.depends: No such file or directory
cat: deb.c.depends: No such file or directory
cat: run.c.depends: No such file or directory
cat: universal.c.depends: No such file or directory
cat: pad.c.depends: No such file or directory
cat: globals.c.depends: No such file or directory
cat: keywords.c.depends: No such file or directory
cat: perlio.c.depends: No such file or directory
cat: numeric.c.depends: No such file or directory
cat: mathoms.c.depends: No such file or directory
cat: locale.c.depends: No such file or directory
cat: pp_pack.c.depends: No such file or directory
cat: pp_sort.c.depends: No such file or directory
cat: caretx.c.depends: No such file or directory
cat: dquote.c.depends: No such file or directory
cat: time64.c.depends: No such file or directory
cat: miniperlmain.c.depends: No such file or directory
cat: opmini.c.depends: No such file or directory
cat: perlmini.c.depends: No such file or directory
Should not get here
*** Error code 1

Stop.
make: stopped in /usr/home/jkeenan/gitwork/perl

This is probably due to this commit:

commit 8d469d0ecbd06a993426de11b8feec551378525b
Author:     Max Maischein <[email protected]>
AuthorDate: Mon Dec 28 12:00:49 2020
Commit:     Karl Williamson <[email protected]>
CommitDate: Wed Aug 11 16:01:16 2021

    WIP: Run `makedepend` in parallel by using `make`
    
    This moves the per-file loop body of `makedepend` into a separate
    file named `makedepend_file` and then uses `make` to launch
    the `makedepend_file` processes for each target potentially in parallel.
    
    This reduces the time for
    
      time sh ./makedepend MAKE=make cflags
    
    from 5 seconds to 2 seconds with MAKEFLAGS=-j8

This commit may have failed to take into account the differences between make on Linux and make on other platforms, such as the BSDs.

@Corion, @khwilliamson, can you take a look?

Thank you very much.
Jim Keenan

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions