下载了最新的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目录下,结果还是报同样错误。
离线
又安装了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)
离线
/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” 需求。 停止。
离线
根据报错提示找不到的文件,其实在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)
离线
找到一篇文章,提示从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
离线
@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 这个搜什么也没搜出来。
离线
你到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
离线
@司徒
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)
离线
執行下測試:
$ 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/
离线
@司徒
放弃了,正在重新安装ubuntu中。
离线
覆盖安装ubuntu20.04,但不删除原文件,安装完成后,自己后加的东西大都还在。
又安装了些软件,再次编译,通过了。
离线
好可惜~你把環境毀了~
重新安裝:經驗值+0, 下次遇到一樣無解
找出問題:經驗值+100, 下次遇到輕鬆解決
感谢这两天的回复。没找出问题来,确实遗憾,不过实在不想继续这样耗下去了。感觉是不知道什么时候把本机的/lib目录搞乱了。
离线