This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-AM335X:链接器无法找到 liblto_plugin.so

Guru**** 1740850 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1391083/processor-sdk-am335x-linker-cannot-find-liblto_plugin-so

器件型号:PROCESSOR-SDK-AM335X

工具与软件:

用于 AM335x 的 TI-SDK9
WSL2/Ubuntu 22.04.4 LTS

我正在将一个项目从 AM335x SDK7移植到当前 SDK9n、并且交叉链接器找不到插件库 liblto_plugin.so。 它位于 external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/libexec/gcc/arm-none-linux-gnueabihf/11.3.1/liblto_plugin.so。 如何告诉 arm-none-linux-gnueabihf-gcc 在何处查找此文件? 使用-L"/full/path/to/liblto_plugin.so 不起作用。 是否有其他标志指示链接器在何处查找插件库?

`是` echo | arm-none-linux-gnueabihf-gcc -v -x c -E -`的输出、其中显示了` arm-none-linux-gnueabihf-gcc 的默认位置 :

安全连接。
collect_gcc=arm-none-linux-gnueabihf-gcc
目标:arm-none-linux-gnueabihf
gcc/configure src --target=arm-none-linux-gnueabihf -前缀=--with-sysroot=/arm-none-linux-gnueabihf/libc /data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/install /data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-build-sysroot=web//data/jenkins/workspace/GNU-toolchain/arm-11 /arm-none-linux-gnueabihf/libc /data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools /data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools --with-bugurl=bugs.linaro.org/--enable-gnu-indirial-function--enable-shared--disable-libslip /data/jenkins/workspace/GNU-toolchain/arm-11/build-arm-none-linux-gnueabihf/host-tools
线程模型:POSIX
支持的 LTO 压缩算法:zlib
GCC 版本11.3.1 20220712 (Arm GNU 工具链11.3.Rel1)
collect_gcc_options='-v''-e''-mfloat-abi=hard''-mfpu=none''-mtls-dialect=gnu''-mthumb''-mlibarch=armv7-a+SIMD ''-March=armv7-a+SIMD '
/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../libexec/gcc/arm-none-linux-gnueabihf/11.3.1/cc1 -E -quiet -v -iprefix /home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/11.3.1 -isysroot /home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../arm-none-linux-gnueabihf/libc --mfloat-abi=hard -mfpu=neon -mtls-dialect=GNU -mthumb -mlibarch=armv7-A+SIMD -March=armv7-A+SIMD -dumpbase -
#include "..."搜索从此处开始:
#include <...>从此处开始搜索:
/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/11.3.1/include
/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/11.3.1/include-fixed
/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/11.3.1/../../../../arm-none-linux-gnueabihf/include
/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../arm-none-linux-gnueabihf/libc/usr/include
搜索列表结束。
# 0" "
# 0" "
# 0" "
# 1 "/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/include/stdc-predef.h 1 3 4.
# 0" "2.
# 1" "
Compiler_path=/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../libexec/gcc/arm-none-linux-gnueabihf/11.3.1:/home/gg/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../libexec/gcc:/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/11.3.1/../../../../arm-none-linux-gnueabihf/bin
library_path=/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/11.3.1:/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc /:/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/11.3.1/../../../../arm-none-linux-gnueabihf/lib:/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../arm-none-linux-gnueabihf/libc/lib:/home/user/gen2_toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/../arm-none-linux-gnueabihf/libc/usr/lib
collect_gcc_options='-v''-e''-mfloat-abi=hard''-mfpu=none''-mtls-dialect=gnu''-mthumb''-mlibarch=armv7-a+SIMD ''-March=armv7-a+SIMD '

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Glen、

    [报价 userid="548020" url="~/support/processors-group/processors/f/processors-forum/1391083/processor-sdk-am335x-linker-cannot-find-liblto_plugin-so "]我正在将一个项目从 AM335x SDK7移植到当前 SDK9n、并且交叉链接器找不到插件库 liblto_plugin.so。 它位于 external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/libexec/gcc/arm-none-linux-gnueabihf/11.3.1/liblto_plugin.so。 如何告诉 arm-none-linux-gnueabihf-gcc 在何处查找此文件? 使用-L"/full/path/to/liblto_plugin.so 不起作用。 [报价]

    您能否使用 liblto_plugin.so 显示确切的构建错误消息? 请注意、'-L'标志应传递给 ld 命令以链接 liblto_plugin.所以、不使用 gcc 命令。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    误差为:  
    arm-none-linux-gnueabihf-gcc:致命错误:‘-fuse-linker-plugin"、但找不到 liblto_plugin.so
    编译已终止。

    如果我 按如下方式复制 liblto_plugin.so、交叉编译器会找到它

    Cp ~μ s/ TI-PROCESSOR-SDK-LINUX-AM335x-EVM-09.01.00.001/external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/libexec/gcc/arm-none-linux-gnueabihf/11.3.1/libto_plugin.so  ~μ s/toolchain-sdk9/ arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/libexec/gcc/arm-none-linux-gnueabihf/11.3.1/

    My path='/opt/eclipse:/home/user/toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin:$path'

    目的地是否正确? 我可能在创建工具链存储库时省略了 svn add/commit。 (DOH!)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的路径='/opt/eclipse:/home/user/toolchain-sdk9/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin:$path'

    此~/toolchain-sdk9内容来自哪里? 它不具有 liblto_plugin.所以 在您从 SDK9.2.0.1安装中复制它之前?

    您的工具链路径指向目录~/toolchain-sdk9、而不是 SDK 9.1.0.1安装目录。 因此、如果前者不是 liblto_plguin.so 文件、编译器将无法找到它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    箱、  

    看到我上面的答复;我错过了一个"添加"到 repo 和当一个拉一个新的副本,它没有拉 liblto_plugin.so。
    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Glen、

    您的更新似乎仍然没有回答我的问题。 为什么您在安装的 SDK 已经提供工具链的情况下引入另一个工具链(toolschain-sdk9)?

    如果您的问题得到解决、我们可以关闭该主题。 如果您仍需要帮助、请说明。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bin、

    toolchain-sdk9文件夹包含 SDK 提供的工具链。 "toolchain-sdk9"仅仅是存储库名称。 如上所述、我错过了 svn add/commit、错过了参考库。

    可以关闭此窗口。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如上面所提到的、我错过了 svn add/commit、错过了引用的库。

    好的、现在我明白你的意思了。 谢谢。