PerlAlien / Alien-curl

Discover or download and install curl + libcurl
0 stars 2 forks source link

windows: configure: error: --without-ssl has been set together with an explicit option to use an ssl library #19

Closed shawnlaffan closed 1 year ago

shawnlaffan commented 1 year ago

I'm seeing these failures on windows machines for share builds on Windows machines (laptop and CI):

configure: error: --without-ssl has been set together with an explicit option to use an ssl library
(e.g. --with-openssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-nss, --with-schannel, --with-secure-transport, --with-amissl, --with-bearssl, --with-rustls).
Since these are conflicting parameters, verify which is the desired one and drop the other.
external command failed at C:/strawberry/perl/site/lib/Alien/Build/CommandSequence.pm line 88.
gmake: *** [Makefile:1027: _alien/mm/build] Error 2

An example failed build with full log is at: https://ci.appveyor.com/project/shawnlaffan/perl-alien-proj/builds/45496003

shawnlaffan commented 1 year ago

Editing the alienfile to remove the ---without-ssl flag seems to fix things.

https://github.com/PerlAlien/Alien-curl/blob/72c89653fe73c0269306ee074d32b1518ce16391/alienfile#L34-L38

  if($^O eq 'MSWin32')
  {
    unshift @acflags, '--with-schannel';
    undef $alien_ssl;
  }

The causal change in curl seems to be this: https://github.com/curl/curl/commit/7d69924ce773f13c175e56ad1b20b0d5dac224b9

shawnlaffan commented 1 year ago

Although "fixed" in this case just means it completes the static compilation. It fails for the ffi compilation. I don't know enough to say if it's related.

<snip build log>
  CC       ../lib/warnless.o
  CC       ../lib/curl_multibyte.o
  CC       ../lib/version_win32.o
  CC       ../lib/dynbuf.o
/bin/sh ../libtool --tag=RC --mode=compile windres -I../include -DCURL_EMBED_MANIFEST  -i curl.rc -o curl.o
libtool: compile:  windres -I../include -DCURL_EMBED_MANIFEST -i curl.rc  -o .libs/curl.o
  CCLD     curl.exe
gcc.exe: error: curl.o: No such file or directory
make[3]: *** [curl.exe] Error 1
plicease commented 1 year ago

I think the configure script has indeed changed the meaning of ssl to be any ssl rather than openssl :/ Not sure about that second error though

shawnlaffan commented 1 year ago

The second error seems to have been reported and fixed in curl git: https://github.com/curl/curl/pull/9805