Pokouším se nainstalovat tento software s názvem Skedler. Jejich dokumentace zmiňuje závislosti knihoven GLIBCXX, ale nemohly se obtěžovat poskytnutím instalačních pokynů.

GLIBCXX libraries Skedler has dependency on libstdc++ library. Following are the GLIBCXX versions the code depends on libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 To check the versions on your server. Please run the command CentOS strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX Debian/Ubuntu strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX If the version is not available, update the GCC compiler 

Spuštěním příkazu grep přidejte no such file found na Ubuntu 18.04. Také jsem zkusil sudo apt-get install libstdc++ a několik dalších příkazů, ale zdá se, že nic nenainstaluje požadované knihovny.

Odpověď

Navrhovaný název cesty ke kontrole není pro moderní Debian / Ubuntu přesný. Příkaz by pravděpodobně měl být:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX 

A tento segment vypadá jako součást výstupu příkazu ldd:

libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 

Skutečnost, že za šipkou na žádném z těchto tří řádků není text not found naznačuje, že binární byl otestován instalačním programem, našel v knihovně vše potřebné. Vypadá to, že tuto závislost již váš systém zpracovává.

Mimochodem, výstup Skedleru vypadá trochu matoucí, pokud jde o název knihovny. Nejviditelněji viditelné jméno by mělo být ve skutečnosti libstdc++.

V Debianu 9 jsou aktuálně k dispozici dvě verze libstdc++: aktuální verze je zabalena jako libstdc++6, a starší verze, která byla dříve oblíbená u různých proprietárních softwarů, je zabalena jako libstdc++5. Myslím, že v Ubuntu mohou být k dispozici varianty s podobným názvem.

Název GLIBCXX je předpona názvů symbolů verzí v knihovně. Obvykle by to více souviselo se skutečným názvem knihovny (bez předpony „lib“), ale v tomto případě jsou znaménka plus problém, a proto jsou nahrazeny znaky X.

(Starý libstdc++5 používal jiný ABI, který není kompatibilní s aktuálním, a jeho symboly verze používaly předponu GLIBCPP.)

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *