IRONSOFTWAREHOME

IronPdf.LinuxARM:无法在静态 TLS 块中分配内存

Curtis Chau
Curtis Chau
Updated: 2025年8月21日

在使用LinuxARM版本的IronPDF时,当试图在Linux ARM上动态加载libcef.so时出现异常消息。 接下来会出现以下异常消息。

IronSoftware.Exceptions.IronSoftwareDeploymentException: Error while deploying IronPdf Chrome renderer: '/irontest/testIronPdfOnLinuxArm/bin/Debug/net8.0/runtimes/linux-arm64/native/libcef.so: cannot allocate memory in static TLS block'. To learn more about making an engineering support request please visit: . To learn how to solve this issue please read https://ironpdf.com/troubleshooting/error-while-deploying-chrome-dependencies/ [Issue Code IRONPDF-CHROME-DEPLOYMENT-ERROR-LINUX]
Text

问题

在Linux ARM上动态加载libcef.so时,您可能会遇到一个错误,指出:"无法在静态TLS块中分配内存。"这个错误是与Chromium嵌入式框架(CEF)相关的已知问题。 此问题出现是因为较新版本的CEF所需的线程本地存储(TLS)空间超过Linux动态链接器默认分配的空间。 此问题记录详尽,影响Linux ARM处理器和Linux ARM x64系统,二者都因缺少足够的线程本地存储(TLS)而无法支持较新版本的CEF。 您可以在这里找到关于该问题的更多信息和讨论。

解决方案

解决此异常的方法是在运行应用程序之前手动设置它,如下所示。

export LD_PRELOAD=/path/to/libcef.so
SHELL

通过在C#进程之前手动设置LD_PRELOAD,我们强制链接器优先加载libcef.so,以确保有足够的TLS内存分配。 这种方法已被证明非常有效,可以解决问题并防止出现TLS allocation错误。 您可以确信该解决方案是有效的。

LD_PRELOAD方法是其他用户,包括CEF论坛推荐的最有效和最简便的方法。

这目前是一个权宜之计,直到CEF最终为ARM解决这个问题,就像他们通过减少libxml2中的TLS使用解决了x64版本的问题。但没有明确的时间表说明CEF何时会解决这个问题。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 21,253,952版本:2026.10刚刚发布

立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.10

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.10

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
您的资料将始终保密。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
深受全球数百万工程师信赖
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.10

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.10

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起