You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS SageMaker编译Tesseract OCR遇GCC版本与文件系统错误

问题根源

这是GCC版本兼容性问题:GCC 7.3.1仅对C++17的<filesystem>提供实验性支持,并未将其纳入标准库默认链接,而最新版Tesseract OCR依赖标准的std::filesystem特性,因此编译时出现头文件找不到的错误。

解决方案

以下是三种可行的解决路径,按优先级推荐:

方案1:升级GCC到8及以上版本(推荐)

Amazon Linux 2官方源提供了devtoolset工具集,可以快速升级GCC版本:

  • 安装devtoolset-8:
    sudo yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++
    
  • 临时激活GCC 8环境(当前终端生效):
    scl enable devtoolset-8 bash
    
    若要永久生效,可将上述命令添加到~/.bashrc文件末尾
  • 重新配置并编译Tesseract:
    ./configure --with-leptonica=/usr/local
    make
    sudo make install
    

方案2:修改编译选项适配GCC 7

如果不想升级编译器,可强制使用实验性文件系统库:

  • 配置环境变量,指定C++17标准并链接实验性文件系统库:
    export CXXFLAGS="-std=c++17 -lstdc++fs"
    
  • 重新配置编译Tesseract:
    ./configure --with-leptonica=/usr/local
    make
    sudo make install
    

方案3:安装兼容GCC 7的Tesseract版本

最新版Tesseract依赖C++17特性,可选择安装3.05.x或更早的稳定版本,这些版本不依赖<filesystem>:

  • 下载3.05.02版本源码:
    wget https://github.com/tesseract-ocr/tesseract/archive/refs/tags/3.05.02.tar.gz
    
  • 解压后按常规流程编译安装:
    tar xzf 3.05.02.tar.gz
    cd tesseract-3.05.02
    ./configure --with-leptonica=/usr/local
    make
    sudo make install
    
验证步骤
  • 编译完成后,执行以下命令确认Tesseract安装成功:
    tesseract --version
    
  • 测试PyMupdf的OCR功能,确保能正常调用新安装的Tesseract

内容的提问来源于stack exchange,提问作者Al Brown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:22:09