Ich versuche eine ausführbare Datei - SaTScanBatch, ausführbare Datei der SaTScan-Software - auf einem Remote-Computer vom Terminal aus auszuführen. HierlibstdC++.so.6: Version nicht gefunden - KEINE Admin-Rechte
ist der Fehler, den ich
bekommen/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found
Das Problem ist ähnlich wie diese: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found oder How to fix: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found oder /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
Was in meinem Fall anders ist, ist, dass ich keine Administratorrechte haben , also kann ich keine Bibliotheken in der usr/lib-Datei hinzufügen. Ich habe libstdC++. 6.0.15 in mein Remote-Repository heruntergeladen und möchte damit meine Datei ausführen.
Hier sind die Möglichkeiten, die ich
versuchti) ändern Umgebungsvariable LD_LIBRARY_PATH oder LD_RUN_PATH oder LD_PRELOAD auf den Pfad der libstdC++. So.6.0.15. -> Hat irgendetwas nicht
ii)
gcc SaTScanBatch -static-libstdc++
die Bibliothek in einer statischen Art und Weise einschließen ändern -> -static Option nicht erkannt wird, ich die Remote-Maschine GCC Version erraten zu alt ist.
iii) Versuchen Sie die Datei auf die zusätzliche Bibliothek zu verknüpfen:
gcc SaTScanBatch -L /path/library -l stdc++
oder ähnlich
gcc SaTScanBatch -Wl,-rpath,path/to/library
-> Fehler
/usr/bin/ld: warning: Cannot create .eh_frame_hdr section, --eh-frame-hdr ignored.
/usr/bin/ld: error in SaTScanBatch64(.eh_frame); no .eh_frame_hdr table will be created.
/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64/crt1.o: In function _start:
(.text+0x20): undefined reference to "main"
collect2: ld returned 1 exit status
iv) Verwenden PatchElf die Verknüpfung Datei und die Bibliothek -> Ich kann PatchElf nicht installieren, da keine Administratorrechte
Vielen Dank für jede Anregung!