您尚未登录。

楼主 # 2022-05-31 11:55:35

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

请教,交叉编译出错,找不到ld-linux-armhf.so.3。

下载了最新的u-boot,然后用之前下过的arm-gcc-11尝试编译,结果报错。
先后运行的是:

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_defconfig
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make menuconfig
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make 

报错信息是:

u-boot$ ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make
scripts/kconfig/conf  --syncconfig Kconfig


  UPD     include/config.h
  CFG     u-boot.cfg
  GEN     include/autoconf.mk
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
  GEN     spl/include/autoconf.mk
/lib/ld-linux-armhf.so.3: No such file or directory
make: *** 正在删除文件“include/config/auto.conf”
make: *** 没有规则可制作目标“include/config/auto.conf”,由“include/config/uboot.release” 需求。 停止。

后来又下载了arm-gcc-12,也是同样报错。
搜ld-linux-armhf.so.3,在/usr/local/arm-gcc-12/gnueabihf/libc/lib目录下找到了,然后建立软链接到/usr/local/arm-gcc-12/lib目录下,结果还是报同样错误。

离线

楼主 #1 2022-05-31 14:33:03

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

又安装了arm-gcc-4.9,结果也一样。
arm-gcc-12和arm-gcc-4.9,都放在了/usr/local/arm_gcc/目录下。

Desktop:/usr/local/arm_gcc$ ls
arm_linux_4.8  arm_linux_4.9  arm_linux_gcc_12

PC是ubuntu20.04,前阵子还编译过imx6ul的uboot,linux。
现在又转到imx6ul的uboot目录下,再次编译,也是报这个错误。

安装的arm_gcc_4.9的版本是:
gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

最近编辑记录 Gentlepig (2022-05-31 14:47:38)

离线

楼主 #2 2022-05-31 15:51:51

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

/lib/ld-linux-armhf.so.3: No such file or directory

这个错误,我一开始以为是需要连接到arm_gcc目录下的lib目录下,后来才发现,这是值的根目录下的。
建立了个软连接后,不报这个错误了,又有新的错误:

Desktop:~/MPU/AllWinner/V3s/u-boot$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all
scripts/kconfig/conf  --syncconfig Kconfig
  CFG     u-boot.cfg
  GEN     include/autoconf.mk
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
  GEN     spl/include/autoconf.mk
ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
/usr/bin/touch: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
make: *** 正在删除文件“include/config/auto.conf”
make: *** 没有规则可制作目标“include/config/auto.conf”,由“include/config/uboot.release” 需求。 停止。

离线

#3 2022-06-01 08:23:08

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,388
积分: 1902
个人网站

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

(V3s/V3x/S3/S3L/R11通吃)小智V3x开发板smallwitpi lite u-boot/linux/buildroot测试
https://whycan.com/t_7248.html





离线

楼主 #4 2022-06-01 08:49:07

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

根据报错提示找不到的文件,其实在arm-gcc目录下能找到,但是make时貌似是从根目录下某些位置去找。给我的感觉好像用的不是arm-gcc编译器,但是我命名指定了交叉编译器了。虽然make menuconfig时,可以看到编译器是我指定的arm-gcc-12,ARCH也是arm。但是报错确实和我不指定编译器直接make报错一样。

昨晚还试了用arm-gcc编译个.c文件,能编译成功。因为暂时无法下载到板子上,所以就试着在PC上运行,也是报错找不到ld-linux-armhf.so.3。

最近编辑记录 Gentlepig (2022-06-01 08:52:12)

离线

#5 2022-06-01 10:29:23

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 547
积分: 157
个人网站

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

@Gentlepig
給一下如下三個資訊:

$ env | grep PATH

$ env | grep LD_LIBRARY_PATH

$ arm-linux-gnueabihf-gcc --version

离线

楼主 #6 2022-06-01 10:40:59

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

找到一篇文章,提示从arm_gcc的libc.so入手,打开看到:

/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf32-littlearm)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) )

猜测交叉编译时用到的/lib/ld-linux-armhf.so.3,实际用的是根目录的/lib/libc.so.6。可是我的/lib下没有libc.so.6,在/lib32目录下倒是有,软连接过来,再次交叉编译,还是报错。
想起之前软连接ld-linux-armhf.so.3到/lib目录下,有新的报错,touch命令不能运行,找不到lib.so.6,那么lib.so.6应该不是放在/lib目录下。还有,我的PC上touch这个命令是从什么时候开始不正常的呢?
现在单独运行touch命令,也是报错:

Desktop:/lib$ touch
ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
/usr/bin/touch: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

离线

楼主 #7 2022-06-01 10:50:32

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

司徒 说:

@Gentlepig
給一下如下三個資訊:

$ env | grep PATH

$ env | grep LD_LIBRARY_PATH

$ arm-linux-gnueabihf-gcc --version

感谢回复。

Desktop:~$ env | grep PATH
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
MANDATORY_PATH=/usr/share/gconf/unity.mandatory.path
KICAD_PATH=/usr/share/kicad
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
DEFAULTS_PATH=/usr/share/gconf/unity.default.path
CLASSPATH=.:/opt/java/jdk1.8.0_261/lib:/opt/java/jdk1.8.0_261/jre/lib:
PATH=/usr/local/arm_gcc/arm_linux_gcc_12/bin:/home/any/.local/bin:/opt/java/jdk1.8.0_261/bin:/opt/java/jdk1.8.0_261/jre/bin:/usr/local/arm_linux_4.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Desktop:~$ arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (GCC) 12.0.1 20220205 (experimental) [master revision f49b8d25b1ff96e9cd09326666cc510b3a3accde]
Copyright © 2022 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

env | grep LD_LIBRARY_PATH 这个搜什么也没搜出来。

离线

#8 2022-06-01 11:25:43

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 547
积分: 157
个人网站

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

你到uboot資料夾下, 執行如下命命:

$ export PATH=/usr/local/arm_gcc/arm_linux_gcc_12/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all

如果還是錯誤, 給我一下如下資訊:

$ env

离线

楼主 #9 2022-06-01 11:49:18

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

@司徒

Desktop:~/MPU/AllWinner/V3s/u-boot$ export PATH=/usr/local/arm_gcc/arm_linux_gcc_12/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Desktop:~/MPU/AllWinner/V3s/u-boot$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all
scripts/kconfig/conf  --syncconfig Kconfig
  CFG     u-boot.cfg
  GEN     include/autoconf.mk
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
  GEN     spl/include/autoconf.mk
/lib/ld-linux-armhf.so.3: No such file or directory
make: *** 正在删除文件“include/config/auto.conf”
make: *** 没有规则可制作目标“include/config/auto.conf”,由“include/config/uboot.release” 需求。 停止。
Desktop:~/MPU/AllWinner/V3s/u-boot$ env
SHELL=/bin/bash
SESSION_MANAGER=local/Any-Desktop:@/tmp/.ICE-unix/2127,unix/Any-Desktop:/tmp/.ICE-unix/2127
QT_ACCESSIBILITY=1
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg/xdg-unity:/etc/xdg
SSH_AGENT_LAUNCHER=gnome-keyring
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_MENU_PREFIX=gnome-
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GTK_IM_MODULE=fcitx
GTK2_MODULES=overlay-scrollbar
LANGUAGE=zh_CN:zh
UNITY_HAS_3D_SUPPORT=true
QT4_IM_MODULE=fcitx
MANDATORY_PATH=/usr/share/gconf/unity.mandatory.path
JAVA_HOME=/opt/java/jdk1.8.0_261
JRE_HOME=/opt/java/jdk1.8.0_261/jre
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
XMODIFIERS=@im=fcitx
DESKTOP_SESSION=unity
COMPIZ_BIN_PATH=/usr/bin/
GTK_MODULES=gail:atk-bridge:unity-gtk-module
PWD=/home/any/MPU/AllWinner/V3s/u-boot
XDG_SESSION_DESKTOP=unity
LOGNAME=any
XDG_SESSION_TYPE=x11
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
XAUTHORITY=/home/any/.Xauthority
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/any
LD_PRELOAD=libgtk3-nocsd.so.0
GDM_LANG=zh_CN
HOME=/home/any
IM_CONFIG_PHASE=1
LANG=zh_CN.UTF-8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
KICAD_PATH=/usr/share/kicad
XDG_CURRENT_DESKTOP=Unity:Unity7:ubuntu
VTE_VERSION=6003
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/48c78d1d_9c56_474b_ace6_a29cfe742944
INVOCATION_ID=6dd273d05cd4440a85addf2a45c84070
MANAGERPID=1729
GTK_CSD=0
CLUTTER_IM_MODULE=fcitx
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_SESSION_CLASS=user
TERM=xterm-256color
DEFAULTS_PATH=/usr/share/gconf/unity.default.path
KIGITHUB=https://github.com/KiCad
LESSOPEN=| /usr/bin/lesspipe %s
USER=any
GNOME_TERMINAL_SERVICE=:1.96
DISPLAY=:0
SHLVL=2
QT_IM_MODULE=fcitx
GNOME_SESSION_XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
CLASSPATH=.:/opt/java/jdk1.8.0_261/lib:/opt/java/jdk1.8.0_261/jre/lib:
XDG_RUNTIME_DIR=/run/user/1000
COMPIZ_CONFIG_PROFILE=ubuntu
JOURNAL_STREAM=9:44119
XDG_DATA_DIRS=/usr/share/unity:/usr/local/share:/usr/share:/var/lib/snapd/desktop
PATH=/usr/local/arm_gcc/arm_linux_gcc_12/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
GDMSESSION=unity
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
UNITY_DEFAULT_PROFILE=unity
OLDPWD=/home/any
_=/usr/bin/env

感觉我电脑上的ubuntu20.04有问题了,无法更新,换源后又提示没有公钥,也不知道原来的公钥是什么。

执行apt-key exportall命令,竟然也报这个错误:

Desktop:~/MPU/AllWinner/V3s/u-boot$ apt-key exportall
/lib/ld-linux-armhf.so.3: No such file or directory

最近编辑记录 Gentlepig (2022-06-01 11:53:20)

离线

#10 2022-06-01 13:58:38

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 547
积分: 157
个人网站

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

執行下測試:

$ unset LD_PRELOAD
$ export PATH=/usr/local/arm_gcc/arm_linux_gcc_12/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all

給我如下資訊:

$ which apt-get | xargs ldd

$ ls -al /lib/

离线

楼主 #11 2022-06-01 14:33:47

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

@司徒

放弃了,正在重新安装ubuntu中。

离线

楼主 #12 2022-06-01 15:44:53

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

覆盖安装ubuntu20.04,但不删除原文件,安装完成后,自己后加的东西大都还在。
又安装了些软件,再次编译,通过了。

离线

#13 2022-06-01 16:35:04

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 547
积分: 157
个人网站

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

好可惜~你把環境毀了~
重新安裝:經驗值+0, 下次遇到一樣無解
找出問題:經驗值+100, 下次遇到輕鬆解決

离线

楼主 #14 2022-06-02 09:05:15

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,378
积分: 1343.5

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

司徒 说:

好可惜~你把環境毀了~
重新安裝:經驗值+0, 下次遇到一樣無解
找出問題:經驗值+100, 下次遇到輕鬆解決

感谢这两天的回复。没找出问题来,确实遗憾,不过实在不想继续这样耗下去了。感觉是不知道什么时候把本机的/lib目录搞乱了。

离线

#15 2022-06-02 11:43:33

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 547
积分: 157
个人网站

Re: 请教,交叉编译出错,找不到ld-linux-armhf.so.3。

OK~沒問題的~

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn