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.

[参考译文] Linux:无法在 BeagleBoneBlack 中安装软件包

Guru**** 2577385 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/626642/linux-unable-to-install-packages-in-beagleboneblack

工具/软件:Linux

您好!

我将 BeagleBoneBlack 与无线连接 Cape 配合使用。 我想在目标板中安装 Shairport Sync。 为此、我使用 LAN 连接了电路板、以进行互联网连接(仅限专用网络、而不是公司网络)。 然后、我尝试了以下链接:

https://github.com/mikebrady/shairport-sync  

但是、我无法在 BBB 中执行 apt-get 命令。 因此、我使用了 opkg 命令。  

#opkg 更新  

此命令的输出如下:

root@AM335x-EVM:~## opkg 更新
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/packages/arago-morty/prod/armv6thf-vfp/Packages.gz
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
正在下载 lcpd.gt.design.ti.com/.../Packages.gz。
wget:错误地址'lcpd.gt.design.ti.com'
收集的错误:
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
* opkg_ddownload_backend:下载 lcpd.gt.design.ti.com/.../Packages.gz 失败、wget 返回1。
root@AM335x-EVM:~# lcpd.gt.design.ti.com/.../Packages.gz
sh: lcpd.gt.design.ti.com/.../Packages.gz: 没有这样的文件或目录

当我尝试从 GitHub 下载某些软件包时、我可以成功下载。 所以。 我认为互联网连接不是问题。

我的问题是、我是否可以使用 opkg 在 BBB 设备中安装软件包? 如果可以,如何使用 opkg 命令安装新的软件包?

在 BBB 中安装软件包是否有其他方法?

提前感谢

Manimekala Rajendran

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

    我不确定是否可以使用 opkg。 在某些地方、我看到您只能使用 apt-get。 所以、不确定。
    但是、另一方面、shirport-sync 文档看起来很干净、您可以在主机 PC 中交叉编译它以用于 BBB、并在 BBB 上安装二进制文件。

    同时、我将检查是否可以使用基于 debain 的软件包直接在 BBB 上安装 shirport-sync。
    请告诉我您的观察结果。

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

    Prabhuraj、您好!

    感谢您的快速回复。

    您能告诉我我们具体如何指定我们需要为某些目标交叉编译代码而不是为主机编译代码吗?

    谢谢、此致、

    Manimekala R

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

    您可以浏览 SharePoint 同步源中的 GitHub 文档、该文档将为您提供交叉编译的指导。
    简而言之、从您的 SharePoint-SYNC 目录运行、
    1) autoreconf -i -f:这将生成安装文档并配置脚本以及其他几个文档。 有关编译、请参阅安装文档。
    2) 2)在主机 PC 中安装依赖项(我假设您有14.04 Ubuntu)
    需要以下库:

    OpenSSL 或 mbed TLS (支持 PolarSSL、但已弃用)
    Avahi
    ALSA 和/或 PulseAudio
    libdaemon
    自动配置
    Automake
    libtool
    libpopt
    libconfig
    可选:

    libsohr
    libalac (这是一个包含 Apple ALAC 解码器的库。)

    3)./configure --host=x86 --target=arm cc=arm-linux-gnueabihf-gcc --sysconfdir=/etc --with-alsa --with-pa-avahi --with-ssl=openssl --with-metadata --with-sohr
    这将使用 SharePoint 同步的标准构建选项配置您的主机和目标
    4) 4)制造
    5) 5)在 yur target dir>中进行安装

    在执行上述步骤时、您可能会遇到问题。 请浏览安装文档、该文档将为您提供更多详细信息。

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

    Prabhuraj、您好!

    非常感谢您的回复。 正如您所建议的、我尝试在 Ubuntu 平台(Ubuntu 16.04)中交叉编译 sirport-sync。 我使用以下参数配置了 shirport-sync:

    $./configure --build=x86_64 --host=x86_64 --target=armv71 cc=arm-linux-gnueabi-gcc --sysconfdir=/etc --with-alsa --with-pa-with-tinysvcmdns --with-ssl=openssl --sysconfdir=-with-systems-mademata-systemds-ment-daemon

    我已附加配置的日志文件。  

    ‘m之后,我已经执行了“ake”命令来构建 Shirport-SYNC 软件包。 当我执行此操作时、会出现 以下错误:

    $制造

    使 全递归

    make[1]:输入目录'/home/praveen/shairport-sync

    在人中实现一切

    make[2]:输入目录'/home/praveen/shairport-sync/man

    make[2]:对于"全部"不做任何操作。

    make[2]:离开目录'/home/praveen/shairport-sync/man

    make[2]:输入目录'/home/praveen/shairport-sync

    g++ -g -O2  -o shirport-sync shirport.o rtsp.o mdns.o mdns_external.o common.o rtp.o alac.o audio.o lound.o mdns_loutysvcmdns.o tinysvcmdns.o  audio_alsa.o       audio_pa.o lpthroph_pa.o   -lrt -lrt 配置-lrt pulse -lpth -lrt rlrt rp

    /usr/bin/ld:shairport.o:在通用 ELF 中重定位(EM:40)

    /usr/bin/ld:shairport.o:在通用 ELF 中重定位(EM:40)

    /usr/bin/ld:shairport.o:在通用 ELF 中重定位(EM:40)

    /usr/bin/ld:shairport.o:在通用 ELF 中重定位(EM:40)

    /usr/bin/ld:shairport.o:在通用 ELF 中重定位(EM:40)

    /usr/bin/ld:shairport.o:在通用 ELF 中重定位(EM:40)

    /usr/bin/ld:shairport.o:在通用 ELF 中重定位(EM:40)

    /usr/bin/ld:shairport.o:在通用 ELF 中重定位(EM:40)

    shairport.o:添加符号时出错:文件格式错误

    collect2:错误:LD 返回1退出状态

    Makefile: 539:目标'shirport-synync'的配方失败

    make[2]:***[shirport-synync]错误1

    make[2]:离开目录'/home/praveen/shairport-sync

    Makefile:617:目标'all-递 归'的配方失败

    maked[1]:***[all-递 归]错误1

    make[1]:离开目录'/home/praveen/shairport-sync

    Makefile:425:目标'all'的配方失败

    Make:***[All]错误2.

    注:-我正在从 SD 卡引导 BeagleBone Black

    您能否为我提供解决上述问题的任何解决方案?

    谢谢、此致、

    Manimekala.r

    e2e.ti.com/.../2084.configuration_5F00_terminal_5F00_op.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我有 Ubuntu 14.04。 我无法对其进行测试、因为我获得了 pthread 依赖性。
    查看以下链接、了解它是否对您有所帮助。
    stackoverflow.com/.../relocations-in-generic-elf-em-40

    谢谢、
    Prabhuraj
    Black胡椒 技术
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    非常感谢您的所有快速回复。
    我之所以遇到此错误、是因为 Ubuntu 平台中的所有可用库(我在其中交叉编译)都适用于64位系统、但我针对32位系统进行了交叉编译。 我通过以下方式解决了该问题:
    我从 SD 卡复制了所有库、例如 lpulse、lasound、lconfig 和 lpopt、我用于引导电路板、并将其放置在我自己的名为(Xcompile_libs)的目录中、然后按如下所示更改配置命令:

    $./configure --build=x86_64 --host=x86_64 --target=armv71 cc=arm-linux-gnueabi-gcc --sysconfdir=/etc --with-alsa --with-pa-with-tinysvcmdns --with-ss=openssl --with-alsa --username/compilitatemata/systemgl

    现在、它已配置、没有任何错误...