public inbox for
 help / color / mirror / Atom feed
From: Jonathan Wakely <>
To: 조안나 <>
Cc: "libstdc++" <>
Subject: Re: What is the lowest version of glibc I can use to build gcc 4.8.3 and libstdc++?
Date: Thu, 5 Oct 2023 09:32:03 +0100	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

On Thu, 5 Oct 2023 at 07:53, Jonathan Wakely <> wrote:
> On Thu, 5 Oct 2023, 03:53 조안나, <> wrote:
>> Situation:
>> I am attempting to migrate legacy C programs to C++11
>> For use in older distributions, I static link libstdc++ through the -static-libstdc++ option
>> C++11 is supported after version 4.8.3 of gcc, So I built it on CentOS7 where gcc 4.8.5 installed.
>> Result showed a dependence on glibc and was only available in distributions with glibc14 and later versions installed.
> glibc14?
>> The required version felt a little high because many customers use old distribution.
>> I came up with the idea of building libstdc++ myself using a lower version of glibc to reduce dependency.
> Why not just build gcc on the oldest distribution you need to support? You can use a VM or container to create the build environment.
>> First I tried using glibc 2.5 for gcc 4.8.3
>> Same, I built it on CentOS7 where gcc 4.8.5 and glibc 2.17 installed.
>> But failed with the error below:
>> configure: error: unsupported system, cannot find sizeof (omp_lock_t)
> That isn't used by libstdc++, that's libgomp. If you don't need OpenMP you can use --disable-libgomp
>> I think I lowered the glibc too much, but I couldn't find a document about compatibility between gcc or libstdc++ and glibc.
> documents it. But that's a minimum. Libstdc++ will use newer glibc features such as __cxa_atexit when available, and will be less standards-conforming without it.

Another example is that std::chrono::system_clock will be unavailable
with older glibc versions, unless you configure with
--enable-libstdcxx-time=rt which creates a dependency on librt. Glibc
2.17 moved the clock_gettime and sched_yield (used by
std::this_thread::yield) functions to libc instead of librt, so that
libstdc++ doesn't need librt to provide complete C++11 clock and
thread features.

>> What is the lowest version of glibc I can use to build gcc 4.8.3 and libstdc++?
>> Can somebody help?

      reply	other threads:[~2023-10-05  8:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-05  2:52 조안나
2023-10-05  6:53 ` Jonathan Wakely
2023-10-05  8:32   ` Jonathan Wakely [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:

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

  git send-email \ \ \ \ \

* 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 read-only IMAP folder(s) and NNTP newsgroup(s).