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.

使用TI AM335X SDK 里的交叉编译工具 配置net-snmp 时 出现 缺少 crt1.o 文件



gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11)
configure:6848: $? = 0
configure:6837: arm-linux-gnueabihf-gcc --version >&5
arm-linux-gnueabihf-gcc (Linaro GCC 6.2-2016.11) 6.2.1 20161016
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:6848: $? = 0
configure:6868: checking whether the C compiler works
configure:6890: arm-linux-gnueabihf-gcc    conftest.c  >&5
/home/kaifa/RF-MESH/TI_AM335X/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find crt1.o: No such file or directory
/home/kaifa/RF-MESH/TI_AM335X/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
configure:6894: $? = 1
configure:6932: result: no
 
 
请问这个问题如何解决,谢谢!
 
  • 这个是在什么环境下面编译的什么?

    如果是kernel或者是uimage的话,确认下编译的tool chain是使用的相对应的版本吗?

  • 我的编译环境是Ubuntu ,   从TI 官网http://software-dl.ti.com/processor-sdk-linux/esd/AM335X/latest/index_FDS.html 下载 最新版本的SDK ,在linux-devkit目录下带有交叉编译工具 ,版本6.2.1 。从官网下载NET-SNMP 和OPENSSL 进行交叉编译,都出现了缺少 crt1.o 文件, 应该是该交叉编译工具链  缺少这个文件。

  • 哥们,我也遇到类似的问题,能不能帮忙回复一下:
    Compiling Debug...
    /opt/ti-processor-sdk-linux-am335x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -o Debug/linpack Debug/linpack.o -Wl,-O1 -Wl,--hash-style=gnu -lm -Wl,-Map,Debug/linpack.map
    /opt/ti-processor-sdk-linux-am335x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find crt1.o: No such file or directory
    /opt/ti-processor-sdk-linux-am335x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
    /opt/ti-processor-sdk-linux-am335x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lm
  • 这是因为编译时没有指定号链接库的地址, 是 LDFLAGS="--sysroot=$SDK_PATH_TARGET"
    参考makefile 写法:  xxx:    $(CC) -o $@ $(LDFLAGS) $(SRCS)