与ARM上的TensorFlow链接:glibc_2.32,glibc_2.33,glibc_2.34-哪一个?
我使用 linux-> arm crossbuild工具链。
然后,我切换到ARM平台,并尝试构建一个与 libtensorflowlite_c.so
链接的应用程序。但是,链接步骤给我几个glibc链接错误:
/usr/bin/ld: libtensorflowlite_c.so: undefined reference to `fstat@GLIBC_2.33'
/usr/bin/ld: libtensorflowlite_c.so: undefined reference to `__libc_single_threaded@GLIBC_2.32'
/usr/bin/ld: libtensorflowlite_c.so: undefined reference to `pthread_join@GLIBC_2.34'
我知道我的手臂系统已经过时了,比tensorflow lib构建的链接系统更古老,但是:错误输出中有几个glibc版本:glibc_2.33:glibc_2.33 ,glibc_2.32,glibc_2.34。那怎么可能?我希望只需要一个GLIBC版本吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在每个glibc版本中版本构造每个符号毫无意义,它将使所有 all glibc符号不可用,并且您必须坚持一个glibc版本。
该符号具有
@glibc_version
,这是符号上次更改的版本。这样,您可以使用较新的glibc,如果符号不更改,则可以在其上使用旧代码。当符号以非兼容的方式更改时,只有这样,符号的版本才会更改。
您可以浏览。
There is no point in versioning each symbol in each glibc release, it would make all glibc symbols unavailable and you would have to stick to exactly one glibc version.
The symbol has a
@GLIBC_version
which is the version the symbol was last changed. That way you can use newer glibc, and if the symbol does not change, you can use old code on it.When the symbol changes in a non-backward-compatible way, only then the version of the symbol is changed.
You can browse https://abi-laboratory.pro/?view=timeline&l=glibc .