[ANN] RMagick available on Windows

T

Tim Hunter

Thanks to Kaspar Schiess, RMagick for Windows is now available at
http://rubyforge.org/projects/rmagick.

Kaspar built RMagick with ImageMagick 6.0.0 and bundled them together as a
Ruby Gem. This extension should run on all versions of Windows from Win98
to current. To install the package you'll need RubyGems (available at
http://rubygems.rubyforge.org). To install RMagick, download the zip file,
unzip it into a temporary directory, and follow the instructions in the
README.html file.

Please report bugs using the RMagick bug tracker on RubyForge. Kaspar
would like to hear from anybody who wants to run RMagick on Win95.

RMagick is an interface to the ImageMagick (www.imagemagick.org) and
GraphicsMagick (www.graphicsmagick.org) image processing libraries.
RMagick supports more than 80 image formats, including GIF, JPEG, and PNG.
RMagick includes extensive HTML documentation with over 100 complete
example programs.

You can see examples of what you can do with Ruby, RMagick, and
ImageMagick on the RMagick web page, http://rmagick.rubyforge.org.

(Thank you, Kaspar!)
 
G

Gavin Sinclair

Question: I'm not too familiar with the way RubyGems works, but I was
thinking it would be really nice if it were even able to build binaries
rather than just download them and install them in the right places.

This is currently supported. I don't know how well it works on
Windows, though. (Really, it just depends on the normal Ruby
extconf.rb cycle.)
Didn't MS recently make their VS7 compiler available for free? Wouldn't
it be possible to have RubyGems download the MS compiler (if it were not
already present) and build the software from source?

That sounds like it's going a bit far :)

Gavin
 
F

Florian Gross

Tim said:
Thanks to Kaspar Schiess, RMagick for Windows is now available at
http://rubyforge.org/projects/rmagick.

Looks very nice. Thanks for this!

I'd suggest a small change to the post-install script:

In produce_config.rb change this:
fontpaths = ['c:/windows/fonts', 'c:/win98/fonts', 'c:/winnt/fonts', 'c:/win95/fonts']

to this:
fontpaths = [File.join(ENV['WINDIR'], "fonts"), 'c:/windows/fonts',
'c:/win98/fonts', 'c:/winnt/fonts', 'c:/win95/fonts']

Regards,
Florian Gross
 
G

Gavin Sinclair

Gavin said:
I don't really see why. In unix-based systems the compiler is taken for
granted. Many current ruby modules require compilation to work and
just assume that it's there. Hence, the average windows user is stuck
if a module he wants requires compilation. He can compile manually,
but this is too tedious or difficult for a lot of people. The RubyGems
paradigm sort of solves the problem but most windows-compatible gems
seem to only go so far as to provide occasional binary releases.

I certainly agree that the ability to compile things on Windows is
important. I just don't think RubyGems should provide the compiler.
Making an installed compiler one of the RubyGems dependencies seems
like a great way to make ruby programming more seamless on windows.
Alternatively, it might be a nice option to add to the ruby windows
installer.

Not a bad idea if it's permissible and not too large.

Gavin
 
K

Kaspar Schiess

Hello Carl,

Carl said:
I don't really see why. In unix-based systems the compiler is taken for
granted. Many current ruby modules require compilation to work and just
assume that it's there. Hence, the average windows user is stuck if a
module he wants requires compilation. He can compile manually, but this
is too tedious or difficult for a lot of people. The RubyGems paradigm
sort of solves the problem but most windows-compatible gems seem to only
go so far as to provide occasional binary releases. Making an installed
compiler one of the RubyGems dependencies seems like a great way to make
ruby programming more seamless on windows. Alternatively, it might be a
nice option to add to the ruby windows installer.

Carl

This is a reasonable request for most extensions that are just
implementations of stuff in c; This extension right here is somewhat
special in that there are about 10+ libraries attached (compiled and
linked in) that are by themselves really not very pretty to get to
build. So that automatic compiler of yours would need to automatically
resolve all the platform issues that arise when compiling unix libraries
on win32 and resolve them (sometimes by changing source code or
configure scripts). I guess that goes too far indeed.

Downloading a binary built for this one is much more convenient.
Provided it works on your system. And we are really saving time this way.


--
kaspar

semantics & semiotics
code manufacture

www.tua.ch/ruby
 
K

Kaspar Schiess

In produce_config.rb change this:
fontpaths = ['c:/windows/fonts', 'c:/win98/fonts', 'c:/winnt/fonts',
'c:/win95/fonts']


to this:
fontpaths = [File.join(ENV['WINDIR'], "fonts"), 'c:/windows/fonts',
'c:/win98/fonts', 'c:/winnt/fonts', 'c:/win95/fonts']


Regards,
Florian Gross

Thank you, this is a good idea. Changed.

--
kaspar

semantics & semiotics
code manufacture

www.tua.ch/ruby
 
T

Timon Christl

Gavin said:
I certainly agree that the ability to compile things on Windows is
important. I just don't think RubyGems should provide the compiler.




Not a bad idea if it's permissible and not too large.

The compiler alone is only capable of compiling ANSI C/C++, which means
no windows.h or anything like that. I doubt that even the most basic
extension would be buildable with this (except for those extensions that
just extend the language and not interface the operating system in any
other way). So you will need the Platform SDK, which is a) huge
(hundreds of megabytes), and b) can only downloaded using a so-called
Platform SDK Updater, which requires IE and an ActiveX control (unless
I'm missing something and there _is_ an ordinary self-extracting EXE or
ZIP file somewhere on the MS website, but I didn't find anything).

I therefore propose that MinGW is used, if a compiler should be included
at all. The reasons should be pretty obvious:
- It's the same compiler that is used on Linux, *BSD and most of the
other platforms that Ruby runs on, which will almost eliminate breakages
due to compiler differences
- Quite small, compared to MS VC7 + Platform SDK
- No unclear legal situation

I really don't see any real alternative to MinGW here.
 
C

Carl Youngblood

Timon said:
I therefore propose that MinGW is used, if a compiler should be
included at all. The reasons should be pretty obvious:
- It's the same compiler that is used on Linux, *BSD and most of the
other platforms that Ruby runs on, which will almost eliminate
breakages due to compiler differences
- Quite small, compared to MS VC7 + Platform SDK
- No unclear legal situation

I really don't see any real alternative to MinGW here.

As I recall there were some problems with the MinGW compiler's build of
ruby that got fixed after they started using VC++. Anyone know more
about this?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,774
Messages
2,569,599
Members
45,165
Latest member
JavierBrak
Top