2

It is the default version of the imagemagick program convert that comes with ubuntu 14.04

ip-173-31-35-119:~ [prod]$ convert -version
Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP   

In another shell I have downloaded the latest version of source code and compiled locally.

If I start a new shell, I can see

$ bash -
ip-173-31-35-119:~$ convert -version
Version: ImageMagick 6.9.2-3 Q16 x86_64 2015-10-07 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC OpenMP 
Delegates (built-in): 

So the new binary is already available.

In both shell, they report the same result from which and ls -l:

$ which convert
/usr/local/bin/convert
ip-173-31-35-119:~ [prod]$ ls -l /usr/local/bin/convert
-rwxr-xr-x 1 root root 6336 Oct  7 20:11 /usr/local/bin/convert

Why the first shell seems to still running the old version of the binary? How can I clear this?

muru
  • 72,889
Anthony Kong
  • 902
  • 3
  • 14
  • 23
  • Different PATH definitions? – A.B. Oct 07 '15 at 20:32
  • @muru not the same issue – Anthony Kong Oct 07 '15 at 21:23
  • @AnthonyKong you know hashing is not the problem here? Why didn't you say so? – muru Oct 07 '15 at 21:23
  • It almost certainly is the same issue. The programs which and ls are external commands, not affected by Bash's internal command path lookup cache. The new program is installed at a different location. The existing shell where the old program was invoked has memorized an association between the command's name and its old path; that association persists until you do hash -r. – Kaz Oct 07 '15 at 21:24

0 Answers0