Rails 2.3.2, OS X 10.5.6
I am using the backtick method to run a shell command (happens to be
ImageMagick stuff). The command works fine when I use it directly in
Terminal. The command work fine if I extract the code out of Rails and
put it into a text.rb file. From inside a Rails app it fails.
I’m still trying to understand the nature of the failure, but if I use
2>&1 at the end of the command, I can log an error message:
“dyld: Library not loaded:
/ImageMagick-6.5.0/lib/libMagickCore.2.dylib”
Googling not helping with that one, but I have checked that the file
does exist, and AFAICT my profile file has the correct info re: the
paths. And, there’s the thing that the command actually works from CLI
and a plain Ruby script.
I have logged everything I can think of. I have even hard coded the
entire shell command inside the Rails app.
Just can’t figure out why the difference when the code is run inside a
Rails app.
Any ideas?? Thanks.
–gw
The test code…
#!/usr/bin/env ruby
class MagickImage
def initialize(real_image_path)
@real_file_path = real_image_path
@magick_bin = “/usr/local/ImageMagick/bin/”
end
def width
img_width = “”
if @real_file_path && FileTest.exists?(@real_file_path)
img_width = #{@magick_bin}/identify -format "%w" #{@real_file_path}
img_width.strip! unless img_width.nil?
img_width = “” if img_width.nil?
end
return img_width
end
end
p MagickImage.new("/Users/greg/Desktop/goodfood.jpg").width