【问题标题】:How to update libc6 with Putty SSH?如何使用 Putty SSH 更新 libc6?
【发布时间】:2019-11-29 05:33:36
【问题描述】:

我正在尝试运行 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.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)

我在共享服务器,其他python脚本执行ok!

如何使用 PUTTY SSH 更新这个 libc6?

【问题讨论】:

    标签: python glibc


    【解决方案1】:

    如何使用 PUTTY SSH 更新这个 libc6?

    不能

    您的 stockfish_10_x64 二进制文件是在 GLIBC-2.17 或更高版本的系统上构建的,并且将在具有该版本 GLIBC(或更高版本)的系统上运行。

    唯一(不完全正确,见下文)方法是更新服务器上的 GLIBC,如果您在该服务器上没有 root,则不能这样做。

    您需要获得不同版本的 stockfish_10_x64,或在不同的服务器上运行。

    附:您可能很想尝试LD_LIBRARY_PATHLD_PRELOAD 解决方案,但它们是will not work

    附言对较新的 GLIBC 使用显式加载程序调用可能会起作用。像这样的:

    • 将 GLIBC-2.17 或更高版本安装到 /home/egqbe6ns/libc
    • 像这样调用stockfish_10_x64

      /home/egqbe6ns/libc/lib/ld-linux-x86-64.so.2 --library-path=/home/egqbe6ns/libc/lib64:/lib64 /home/egqbe6ns/public_html/stockfish_10_x64

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 2013-09-15
      • 1970-01-01
      相关资源
      最近更新 更多