页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

1 背景

SQL引擎 V2.0 在运行过程中,对系统环境中的多种依赖组件有严格要求。若依赖组件缺失、版本不匹配或配置不当,可能导致 SQL

...

引擎无法正常启动,出现功能异常等问题。通过文档,您能够系统地对SQL引擎V2.0 所需的依赖组件进行检查与确认,确保其处于良好运行状态,为 SQL引擎的稳定高效运行奠定基础。

...

2、常见系统依赖组件

系统_架构

动态依赖库

说明

linux_amd64

libdl.so.2

动态链接库

libstdc++.so.6

C++ 标准库,最低 libstdc++.so.6.0.19

libm.so.6

数学库,最低 libm-2.17.so

libgcc_s.so.1

GCC 支持库,最低 gcc (GCC) 4.8.5

libc.so.6

C 标准库,最低 GLIBC_2.17

ld-linux-x86-64.so.2

动态链接器

linux_arm64

libdl.so.2

动态链接库

libstdc++.so.6

C++ 标准库,最低 libstdc++.so.6.0.19

libm.so.6

数学库,最低 libm-2.17.so

libgcc_s.so.1

GCC 支持库,最低 gcc (GCC) 4.8.5

libc.so.6

C 标准库,最低 GLIBC_2.17

ld-linux-aarch64.so.1

动态链接器

windows_amd64

ucrtbase.dll

Universal C Runtime


msvcp140.dll

Microsoft Visual C++ Runtime


msvcrt.dll

Microsoft Visual C Runtime


vcruntime140.dll

Visual C++ Runtime

windows32不支持



如果操作系统缺失此类依赖,需要自行安装解决, 更多平台支持:https://duckdb.org/docs/1.2/dev/building/overview

3 安装方式

  • 对于Ubuntu/Debian:
代码块
sudo apt-get update
sudo apt-get install libc6 libstdc++6 libgcc1 libm6

...

  • 找到缺失的DLL文件

  • 复制到应用程序目录或系统目录(通常在 C:\Windows\System32\ 目录下

  • 注册DLL文件(如果需要)

4 动态依赖库依赖查找机制

1、加载主库时的依赖查找流程

 Java 层做了什么?

...

递归加载:LoadLibrary 会自动递归加载所有依赖 DLL。

3)macOS (dyld)

依赖声明:Mach-O 文件的 LC_LOAD_DYLIB。

...