Ldd command issues using glibc

Hello,

I have Installed the ldd in glibc image but i have the error while using ldd.

root@OpenWrt:/etc# ldd
-ash: ldd: not found

Can you help me please...

ubus call system board
opkg list-installed | grep ldd

paste within the "Preformatted text </>" button
grafik

1 Like
root@OpenWrt:/etc# ubus call system board
{
	"kernel": "4.14.154",
	"hostname": "OpenWrt",
	"system": "ARMv7 Processor rev 3 (v7l)",
	"model": "UniElec U7623-02 eMMC (512M RAM)",
	"board_name": "unielec,u7623-02-emmc-512m",
	"release": {
		"distribution": "OpenWrt",
		"version": "SNAPSHOT",
		"revision": "unknown",
		"target": "mediatek/mt7623",
		"description": "OpenWrt SNAPSHOT unknown"
	}
}

root@OpenWrt:/etc# opkg list-installed | grep ldd
ldd - 2.27-2
1 Like
ls -la $(tail -n1 /usr/lib/opkg/info/ldd.list)
1 Like

root@OpenWrt:~# ls -la $(tail -n1 /usr/lib/opkg/info/ldd.list)
-rwxr-xr-x 1 root root 5372 Sep 9 20:06 /usr/bin/ldd

echo $PATH
1 Like

root@OpenWrt:~# echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin

/usr/bin/ldd /bin/busybox

root@OpenWrt:~# /usr/bin/ldd /bin/busybox
-ash: /usr/bin/ldd: not found

yes... something does seem a little off... hopefully someone who uses glibc might shed some insight...

yes, its been a strange for me too...
Thanks for your help..

I found one way but i dont understand why it is working like this

root@OpenWrt:~# ash /usr/bin/ldd
ldd: $missing file arguments
$Try `ldd --help' for more information.

Do you have any idea about this why it is running like this??

good... that seems to indicate that it might be an 'env/busybox' issue and not bin/lib related...

for now... you might wish to put something like this at the bottom of your /etc/profile / shinit

alias ldd='ash /usr/bin/ldd'

can you elaborate please...

where should i put,

#!/bin/sh
[ -e /tmp/.failsafe ] && export FAILSAFE=1

[ -f /etc/banner ] && cat /etc/banner
[ -n "$FAILSAFE" ] && cat /etc/banner.failsafe

fgrep -sq '/ overlay ro,' /proc/mounts && {
echo 'Your JFFS2-partition seems full and overlayfs is mounted read-only.'
echo 'Please try to remove files from /overlay/upper/... and reboot!'
}

export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6)
export HOME=${HOME:-/root}
export PS1='\u@\h:\w$ '

case "$TERM" in
xterm*|rxvt*)
export PS1='[\e]0;\u@\h: \w\a]'$PS1
;;
esac

[ -x /bin/more ] || alias more=less
[ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi

alias ll='ls -alF --color=auto'

[ -z "$KSH_VERSION" -o ! -s /etc/mkshrc ] || . /etc/mkshrc

[ -x /usr/bin/arp -o -x /sbin/arp ] || arp() { cat /proc/net/arp; }
[ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }

[ -n "$FAILSAFE" ] || {
for FILE in /etc/profile.d/*.sh; do
[ -e "$FILE" ] && . "$FILE"
done
unset FILE
}

if ( grep -qs '^root::' /etc/shadow &&
[ -z "$FAILSAFE" ] )
then
cat << EOF
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.

EOF
fi

service() {
[ -f "/etc/init.d/$1" ] || {
echo "service "'"'"$1"'"'" not found, the following services are available:"
ls "/etc/init.d"
return 1
}
/etc/init.d/$@
}

readlink -f $(type -p ldd)

root@OpenWrt:~# readlink -f $(type -p ldd)
BusyBox v1.31.1 () multi-call binary.

Usage: readlink [-fnv] FILE

Display the value of a symlink

-f	Canonicalize by following all symlinks
-n	Don't add newline
-v	Verbose
1 Like

I added the profile alias in the etc/profile so now i have this output

root@OpenWrt:~# ldd
ldd: $missing file arguments
$Try `ldd --help' for more information.

type ldd; readlink -f /usr/bin/ldd

root@OpenWrt:~# readlink -f /usr/bin/ldd
/usr/bin/ldd

1 Like