Konstantin Gredeskoul <[email protected]> wrote:
> However, the raindrops dependency introduced in 4.0 breaks raindrops
> (and therefore unicorn 4) on SmartOS.
>
> The fact that the compilation breaks in the file named
> "linux_inet_diag.c" makes me believe that perhaps the authors may not
> have anticipated usage beyond Linux, or there may be some other
That file is Linux-specific, but the rest of raindrops (and unicorn)
works on FreeBSD, OpenBSD and probably others. I have every expectation
it'd work on SmartOS[1]
> > uname -a
> SunOS demo001.dev 5.11 joyent_XXXX i86pc i386 i86pc Solaris
^^^^
> > file .rvm/rubies/ruby-1.9.3-p194/bin/ruby
> .rvm/rubies/ruby-1.9.3-p194/bin/ruby: ELF 64-bit LSB executable
> AMD64 Version 1, dynamically linked, not stripped
^^^^^
Are you running a mixed 32-bit/64-bit installation?
Can you check the build system isn't picking the wrong compiler
or compiler flags?
> make
> compiling linux_inet_diag.c
> linux_inet_diag.c:1:0: error: CPU you selected does not support x86-64
> instruction set
That's odd, the first line is just #include <ruby.h>
You can try emptying/removing that file completely? (maybe
linux_tcp_diag.c, too).
Your env shouldn't define the __linux__ macro. The linux_* files is
wrapped with an #ifdef __linux__, so those files shouldn't even
be compiled on other OSes.
The portable part of raindrops does use CPU-specific atomics
(which GCC or libatomic_ops provides). Ruby 1.9.3 itself uses
these instructions, too.
[1] - SmartOS seems to be Free Software, so I can actually support it :)
_______________________________________________
Unicorn mailing list - [email protected]
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying