All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Paul Cercueil <paul@crapouillou.net>
Cc: Romain Naour <romain.naour@smile.fr>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/1] package/boost: add option to force static build
Date: Wed, 27 Jul 2022 17:57:11 +0200	[thread overview]
Message-ID: <20220727155711.GD1134587@scaer> (raw)
In-Reply-To: <NNROFR.FBROLJPFYDGX1@crapouillou.net>

Paul, All,

On 2022-07-27 16:42 +0100, Paul Cercueil spake thusly:
> Le mer., juil. 27 2022 at 17:06:52 +0200, Romain Naour
> <romain.naour@smile.fr> a écrit :
> >Le 20/06/2022 à 13:55, Paul Cercueil a écrit :
> >> This option can be useful when building for a system that
> >> needs to somewhat maintain compatibility with previously built
> >> software, as Boost is notorious for breaking ABI at every
> >> single release.

If you need to link with boost libs, it means your program already know
the correct ABI?

I mean, you have two situations:
  - you have sources for your program: you don't care about ABI
    breakage, because you will build from source, so the compiler and
    linker knows what to do, so you don't need to force static libs?

  - you have a .o file for your package's, and you can actually link
    with the static libs, so it means you have the proper ABI, so why
    can't you link with the shared ones?

Now, if you have a binary-only executable, then you don't need to link
it at all.

So, I am not sure I see what the actual issue is...

Also, I don't think it is sane, as Romain pointed out, that the whole
Boost is bilt statically for the whole system; that does not fly with
me...

> >After discussing with Thomas and Arnout, we are not convinced by this
> >patch.

Neither am I...

> Yes, I know that a similar per-package option could be added to all
> packages, and I know that we (both you and me) don't want that. My argument
> is that none of the other packages (that I know of) break ABI at every
> single minor version. Only Boost does that, and it makes it completely
> impossible to support old programs.
> 
> I've been doing this trick of compiling static builds of Boost since
> Buildroot 2014.05 and the majority of binaries built back then still run
> with my current distribution based on Buildroot 2021.08. Programs built
> against shared Boost would break every 3 months.

I don't understand what you are saying here. Do you mean that you built
binaries back in 2014, and drop them in your shinny new system, and they
still run? That's fine, do that: install pre-built binaries of your
application: you don't need to build a static boost on the whole system
for that.

Now, if what you need is a way to initially be able to build those
programs to start with, and link them statically, so that you can
install them as binary prebuilt, then build a static-only SDK, build
your programs, and drop them in your other configuration that has Boost
available as shared for the rest of the system.

Of course, unless there is something else I missed (entirely possible
as I am having a very bad day today and can't think totally right).

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.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2022-07-27 15:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-20 11:55 [Buildroot] [PATCH 1/1] package/boost: add option to force static build Paul Cercueil
2022-07-27 15:06 ` Romain Naour
2022-07-27 15:42   ` Paul Cercueil
2022-07-27 15:57     ` Yann E. MORIN [this message]
2022-07-27 16:49       ` Paul Cercueil

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=20220727155711.GD1134587@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@buildroot.org \
    --cc=paul@crapouillou.net \
    --cc=romain.naour@smile.fr \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.