Skip to content

./Configure fails on FreeBSD and OpenBSD #19046

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jkeenan opened this issue Aug 13, 2021 · 3 comments
Closed

./Configure fails on FreeBSD and OpenBSD #19046

jkeenan opened this issue Aug 13, 2021 · 3 comments

Comments

@jkeenan
Copy link
Contributor

jkeenan commented Aug 13, 2021

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

@jkeenan jkeenan changed the title ./Configure fails on FreeBSD ./Configure fails on FreeBSD and OpenBSD Aug 13, 2021
@jkeenan
Copy link
Contributor Author

jkeenan commented Aug 13, 2021

./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

The failure above occurred on FreeBSD-12. Similar failures in ./Configure are observed in OpenBSD-6.9.

@Leont
Copy link
Contributor

Leont commented Aug 13, 2021

It can be reproduced on linux by adding -Dmake=bmake to your Configure arguments (assuming you have bmake installed)

@jkeenan
Copy link
Contributor Author

jkeenan commented Aug 13, 2021

This should be fixed with a commit by @Leont in 813d4ab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants