blackwinter / ruby-filemagic

Ruby bindings to the magic(4) library, revised.
https://blackwinter.github.iom/ruby-filemagic
146 stars 34 forks source link

Add precompiled extension gems for 0.72 release #25

Closed ShockwaveNN closed 7 years ago

ShockwaveNN commented 7 years ago

All version since 0.62 to 0.71 had precompiled extension for mingw32 and mswin32-60 I thin there is need for those version for 0.72 too Or at least a clear instruction how to do it by yourself on windows. I tryed but failed

blackwinter commented 7 years ago

Strictly speaking, your're right. But:

  1. Version 0.7.2 is a bugfix release that doesn't affect the precompiled extensions.
  2. I don't have a cross-compile environment ready to release the fat binary gems.

On top of that, this project is pretty much in maintenance mode and I don't have a lot of resources to attend to it. If you're willing to try for yourself, these hints should get you off the ground.

blackwinter commented 7 years ago

As for compiling directly on Windows: I don't have anything to offer beyond what's already mentioned in #11.

ShockwaveNN commented 7 years ago

@blackwinter Ok thanks. I try to create Dockerfile to build precompiled versions easily - but currenlty I'm failing on building file Errors looks like this:

file.exe -C -m magic
/bin/bash: file.exe: command not found
Makefile:760: recipe for target 'magic.mgc' failed
make[2]: Leaving directory '/file-5.22/magic'
make[2]: *** [magic.mgc] Error 127
make[1]: *** [all-recursive] Error 1
Makefile:390: recipe for target 'all-recursive' failed
make[1]: Leaving directory '/file-5.22'
Makefile:321: recipe for target 'all' failed
make: *** [all] Error 2

Any help?

blackwinter commented 7 years ago

That's a sensible approach. It's strange, though, that it's trying to run file.exe on Linux, isn't it? Unfortunately, I don't recall running into this before. Sorry! (Maybe I can try and dig out my old cross-compile environment on the weekend, but no promises...)

ShockwaveNN commented 7 years ago

@blackwinter Ok, thank you. But you was able to build extension on Linux before, am I right? I have no cross-platform compile experience before, so I may not fully understand that I'm doing :) But I wanna help and produce easy to use Dockerfile

blackwinter commented 7 years ago

Yes, I was. And yes, I think trying to provide a recipe in the form of a Dockerfile will be very helpful. You reused the instructions I jotted down earlier and I don't have anything to add and/or correct off the top of my head. Maybe there's something to be found over here?

ShockwaveNN commented 7 years ago

@blackwinter I run code on my host machine (just for test) and found out that it seems call mono framework (It showing mono window!), so I think this is a problem, but I don't know why there is graphic mono windows at first place

Update: Seems this is not a problem, there is file.exe: command not found error even on real machine. I contacted that repo, maybe some help

ShockwaveNN commented 7 years ago

@blackwinter I've got it! https://github.com/blackwinter/ruby-filemagic/pull/26

blackwinter commented 7 years ago

Fat binary gems for version 0.7.2 have been released. Thanks again for your perseverance and for offering a path forward!

ShockwaveNN commented 7 years ago

Seems precompiled exception not helped. There is C:/Ruby24/lib/ruby/gems/2.4.0/gems/ruby-filemagic-0.7.2-x86-mingw32/lib/filemagic/2.4/ruby_filemagic.so not found error, but file exists. Maybe an issue in ruby-installer. Created issue in https://github.com/oneclick/rubyinstaller2/issues/64