Using proxychains to do apt-get update in ubuntu 12.04.2

sudo proxychains  apt-get update

gives following error

ERROR: ld.so: object 'libproxychains.so.3' from LD_PRELOAD cannot be preloaded: ignored.

How can I avoid this error?

  • I've found the solution, the execution file in /usr/bin/proxychains contains a link to LD_PRELOAD, which should not be libproxychains.so.3 but should be libproxychains.so. Of course, assuming you have /usr/lib/libproxychains.so correctly linking to /usr/lib/libproxychains.so.3 – Saeed May 11 '13 at 3:47

You must change

export LD_PRELOAD=libproxychains.so.3

to

export LD_PRELOAD=/usr/lib/libproxychains.so.3

in /usr/bin/proxychains

or use find /usr/lib/ -name libproxychains.so.3 -print to get the right file path.

  • In peppermint 4.0, it should be /usr/lib/i386-linux-gnu/libproxychains.so.3 – diyism Dec 11 '13 at 7:25
  • 2
    "proxychains-ng" or proxychains4 have no problem like this. – diyism Dec 11 '13 at 9:28

Although the error goes away when setting

export LD_PRELOAD=/usr/lib/libproxychains.so.3

in /usr/bin/proxychains there is no such file in that location on Ubuntu. the link resides in /usr/lib/x86_64-linux-gnu/ on a 64bit system and /usr/lib/i386-linux-gnu/ (i think) on a 32bit system. The link points to the file libproxychains.so.3.0.0 in the same directory. The change should be

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libproxychains.so.3

if on 64bit

export LD_PRELOAD=/usr/lib/i386-linux-gnu/libproxychains.so.3

if on 32bit Ubuntu and derivatives.

You can just add

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libproxychains.so.3

in .bashrc instead of run proxychains bash in terminal.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.