Friday, September 11, 2009

Gentoo optimization : prelink

Definition :

prelink is a binary that take shared libraries and put them in binary.It permits for example to start kde more quickly.Use it and you will see !


Installation :

emerge prelink
env-update

Use :

prelink -amR

You have to execute the command each time you update your system because new shared libraries have to be integrate in binary.


Example :

# prelink -amR
prelink: /usr/lib/xulrunner/xpcshell: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/TestGtkEmbed: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/regxpcom: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/mozilla-xremote-client: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/xulrunner-stub: Could not find one of the dependencies
prelink: /usr/lib/xulrunner/xulrunner-bin: Could not find one of the dependencies
prelink: /usr/bin/qtdemo: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kpendulum.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/bin/tcdecode: Cannot prelink against non-PIC shared library /usr/lib/libavcodec.so.52
prelink: /usr/bin/compiz: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/bin/ffmpeg: Cannot prelink against non-PIC shared library /usr/lib/libavutil.so.49
prelink: /usr/kde/3.5/bin/kwave.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kgravity.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kflux.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/bin/glxgears: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGLcore.so.1
prelink: /usr/kde/3.5/bin/krotation.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/i686-pc-linux-gnu/gcc-bin/4.1.2/i686-pc-linux-gnu-c++ is no longer hardlink to /usr/i686-pc-linux-gnu/gcc-bin/4.1.2/i686-pc-linux-gnu-g++
prelink: /usr/kde/3.5/bin/kspace.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/ksolarwinds.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/keuphoria.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/bin/glxinfo: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kdesktop_lock: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1
prelink: /usr/kde/3.5/bin/kfountain.kss: Cannot prelink against non-PIC shared library //usr//lib/opengl/nvidia/lib/libGL.so.1

Don't be afraid of warning message.See the official gentoo documentation for more details : prelink


NOTE :

- This command isn't dangerous but you must be sure that you have enought space in you hard disk.If not, some executable will be truncate. Use df -h to check it.

No comments:

Post a Comment