Skip to content
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

Fail during configure if perl is missing but required #13508

Closed
haampie opened this issue Apr 30, 2024 · 5 comments
Closed

Fail during configure if perl is missing but required #13508

haampie opened this issue Apr 30, 2024 · 5 comments

Comments

@haampie
Copy link

haampie commented Apr 30, 2024

I did this

Configure curl 8.7.1 without perl on the system, set --disable-docs and --disable-manual or not. The build errors with

env: can't execute 'perl': No such file or directory

during

Making all in cmdline-opts
make[2]: Entering directory '/tmp/root/spack-stage/spack-stage-curl-8.7.1-h65jzpw3styqrc424wm7lxlu4ggv5vu3/spack-src/docs/cmdline-opts'
(rm -f curl.1 && (cd . &&  /tmp/root/spack-stage/spack-stage-curl-8.7.1-h65jzpw3styqrc424wm7lxlu4ggv5vu3/spack-src/scripts/managen mainpage abstract-unix-socket.md ... write-out.md xattr.md) > manpage.tmp.$$ && mv manpage.tmp.$$ curl.1)

I expected the following

No docs / man pages to be generated. No perl required.

curl/libcurl version

curl 8.7.1

operating system

Linux <...> 6.5.0-28-generic #29-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 28 23:46:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
@bagder
Copy link
Member

bagder commented Apr 30, 2024

I believe this is fixed in git already. Can you test a recent daily snapshot?

@bagder bagder changed the title Build still fails if perl is not available Build fails if perl is not available Apr 30, 2024
@haampie
Copy link
Author

haampie commented Apr 30, 2024

Tried latest, doesn't build:

/bin/sh ../libtool  --tag=CC   --mode=link /path/to/lib/spack/env/gcc/gcc  -Werror-implicit-function-declaration -O2 -Wno-system-headers    -L/path/to/opt/spack/linux-alpine3-zen2/gcc-12.2.1/zlib-ng-2.1.6-2crxykhopjq2egg4w77yi6ol5f5g7c5z/lib -L/path/to/opt/spack/linux-alpine3-zen2/gcc-12.2.1/openssl-3.2.1-jsky75qguwrxhzyvmlpumk3x742qjfo2/lib64 -L/path/to/opt/spack/linux-alpine3-zen2/gcc-12.2.1/nghttp2-1.57.0-ickbntvp3ipmejjkhc5umli3sdjdvnls/lib -o curl slist_wc.o tool_binmode.o tool_bname.o tool_cb_dbg.o tool_cb_hdr.o tool_cb_prg.o tool_cb_rea.o tool_cb_see.o tool_cb_wrt.o tool_cfgable.o tool_dirhie.o tool_doswin.o tool_easysrc.o tool_filetime.o tool_findfile.o tool_formparse.o tool_getparam.o tool_getpass.o tool_help.o tool_helpers.o tool_hugehelp.o tool_ipfs.o tool_libinfo.o tool_listhelp.o tool_main.o tool_msgs.o tool_operate.o tool_operhlp.o tool_paramhlp.o tool_parsecfg.o tool_progress.o tool_setopt.o tool_sleep.o tool_stderr.o tool_strdup.o tool_urlglob.o tool_util.o tool_vms.o tool_writeout.o tool_writeout_json.o tool_xattr.o var.o ../lib/base64.o ../lib/curl_multibyte.o ../lib/dynbuf.o ../lib/nonblock.o ../lib/strtoofft.o ../lib/timediff.o ../lib/version_win32.o ../lib/warnless.o   ../lib/libcurl.la -lssl -lcrypto -lz  
libtool: link: /path/to/lib/spack/env/gcc/gcc -Werror-implicit-function-declaration -O2 -Wno-system-headers -o .libs/curl slist_wc.o tool_binmode.o tool_bname.o tool_cb_dbg.o tool_cb_hdr.o tool_cb_prg.o tool_cb_rea.o tool_cb_see.o tool_cb_wrt.o tool_cfgable.o tool_dirhie.o tool_doswin.o tool_easysrc.o tool_filetime.o tool_findfile.o tool_formparse.o tool_getparam.o tool_getpass.o tool_help.o tool_helpers.o tool_hugehelp.o tool_ipfs.o tool_libinfo.o tool_listhelp.o tool_main.o tool_msgs.o tool_operate.o tool_operhlp.o tool_paramhlp.o tool_parsecfg.o tool_progress.o tool_setopt.o tool_sleep.o tool_stderr.o tool_strdup.o tool_urlglob.o tool_util.o tool_vms.o tool_writeout.o tool_writeout_json.o tool_xattr.o var.o ../lib/base64.o ../lib/curl_multibyte.o ../lib/dynbuf.o ../lib/nonblock.o ../lib/strtoofft.o ../lib/timediff.o ../lib/version_win32.o ../lib/warnless.o  -L/path/to/opt/spack/linux-alpine3-zen2/gcc-12.2.1/zlib-ng-2.1.6-2crxykhopjq2egg4w77yi6ol5f5g7c5z/lib -L/path/to/opt/spack/linux-alpine3-zen2/gcc-12.2.1/openssl-3.2.1-jsky75qguwrxhzyvmlpumk3x742qjfo2/lib64 -L/path/to/opt/spack/linux-alpine3-zen2/gcc-12.2.1/nghttp2-1.57.0-ickbntvp3ipmejjkhc5umli3sdjdvnls/lib ../lib/.libs/libcurl.so -lssl -lcrypto -lz -Wl,-rpath -Wl,/path/to/opt/spack/linux-alpine3-zen2/gcc-12.2.1/curl-8.8.0-w55rn7cqvtywb2os7l3u3t4ikerkk2a5/lib
/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: tool_operate.o: in function `operate':
tool_operate.c:(.text+0x5dc1): undefined reference to `hugehelp'

I won't have time to bisect the first working nightly daily snapshot, unfortunately.

@dfandrich
Copy link
Contributor

dfandrich commented Apr 30, 2024 via email

@bagder
Copy link
Member

bagder commented Apr 30, 2024

I second @dfandrich's proposal. hugehelp is a function that should exist whether perl is present or not.

@haampie
Copy link
Author

haampie commented May 1, 2024

Happens consistently on 2024-03-28 and 2024-04-30 on Alpine Linux using the Spack package manger. Dependency graph looks like this:

image

Earlier the error is:

/bin/sh: can't open /tmp/root/spack-stage/spack-stage-curl-20240328-y2ewq45hp2dhrks6otovqizdxiozsdo3/spack-src/docs/cmdline-opts/curl.txt: no such file
/bin/sh: can't open /tmp/root/spack-stage/spack-stage-curl-20240328-y2ewq45hp2dhrks6otovqizdxiozsdo3/spack-src/docs/cmdline-opts/curl.txt: no such file

EDIT*

🤦‍♂️ the --disable-docs flag had gone missing while adding new versions. All is good when I add the flag back for both versions tested.

Would be convenient though if curl failed during configure if perl is required and missing...

@haampie haampie changed the title Build fails if perl is not available Fail during configure if perl is missing but required May 1, 2024
bagder added a commit that referenced this issue May 1, 2024
@bagder bagder closed this as completed in 137aecf May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

3 participants