First time here? Check out the FAQ!

Ask Your Question
1

imagemagick/animate problem

asked 13 years ago

zscool gravatar image

updated 13 years ago

I have imagemagick installed on my OS X Snow Leopard machine. When I try to do animation on a notebook on my machine I get the error:

"/tmp/sage-mac-app/local/bin/sage-native-execute: line 8: convert: command not found

Error: ImageMagick does not appear to be installed. Saving an animation to a GIF file or displaying an animation requires ImageMagick, so please install it and try again.

See www.imagemagick.org, for example."

Any idea why this would fail even though the convert command works in my terminal prompt?

edit I should point out that in the terminal session, the show() method does generate a gif with several pictures. In notebook, however, I get the above error.

Preview: (hide)

4 Answers

Sort by » oldest newest most voted
1

answered 13 years ago

Shashank gravatar image

How did you install imagemagick? It seems you did not set the PATH and LD_LIBRARY_PATH correctly. Have a look at

http://www.imagemagick.org/script/binary-releases.php?ImageMagick=8t1hubbqi2k49feh51an7g0co4#macosx

Add the lines starting with export to ~/.bash_profile and run the command source ~/.bash_profile

Let me know if this works or if you installed imagemagick some other way.

Preview: (hide)
link

Comments

Thank you for the response. I installed imgagemagick via macports, I assume it should have installed everything properly, but I'm not sure. Do you have any experience with macports?

zscool gravatar imagezscool ( 13 years ago )

Yes I have a mac with snow leopard and i used macports too. All I had to do to make it work was make sure that I set the PATH and LD_LIBRARY_PATH. Did you try adding the paths to .bash_profile?

Shashank gravatar imageShashank ( 13 years ago )

I really don't much experience with the linux bash shell. Can you be more specific? I know that macports programs are installed in /opt/local, which is already in my .bash_profile. What else do I need to add?

zscool gravatar imagezscool ( 13 years ago )

First and foremost the error you are getting is that the command convert is not found. So the question is if you type convert on terminal do you get an error? If yes then convert is not in PATH. Search where convert is kept. Let us call it path-to-convert. In .bash_profile add the line export PATH=path-to-convert:$PATH. If the command convert is working in the terminal then I am not sure what the problem is.

Shashank gravatar imageShashank ( 13 years ago )

Oddly enough, convert does work in the terminal, and a = animate(...), a.show() works in the terminal. The error message I am getting only occurs when I try to call a.show() from a worksheet in the sage notebook on my computer.

zscool gravatar imagezscool ( 13 years ago )
1

answered 13 years ago

zscool gravatar image

I managed to fix my problem, but I'm not sure why Sage is doing this. I copied convert from /opt/local/bin to /tmp/sage-mac-app/local/bin, and this seemed to do the trick. I'm not really sure why this hack fixed the problem. It seems that Sage should be able to look elsewhere for files.

Preview: (hide)
link

Comments

That is good to know. I am still surprised that you had to do that.

Shashank gravatar imageShashank ( 13 years ago )

I had the exact same problem..SnowLeopard,MacPorts,ImageMagick, ..unix greenie.. all of it... thank you ZSCOOL..your hack worked for me too

John McNally gravatar imageJohn McNally ( 13 years ago )

Exact same problem again on two different Macs. OSX 10.6.8 and OSX 10.5. On one, copied convert to /tmp/sage-mac-app/local/bin, on the second, created just a link there to the place where the convert utility sits - both work now! But for the copy approach, I get a default background color of black, which is a problem.

croettger gravatar imagecroettger ( 12 years ago )
0

answered 12 years ago

Ivan Andrus gravatar image

updated 12 years ago

My guess is that /opt/local/bin is not in your PATH for GUI applications. If you open a terminal and start the sage server there, I bet it will work (and I think you indicate that it does).

What happens is that GUI applications (including Sage.app) do not read .bash_profile etc. when they start up so they don't get any changes to PATH made there. You have to edit the file ~/.launchd.conf (10.7+) or ~/.MacOSX/environment.plist and add the correct PATH there. See this stackoverflow answer for details.

This is a very common problem on stackoverflow and similar sites. I wish I could figure out a way to make this easier for people to discover.

Preview: (hide)
link
0

answered 12 years ago

ahausknecht gravatar image

Hi all,

I am running the 64-bit app version Sage 5.1 on a MacBookPro with Mac OS Lion.

I installed ImageMagick and verified that it is working. However, Sage "animate" command reported that ImageMagick must not be installed.

I then copied "convert" to "/tmp/sage-mac-app/local/bin" as suggested above and the "animate" command still failed and reported the error shown below:


dyld: Library not loaded: /ImageMagick-6.7.8/lib/libMagickCore.5.dylib Referenced from: /Applications/Sage-5.1-OSX-64bit-10.6.app/Contents/Resources/sage/local/bin/convert Reason: image not found /Applications/Sage-5.1-OSX-64bit-10.6.app/Contents/Resources/sage/local/bin/sage-native-execute: line 8: 574 Trace/BPT trap: 5 "$@" Traceback (most recent call last): File "<stdin>", line 1, in <module> File "_sage_input_4.py", line 10, in <module> exec compile(u'open("___code___.py","w").write("# -- coding: utf-8 -*-\n" + _support_.preparse_worksheet_cell(base64.b64decode("YT1hbmltYXRlKFtzaW4oeCArIGZsb2F0KGspKSBmb3IgayBpbiBzcmFuZ2UoMCwyKnBpLDAuMyldLHhtaW49MCwgeG1heD0yKnBpLCBmaWdzaXplPVsyLDFdKQphLnNob3coKQ=="),globals())+"\n"); execfile(os.path.abspath("___code___.py")) File "", line 1, in <module>

File "/private/var/folders/31/r_2f8ryd5ks7xb80nyrbj2cc0000gn/T/tmpS3zCmv/___code___.py", line 4, in <module> exec compile(u'a.show() File "", line 1, in <module>

File "/Applications/Sage-5.1-OSX-64bit-10.6.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/plot/animate.py", line 457, in show self.gif(delay = delay, iterations = iterations) File "/Applications/Sage-5.1-OSX-64bit-10.6.app/Contents/Resources/sage/local/lib/python2.7/site-packages/sage/plot/animate.py", line 400, in gif raise OSError, msg OSError: Error: Neither ImageMagick nor ffmpeg appears to be installed. Saving an animation to a GIF file or displaying an animation requires one of these packages, so please install one of them and try again. See www.imagemagick.org and www.ffmpeg.org for more information. --------------------------------------------------------------*

I also tried to create a link to "convert " in "/tmp/sage-mac-app/local/bin" but this also failed with an error also stating that "ImageMagick" was not installed.

At this point I don't know what else to try! Is there anyway that ImageMagick could be included in the Sage distributions in the future?

Regards

Adam Hausknecht Department of Mathematics UMass Dartmouth

Preview: (hide)
link

Comments

Hmm. I thought there might be licensing issues, but a brief perusal of the internet implies not. I have to say that zscool's solution is a hack in any case - a useful one, but we need to fix it elsewhere. My gut says that convert wasn't in your path somehow. Can you amend your answer to include the *original* failure message? That may be helpful. Or you could just start a new question, maybe that would be easier.

kcrisman gravatar imagekcrisman ( 12 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 13 years ago

Seen: 7,322 times

Last updated: Jul 12 '12