[Buildroot] [PATCH v2] package/cryptopp: add a target build configuration

Yann E. MORIN yann.morin.1998 at free.fr
Mon Jul 27 13:17:05 UTC 2020


Thomas, Kamel, Al,

On 2020-07-27 15:03 +0200, Thomas Petazzoni spake thusly:
> On Mon, 27 Jul 2020 14:42:32 +0200
> "Yann E. MORIN" <yann.morin.1998 at free.fr> wrote:
> 
> > > +diff --git a/GNUmakefile b/GNUmakefile
> > > +index e7b7b3a6..730e2a6f 100755
> > > +--- a/GNUmakefile
> > > ++++ b/GNUmakefile
> > > +@@ -1256,6 +1256,7 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
> > > + 	$(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
> > > + ifeq ($(HAS_SOLIB_VERSION),1)
> > > + 	-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
> > > ++	-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)  
> > Why do we need that?
> Because on the target you need a symlink from the SONAME to the actual
> library. Right now, the Makefile only:
>  * Installs the library as libcryptopp.so.8.2.0. It has a SONAME of
>    libcryptopp.so.8.
>  * Creates a symlink libcryptopp.so -> libcryptopp.so.8.2.0, which
>    allows to link new applications
>  * Does NOT create the libcryptopp.so.8 -> libcryptopp.so.8.2.0 which
>    would allow using the library at runtime.

Ah, I see.

> > > + 	$(LDCONF) $(DESTDIR)$(LIBDIR)  
> And it is this invocation of ldconfig that creates it!

Yes, I would know that. ;-)

[--SNIP--]
> > Which means that with your patch and without a call to ldconfig, the .so
> > symlink will no longer exist, and so it will no longer be possible to
> > link against the library.
> No correct: the .so symlink still exists. Re-read the patch from Kamel,
> it creates the .so.8 symlink in *addition* to creating the .so symlink,
> which was already there.

Right. Not sure why, but I saw a 'minus sign' in front of the previous
line. There is no such minus sign, so the line is not removed, so yes,
that's OK. Sorry.

> > Note that the host variant is not OK either, because not all systems
> > have ldconfig on the host either... See 64d4b34073 (e2fsprogs: do not
> > use ldconfig when building the host variant).
> Yes, agreed.
> So all what we need is:
>  (1) LDCONF=/bin/true
>  (2) An improved commit description for the patch that adds the symlink

(3) same as (1), but for the host variant.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list