Subject: | |
From: | |
Reply To: | Patrick J. LoPresti |
Date: | Thu, 30 Jan 2020 17:03:27 -0800 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
On Thu, Jan 30, 2020 at 12:02 PM Andrew C Aitchison
<[log in to unmask]> wrote:
>
> On Thu, 30 Jan 2020, Yasha Karant wrote:
>
>
> > Calibre needs RuntimeError: Failed to load icu with error:
> > /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by
> > /opt/calibre/lib/libicui18n.so.64)
>
> I'm running SL6 and Ubuntu19... so don't know the exact details for RHEL7
> but the softwarecollections repo should have a devtoolset-8-gcc package
> (or more likely a set of packages) with a with suitable compiler and
> runtime.
The devtoolset-X packages will not help with this problem, unless
maybe you are recompiling Calibre itself. The main purpose of the
devtoolsets is to let you use a newer compiler to create executables
that can run on an *unmodified* RHEL7 system. Red Hat has hacked the
devtoolset GCC to use rely only on the original libstdc++; i.e. the
original CXXABI.
This error just means the executable you have requires a newer
libstdc++. The certain way to get one is to compile a newer GCC from
source on RHEL7. One of the artifacts of this build will be the newer
libstdc++.so that you need. Make sure the newer libstdc++.so.6 resides
in your LD_LIBRARY_PATH, and your Calibre executable might run. At the
very least, it will fail differently.
As a short cut, you could try copying libstdc++.so.6 from a RHEL8
system and put it somewhere in your LD_LIBRARY_PATH. But that might
create new missing dependencies of its own, or be incompatible with
the RHEL7 dynamic linker, etc. I have not tried it because I get
around this sort of issue by compiling GCC.
- Pat
|
|
|