[Buildroot] how to find ununsed libs

Patrick Fischer pf at stollmann.de
Fri Mar 20 12:35:32 UTC 2009


I found my mistake.
I don't follow symlinks.
libc.so.0 -> libuClibc-0.9.28.so

I also can't find out if a lib will loaded dynamic on runtime.
for example iptables  will load some libs only if they are needed.

It is an ugly way but it works for me.

I also link some libs static if they are only used once.

Now my Image is 700k smaller

Best regards
Patrick





Patrick Fischer schrieb:
> Hello
>
> I wrote a small script to check which libs are needed on the target.
> So i found that libstdc++.so.5.0.7 is installed but not needed by any 
> prog.
> (this is not about why this is in the target, I'm using a very old 
> version of buildroot)
>
> But my script told me that i don't need a lot of libs like
> libuClibc-0.9.28.so
> (ld-uClibc-0.9.28.so is needed)
>
> I think this is a bug in my script.
> Can anybody check my script if it works fine?
>
>
> #!/bin/sh
>
> LIBSNEEDED=needed_libs
> LIBSFOUND=fount_libs
> LDD=mipsel-linux-ldd
> ROOTFS=build_mipsel/root/
>
> find $ROOTFS -type f -exec $LDD  {} 2>/dev/null  \; | grep -v "not a 
> dynamic executable" | cut -d"=" -f1 | tr -d "\t" | sort -n > $LIBSNEEDED
> find $ROOTFS -name "*so*" -type f  -exec ls -l {} \;| cut -d " " -f 
> 5,9 | sort -n -r > $LIBSFOUND
>
> cat $LIBSFOUND | while read size lib
> do
>        #example build_mipsel/root/lib/libresolv-0.9.28.so -> libresolv
>        if grep `basename $lib | cut -d"-" -f1 | cut -d"." -f1` 
> $LIBSNEEDED > /dev/null;
>        then
>                echo $lib is needed
>        else
>                echo $lib not needed, you can save $size bytes
>        fi
> done
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
>


-- 
Patrick Fischer

Software Developer
Phone: +49 40 890 88-443
Email: pf at stollmann.de

-------------------------------------------------------------
http://www.stollmann.de
Tel: +49 40 890 88-0
Fax: +49 40 890 88 444
Stollmann E+V GmbH, Mendelssohnstr. 15D, D-22761 Hamburg,
HRB Hamburg 55634, VAT-ID DE 811 675 541
GF: Peter Herrmann, Christian Lührs
mailto:pf at stollmann.de
-------------------------------------------------------------




More information about the buildroot mailing list