Python 如何使用Putty SSH更新libc6?
我正在尝试运行Stockfish国际象棋引擎,但在执行二进制代码的行中,出现以下错误: 脚本:Python 如何使用Putty SSH更新libc6?,python,glibc,Python,Glibc,我正在尝试运行Stockfish国际象棋引擎,但在执行二进制代码的行中,出现以下错误: 脚本: import chess import chess.uci import chess.engine fen = 'r2qkb1r/1p1bpp1p/p1n2p2/8/B1pP4/5N2/P1P2PPP/RN1QK2R w KQkq - 0 12' board = chess.Board(fen) handler = chess.uci.InfoHandler() engine = chess.uc
import chess
import chess.uci
import chess.engine
fen = 'r2qkb1r/1p1bpp1p/p1n2p2/8/B1pP4/5N2/P1P2PPP/RN1QK2R w KQkq - 0 12'
board = chess.Board(fen)
handler = chess.uci.InfoHandler()
engine = chess.uci.popen_engine('/home/egqbe6ns/public_html/stockfish_10_x64')
错误:
/home/egqbe6ns/public_html/stockfish_10_x64: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/egqbe6ns/public_html/stockfish_10_x64)
/home/egqbe6ns/public_html/stockfish_10_x64: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /home/egqbe6ns/public_html/stockfish_10_x64)
Im在共享服务器中,其他python脚本执行正常
如何使用PUTTY SSH更新此libc6
如何使用PUTTY SSH更新此libc6
你不能
您的stockfish_10_x64
二进制文件是在GLIBC-2.17或更高版本系统上构建的,并且将仅在具有该版本GLIBC(或更高版本)的系统上运行
唯一(并非完全正确,请参见下文)的方法是更新服务器上的GLIBC,如果该服务器上没有root
,则不能这样做
您需要获得不同版本的stockfish\u 10\u x64
,或者在不同的服务器上运行
另外,您可能会尝试LD_LIBRARY_PATH
或LD_PRELOAD
解决方案,但它们都是有效的
p.p.S.对较新的GLIBC使用显式加载程序调用可能会起作用。大概是这样的:
- 将GLIBC-2.17或更高版本安装到
中/home/egqbe6ns/libc
- 像这样调用stockfish\u 10\u x64:
/home/egqbe6ns/libc/lib/ld-linux-x86-64.so.2——库路径=/home/egqbe6ns/libc/lib64:/lib64/home/egqbe6ns/public_html/stockfish_10_x64