[CentOS] curl build system is broken and so is mock

Thu Aug 4 01:38:08 UTC 2016
Alice Wonder <alice at domblogger.net>

On 08/03/2016 06:30 PM, Chris Adams wrote:
> Once upon a time, Alice Wonder <alice at domblogger.net> said:
>> [alice at pern ~]$ ldd /usr/bin/curl |grep crypto
>> 	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f4524390000)
>> 	libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f45234ca000)
>
> What do the following show:
>
>   ldd /usr/bin/curl
>   ldd /usr/lib64/libcurl.so.4
>   ldd /usr/lib64/libssh2.so.1
>
> I can only guess you don't have the libssh2 you think you have.

It's worse than I thought.

I just very carefully went through the mock build root.

openssl-libs is indeed not even installed.

There is no libcrypto.so.10 installed in the mock build root.

But the binary built by mock still links to it.

So it is linking against a library not even in the mock build root.

That shouldn't happen.

[alice at pern root]$ pwd
/var/lib/mock/awel-7-curl-x86_64/root

(to show I'm in the build root - I put exit 1 in %check)

[alice at pern root]$ ls usr/lib64/ |grep crypto
libcrypto.so.38
libcrypto.so.38.0.0
libk5crypto.so.3
libk5crypto.so.3.1

[alice at pern root]$ ldd 
builddir/build/BUILDROOT/curl-7.29.0-26.el7_2.awel.libre.0.x86_64/usr/bin/curl 
|grep crypto
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007fb6e00a5000)
	libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fb6df3e8000)
[alice at pern root]$