git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael J Gruber <git@drmicha.warpmail.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, John 'Warthog9' Hawley <warthog9@kernel.org>
Subject: Re: [RFC/H] Makefile fix for FC13?
Date: Sat, 06 Nov 2010 12:26:10 +0100	[thread overview]
Message-ID: <4CD53B52.8050805@drmicha.warpmail.net> (raw)
In-Reply-To: <7vr5ezqsv9.fsf@alter.siamese.dyndns.org>

Junio C Hamano venit, vidit, dixit 05.11.2010 23:59:
> As k.org is migrating to FC13, I'm also adding an FC13 bochs to my
> collection so that I can cut releases for 32-bit i?86 archs.  I noticed
> that the compilation fails with this:
> 
>       LINK git-imap-send
>   /usr/bin/ld: imap-send.o: undefined reference to symbol 'EVP_DecodeBlock'
>   /usr/bin/ld: note: 'EVP_DecodeBlock' is defined in DSO
>   /lib/libcrypto.so.10 so try adding it to the linker command line
> 
> I understand that this is because the linker policy changed in the release
> to make things safer.  My understanding of the rationale for the change
> goes like this:
> 
>   When a binary (e.g. imap-send) wants a symbol X (e.g. EVP_DecodeBlock)
>   from a library A (e.g. -lcrypto), and the binary also wants a different
>   symbol from another library B (e.g. -lssl), and if the library B happens
>   to depend on library A, it used to be sufficient to link the binary with
>   library B, without explicitly linking it with library A, as library A
>   will be pulled in at the runtime because library B wants it anyway.
> 
>   This however would break if library B stops depending on library A
>   (i.e. library B gets updated while remaining compatible with its own
>   older version, but its implementation no longer requries library A).  It
>   is therefore safer to force programs to list their dependencies
>   explicitly at link time.
> 
> So, I need a patch like the following to make things compile on FC13.
> 
> Thoughts?  Ideas for doing this (specifically, "make rpm") in better ways?

I was wondering why I never ran into this on F13 (nor F14). Must have
something to do with "NO_OPENSSL=y" in my config.mak... But I realize
that even with BLK_SHA1 we need openssl for imap+ssl.

I guess this goes to show that a statement like "tested on F13" depends
quite a bit on the config.

The official Fedora packages are built with:

BLK_SHA1 = 1
NEEDS_CRYPTO_WITH_SSL = 1
NO_PYTHON = 1


> On my FC11 bochs and my other Linux boxes, the linker is loose but it does
> not seem to hurt (and I do not think it should, as openssl-dev package
> seems to have almost always shipped with both -lssl and -lcrypto) to add
> this unconditionally.
> 
> diff --git a/Makefile b/Makefile
> index 1f1ce04..18c7e8e 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -776,6 +776,7 @@ ifeq ($(uname_S),Linux)
>  	NO_STRLCPY = YesPlease
>  	NO_MKSTEMPS = YesPlease
>  	HAVE_PATHS_H = YesPlease
> +	NEEDS_CRYPTO_WITH_SSL = YesPlease
>  endif
>  ifeq ($(uname_S),GNU/kFreeBSD)
>  	NO_STRLCPY = YesPlease

      parent reply	other threads:[~2010-11-06 11:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-05 22:59 [RFC/H] Makefile fix for FC13? Junio C Hamano
2010-11-05 23:43 ` Andreas Ericsson
2010-11-06 11:26 ` Michael J Gruber [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CD53B52.8050805@drmicha.warpmail.net \
    --to=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=warthog9@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).