linux /lib/libc.so.0错误与buildroot

pxiryf3j  于 5个月前  发布在  Linux
关注(0)|答案(2)|浏览(70)

可以看出,有时如果我们选择一个软件包,我们会从buildroot中得到这个奇怪的错误,说找不到/lib/libc.so.0。进一步的探测是在libc.so中定义的,在$(STAGING_STUDIO)/usr/lib中找到;如果我们改变绝对路径,
GROUP(/lib/libc.so.0/usr/lib/uclibc_nonshared.a AS_NEEDED(/lib/ld-uClibc.so.0))
相对路径的含义如下:
GROUP(../../lib/libc.so.0../usr/lib/clibc_nonshared.a AS_NEEDED(../../lib/ld-uClibc.so.0))
编译通过。问?这是否是解决这个问题的正确方法?或者我们需要做一些改变,以便这个文件得到正确生成?;感谢任何解决方案。

jmo0nnb3

jmo0nnb31#

你是否在使用外部工具链?不使用autotools Makefile的软件包是否会出现这种情况?
我想你可能需要通过目标_(CFLAGS| LDFLAGS)中。
例如:
CFLAGS="$(TARGET_CFLAGS)”LDFLAGS="$(TARGET_LDFLAGS)”$(MAKE)-C $(PACKAGE_SRCNOW)

sy5wg1nm

sy5wg1nm2#

库已安装在:xyz/buildroot/output/host/usr/lib
如果你想链接到一个给定的目录中的已安装的库,那么你必须使用libtool,并指定库的完整路径名,或者在链接过程中使用“-LLIBtool”标志,并至少执行以下操作之一:

  • 在执行过程中将LIBRARY添加到`LD_LIBRARY_PATH'环境变量
  • 在链接过程中将LIBrant添加到`LD_RUN_PATH'环境变量
  • 使用“-Wl,-rpath -Wl,LIBO”链接器标志
  • 让您的系统管理员将LIBLOG添加到“/etc/ld.so.conf”

有关共享库的详细信息,请参阅任何操作系统文档,例如ld(1)和ld.so(8)手册页。

相关问题