On 2020-08-09 12:28, Adam Dinwoodie wrote:
> On Fri, 24 Jul 2020 at 13:56, Adam Dinwoodie wrote:
>> On Mon, 20 Jul 2020 at 13:53, Brian Inglis wrote:
>>> The following packages have been uploaded to the Cygwin distribution:
>>> * curl          7.71.1
>>> * libcurl4      7.71.1
>>> * libcurl-devel 7.71.1
>>> * libcurl-doc   7.71.1

>> This update appears to break parts of Git compilation that work using
>> {curl,libcurl4,libcurl-devel}-7.66.0-1.
>>
>> Simple test case and error output below, setup.log and cygcheck.out
>> attached; the setup.log includes a bunch of recent upgrades and
>> downgrades while I isolated the problem and confirmed the STC.
>>
>> Test case: From a Bash shell, run: `curl
>> https://git.kernel.org/pub/scm/git/git.git/snapshot/git-v2.27.0.tar.gz
>> | tar -xz && cd git-v2.27.0 && make configure && ./configure
>> --with-libpcre && make -j18 git-remote-http.exe`. This is a simplified
>> version of the normal Cygport build process for the Cygwin Git
>> packages.
>>
>> In the failing case, the `/configure` stage includes the following
>> text: `configure: Setting CURL_LDFLAGS to '-lcurl -lnghttp2 -lidn2
>> -lssh -lpsl -lssl -lcrypto -lldap -llber -lbrotlidec -lbrotlidec
>> -lz'`; in the working case using -7.66.0-1, the corresponding line is
>> just `configure: Setting CURL_LDFLAGS to '-lcurl'`.
>>
>> The error output at the end of the build in the failing case is as below:
>>
>> ```
>>     LINK git-remote-http.exe
>> /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
>> cannot find -lnghttp2
>> /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
>> cannot find -lidn2
>> /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
>> cannot find -lssh
>> /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
>> cannot find -lpsl
>> /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
>> cannot find -lldap
>> /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
>> cannot find -llber
>> /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
>> cannot find -lbrotlidec
>> /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
>> cannot find -lbrotlidec
>> collect2: error: ld returned 1 exit status
>> make: *** [Makefile:2488: git-remote-http.exe] Error 1
>> ```
>>
>> For now I'm going to continue using the 7.66.0-1 packages; let me know
>> if I can help with working out what's going wrong here at all.

> Is there anything further I can do to help investigate this regression
> in the Cygwin curl libraries?

Your previous post never made it to me, either cygwin or cygwin-apps lists,
their archives, or mail-archives'.
Please check the archives and your email and repost.

Meanwhile, that info likely comes from:

$ tail -vn15 /lib/pkgconfig/libcurl.pc
==> /lib/pkgconfig/libcurl.pc <==
#
prefix=/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
supported_protocols="DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP LDAPS
POP3 POP3S RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP"
supported_features="SSL IPv6 UnixSockets libz brotli AsynchDNS IDN PSL NTLM
NTLM_WB TLS-SRP HTTP2 HTTPS-proxy"

Name: libcurl
URL: https://curl.haxx.se/
Description: Library to transfer files with ftp, http, etc.
Version: 7.71.1
Libs: -L${libdir} -lcurl
Libs.private: -lnghttp2 -lidn2 -lssh -lpsl -lssl -lcrypto -lldap -llber
-lbrotlidec -lbrotlidec -lz
Cflags: -I${includedir}

it looks like your git build should be using Libs for dynamic builds and adding
Libs.private for static builds, so please check whether and how that is used,
and whether you have at least the runtime libs installed, and also the -devel
packages if you are building statically.
Static builds are not uncommon for test versions of package modules, as that
avoids issues with having to install package or dependency dynamic libraries
that may not yet be ready for prime time.

I have never had any problems with packages using pkgconf/-config and never had
to look into it, so anyone with more knowledge and experience of issues there
should feel free to contribute.

Trying to build with cygport:

- it died silently as I did not have bash-completion-devel installed: could you
please perhaps move that pkg-config line into src-compile, so that cygport can
at least run, check, and complain about missing dependencies?

- it complains that perl(DBD::SQLite) perl(IO::Pty) are not installed - how do
these and your other perl module dependencies map to Cygwin packages?
I also mean that in general - how can I map a perl module to a perl package and
vice versa - for future info?

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in IEC units and prefixes, physical quantities in SI.]
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to