hoe vind je libstdc++.so.6: die GLIBCXX_3.4.19 voor RHEL 6 bevatten?

Ik werk met een Linuxs-server:

> cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.7 (Santiago)

(van wikipedia:
Red Hat Enterprise Linux 6is afgeleid van Fedora 12

6.7, also termed Update 7, 22 July 2015 (kernel 2.6.32-573)
6.8, also termed Update 8, 10 May 2016 (kernel 2.6.32-642))

De kernel

> uname -r
2.6.32-642.11.1.el6.x86_64
> uname -s
Linux
> uname -v
#1 SMP Tue Nov 15 22:57:18 EST 2016
> cat /proc/version
Linux version 2.6.32-642.11.1.el6.x86_64 (sandman@node3res7) (gcc version 4.4.7 20120313 (SuSE 4.4.7-17) (GCC) ) 
#1 SMP Tue Nov 15 22:57:18 EST 2016

gcc-versie

> gcc --version
gcc (GCC) 4.4.7 20120313 (SuSE 4.4.7-17)

bij het installeren van Tensdorflow heb ik een probleem met een ontbrekende bibliotheek:

ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /opt/ccda/anaconda2/envs/tensorflow35/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so)

Zoals je kunt zien in mijn lib64/libstdc++.so.6heb ik geen GLIBCXX_3.4.19em>

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4 
GLIBCXX_3.4.1  
....  
GLIBCXX_3.4.12  
GLIBCXX_3.4.13  
GLIBCXX_FORCE_NEW  
GLIBCXX_DEBUG_MESSAGE_LENGTH 

Ik kijk met het volgende commando:

yum whatprovides */libstdc++.so.6
...
libstdc++-4.4.7-17.el6.x86_64 : GNU Standard C++ Library
Repo        : installed
Matched from:
Filename    : /usr/lib64/libstdc++.so.6

dus mijn vraag waar kan ik de libstdc++-4.xy-z.el6.x86_64vinden die GLIBCXX_3.4.19en dat ik op mijn server RHEL 6 kon installeren met mijn gcc-versie ?

Ik ben een beetje in de war over welke versie ik van deze pagina moet gebruiken
https://www.rpmfind.net/linux/rpm2html/search.php?query=libstdc%2B%2B.so.6%28GLIBCXX_3.4.19%29& submit=Zoeken+…&system=&arch=

  1. Ik zie geen versie voor Fedora 12 of RHEL6
  2. Ik heb arch x86_64 nodig
  3. Ik heb iets nodig denk ik gcc (GCC) 4.4.7
  4. Ik denk dat ik 64bit nodig heb

Ik het volgende een goede macth? Ik ben nogal in de war door de naam en info:

libstdc++6-gcc48-32bit-4.8.5-21.1.x86_64.html   The standard C++ shared library OpenSuSE leap updates for 42.1  libstdc++6-gcc48-32bit-4.8.5-21.1.x86_64.rpm

Ik heb geen internettoegang op de server, dus ik moet het bestand lokaal downloaden, het naar de server kopiëren en de installatie uitvoeren.

Bedankt voor je hulp
Proost
Fabien

ps: bonusvraag
SuSE 4.4.7-17 (GCC), ik ben in de war, ik begreep dat Suse een Linux-distributie was zoals Redhat!


Antwoord 1, autoriteit 100%

Ik heb hier een oplossing gevonden:
https:/ /www.linuxquestions.org/questions/red-hat-31/lib-libstdc-so-6-version-%60glibcxx_3-4-15‘-not-found-4175419985/

Libstdc++-so.6 vervangen door een latere versie die werkt in EL6:
Uitpakken libstdc++6_4.7.1-2_i386.deb
http://ftp.de.debian.org/debian/ pool…7.1-2_i386.deb
met: ar -x libstdc++6_4.7.1-2_i386.deb && tar xvf data.tar.gz
Volgende : 1) zo ; 2) cp libstdc++.so.6.0.17 /usr/lib/
3) cd /usr/lib/ && rm libstdc++.so.6
4) ln -s libstdc++.so.6.17 libstdc++.so.6

Reden voor het voorstellen van het Debian-pakket:
Het is een ( gcc ) libstdc++ versie die is gecompileerd met een glibc
oud genoeg om te worden gebruikt in EL6 / CentOS 6.


Antwoord 2, autoriteit 100%

Bijgewerkte stappen (omdat het lijkt alsof het bestand is verplaatst):

curl -O http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6-4.7-dbg_4.7.2-5_i386.deb
ar -x libstdc++6-4.7-dbg_4.7.2-5_i386.deb && tar xvf data.tar.gz
mkdir backup
cp /usr/lib/libstdc++.so* backup/
cp ./usr/lib/i386-linux-gnu/debug/libstdc++.so.6.0.17 /usr/lib
ln -s libstdc++.so.6.0.17 libstdc++.so.6

Antwoord 3, autoriteit 67%

Vorige link is nu ook dood, je kunt deze gebruiken

http://ftp.de.debian.org/debian/pool/main/g/gcc-4.8/libstdc++6-4.8-dbg_4.8.4-1_i386.deb

In eerdere opmerking van Serge ontbreekt een cd
cd /usr/lib/
Of zoals in mijn geval
cd /usr/lib64

Other episodes