【发布时间】:2022-01-17 11:31:23
【问题描述】:
我正在将一些继承的代码编译到 linux 平台上。当我尝试运行它时,我得到一个库版本控制错误:
[aardvark@aardvark-burrow /data/users/aardvark/project-source] /data/users/aardvark/project-source/buck-out/gen/arvr/projects/viper/applications/replay/fcv_replay
/data/users/aardvark/project-source/buck-out/gen/arvr/projects/viper/applications/replay/fcv_replay: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /data/users/aardvark/project-source/buck-out/gen/arvr/projects/viper/applications/replay/fcv_replay)
首先,谁在乎我有 GLIBC_2.28,而不是 2.29,他们为什么在乎?它是传递给构建最终可执行文件 (fcv_replay) 的编译标志,还是它的众多依赖项之一?我怎么知道?我基本上想知道在我没有创建的大型复杂构建系统中寻找什么。
这是另一个查询的结果:
[aardvark@ /data/users/aardvark/project-source] ldd /data/users/aardvark/project-source/buck-out/gen/arvr/projects/viper/applications/replay/fcv_replay
/data/users/aardvark/project-source/buck-out/gen/arvr/projects/viper/applications/replay/fcv_replay: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /data/users/aardvark/project-source/buck-out/gen/arvr/projects/viper/applications/replay/fcv_replay)
linux-vdso.so.1 (0x00007ffe84592000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe4daefd000)
libm.so.6 => /lib64/libm.so.6 (0x00007fe4dab7b000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fe4da977000)
libc.so.6 => /lib64/libc.so.6 (0x00007fe4da5b2000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe4db11d000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe4da39a000)
【问题讨论】:
标签: linux build linker glibc buck