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-AM64X:AM6442:TI RPMsg Char git package -运行最新 ARM GNU 编译器时出现的问题

Guru**** 2535750 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1352862/processor-sdk-am64x-am6442-ti-rpmsg-char-git-package---issues-with-running-latest-arm-gnu-compilers

器件型号:PROCESSOR-SDK-AM64X

(已与 Nick 讨论了 RPMsg 内核空间示例;此 e2e 记录了 TI_RPMSG_CHAR Git 存储库的依赖关系)

我在 Ubuntu 22.04中使用最新的 ARM GNU 编译器获取指令中的 autoreconf 步骤遇到过时的构造问题。 附加的压缩目录

e2e.ti.com/.../ti_2D00_rpmsg_2D00_char_2D00_04222024.zip

发现的一些问题:

config.AC.33:警告:预处理器宏'TDC_headers'已过时、除非在不常见的嵌入式环境中、否则可以安全地无条件包含所有 ISC C90头文件。

真正有问题的是 autoreconf 步骤,我打开了-v 可以看到更多的信息。

Autoreconf:正在运行:/usr/bin/autoheader

autoreconf:运行:automake --add-mission--copy --no-force

autoreconf:错误:需要'configure.ac'。

但我们已经填充了 config.ac!  

附加了 v 11 ARM gcc 编译器的3个安装

e2e.ti.com/.../Ubuntu_5F00_gccarm_2D00_pkgs_5F00_installed0422224.txt

(不确定是否需要安装 libtool)

请进行调查。

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

    Jim、您好!

    我将与开发者讨论 v11 ARM gcc 编译器。 是否有特殊原因导致您无法使用 README 文件中记录的 v9.2 gcc 编译器?
    https://git.ti.com/cgit/rpmsg/ti-rpmsg-char/tree/README

    以下是我要在下一版本的 Academy 页面中添加的更新的示例编译输出、供您参考:

    Build the Linux Userspace example for Linux RPMsg by following the steps
    in the top-level README:
    
    #. Download the git repo
    
    #. Install GNU autoconf, GNU automake, GNU libtool, and v8 compiler as per the
       README
    
    #. Perform the Build Steps as per the README
    
    Sample build output on Ubuntu 22.04:
    
        ::
    
            :~/git/ti-rpmsg-char$ git status
            On branch master
            Your branch is up to date with 'origin/master'.
    
            Untracked files:
              (use "git add <file>..." to include in what will be committed)
                    library/
    
            nothing added to commit but untracked files present (use "git add" to track)
            :~/git/ti-rpmsg-char$ git branch
            * master
    
            :~/git/ti-rpmsg-char$ git pull --rebase origin master
            ...
    
            :~/git/ti-rpmsg-char$ export PATH=~/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin:$PATH
    
            :~/git/ti-rpmsg-char$ sudo apt-get install automake
            ...
    
            :~/git/ti-rpmsg-char$ sudo apt-get install libtool
            ...
    
            :~/git/ti-rpmsg-char$ make distclean
            Making distclean in src
            ...
    
            :~/git/ti-rpmsg-char$ autoreconf -i
            ...
            
            :~/git/ti-rpmsg-char$ mkdir outputs
    
            :~/git/ti-rpmsg-char$ ./configure --host=aarch64-none-linux-gnu --prefix=/home/userName/git/ti-rpmsg-char/outputs
            ...
            -----------------------------------------------------------
    
            Thank you for installing the Linux ti-rpmsg-char package
    
            Installation directory prefix: '/home/userName/git/ti-rpmsg-char/outputs'.
            Compilation command: 'aarch64-none-linux-gnu-gcc -g -O2 '
    
            Now type 'make; sudo make install' to generate the program
            and install it to your system. sudo usage is optional and
            depends on the permissions of the prefix folder being used
            or installation.
    
            ------------------------------------------------------------
    
            :~/git/ti-rpmsg-char$ make
            ...
    
            :~/git/ti-rpmsg-char$ make install
            ...
            ----------------------------------------------------------------------
            Libraries have been installed in:
               /home/userName/git/ti-rpmsg-char/outputs/lib
    
            If you ever happen to want to link against installed libraries
            in a given directory, LIBDIR, you must either use libtool, and
            specify the full pathname of the library, or use the '-LLIBDIR'
            flag during linking and do at least one of the following:
               - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
                 during execution
               - add LIBDIR to the 'LD_RUN_PATH' environment variable
                 during linking
               - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
               - have your system administrator add LIBDIR to '/etc/ld.so.conf'
    
            See any operating system documentation about shared libraries for
            more information, such as the ld(1) and ld.so(8) manual pages.
            ----------------------------------------------------------------------
            ...
    
            :~/git/ti-rpmsg-char$ make -C examples
            make: Entering directory '/home/userName/git/ti-rpmsg-char/examples'
            aarch64-none-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..  -Wall -g -O2 -I/home/userName/git/ti-rpmsg-char/outputs/include  -Wall -g -O2 -I/home/userName/git/ti-rpmsg-ch
            ar/outputs/include -g -O2 -MT rpmsg_char_simple-rpmsg_char_simple.o -MD -MP -MF .deps/rpmsg_char_simple-rpmsg_char_simple.Tpo -c -o rpmsg_char_simple-rpmsg_char_simple.o `te
            st -f 'rpmsg_char_simple.c' || echo './'`rpmsg_char_simple.c
            mv -f .deps/rpmsg_char_simple-rpmsg_char_simple.Tpo .deps/rpmsg_char_simple-rpmsg_char_simple.Po
            /bin/bash ../libtool  --tag=CC   --mode=link aarch64-none-linux-gnu-gcc -Wall -g -O2 -I/home/userName/git/ti-rpmsg-char/outputs/include -g -O2 -L/home/userName/git
            /ti-rpmsg-char/outputs/lib  -o rpmsg_char_simple rpmsg_char_simple-rpmsg_char_simple.o -lpthread -lti_rpmsg_char
            libtool: link: aarch64-none-linux-gnu-gcc -Wall -g -O2 -I/home/userName/git/ti-rpmsg-char/outputs/include -g -O2 -o rpmsg_char_simple rpmsg_char_simple-rpmsg_char_simpl
            e.o  -L/home/userName/git/ti-rpmsg-char/outputs/lib -lpthread /home/userName/git/ti-rpmsg-char/outputs/lib/libti_rpmsg_char.so -Wl,-rpath -Wl,/home/userName/g
            it/ti-rpmsg-char/outputs/lib -Wl,-rpath -Wl,/home/userName/git/ti-rpmsg-char/outputs/lib
                    make: Leaving directory '/home/userName/git/ti-rpmsg-char/examples'
    
            :~/git/ti-rpmsg-char$ make -C examples install
            make: Entering directory '/home/userName/git/ti-rpmsg-char/examples'
            make[1]: Entering directory '/home/userName/git/ti-rpmsg-char/examples'
             /usr/bin/mkdir -p '/home/userName/git/ti-rpmsg-char/outputs/bin'
              /bin/bash ../libtool   --mode=install /usr/bin/install -c rpmsg_char_simple '/home/userName/git/ti-rpmsg-char/outputs/bin'
            libtool: install: /usr/bin/install -c rpmsg_char_simple /home/userName/git/ti-rpmsg-char/outputs/bin/rpmsg_char_simple
            make[1]: Nothing to be done for 'install-data-am'.
            make[1]: Leaving directory '/home/userName/git/ti-rpmsg-char/examples'
            make: Leaving directory '/home/userName/git/ti-rpmsg-char/examples'
    
    

    此致、

    尼克

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

    尼克:

     我将单独回复构建输出。

    wrt "无法使用 v9.2 gcc 编译器 "

    我对 与跟上最新的 Gun ARM 交叉编译器和 Ubuntu 版本有关的支持问题表示同情。

    我看到已经发布了 Ubuntu 24.04 LTS、并且针对 CCS 支持的 Ki 知道他需要提供支持(尽管我也知道 CCS v 13正在降低 Eclipse IDE、将 SDK 改装为 Theia 本身就是一项巨大的工作)。

    我们可能需要跟上适用于制造流程的最新 GNU 工具。 我相信,一些较新的 GNU 工具版本(在之前的 e2e 中记录)可能会导致问题。

    我应该期望应该访问 GNU v11 ARM gcc 编译器、因为并非所有旧版 gcc 工具都存在一些向前兼容性问题、因为出现了更新的 Ubuntu 2x.y LTS 发行版。

    鉴于 AM6x 系列中的内核混合、从交叉兼容性编译问题来看、我将继续介绍更新的 gcc 工具集。

    [我还记得如何在90年代的 TI ASP ASIC 日之前使 Solaris/SunOS 发布的 Unix 工具恢复正常。   即使在 Linux 环境中、某些版本控制方案也会随着更改而重复]

    请让开发团队考虑推进 gcc 工具版本。

    谢谢

    吉姆·穆罗卡

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

    Jim、您好!

    我已与开发人员讨论并提出 更新至最新 gcc 编译器的要求。 目前,我没有任何发展商方面的承诺或时间表,但它是在系统中。

    此致、

    尼克