[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

same compiler needed for C libraries?

Xavier Noria

1/11/2007 12:48:00 PM

I've often heard that the same compiler should be used to compile
Ruby and C extensions. I've also heard the same restriction for Perl,
mod_perl, and Apache. Libraries distributed as binaries for Windows
have to be compiled with Microsoft the compiler as well, right?

Say, for example, you've got a Ruby in Solaris compiled with the Sun
compiler, and the suite is not installed, nor can you install it.
Would you try to tweak Makefiles to compile some library with gcc? Or
is that just a bad idea and it is better to compile Ruby by hand
bypassing the system Ruby and go on from there?

I am not very familiar with compilers and linkers, which is the
reason behind these constraints?

-- fxn


2 Answers

Nobuyoshi Nakada

1/11/2007 2:20:00 PM

0

Hi,

At Thu, 11 Jan 2007 21:47:47 +0900,
Xavier Noria wrote in [ruby-talk:233538]:
> I've often heard that the same compiler should be used to compile
> Ruby and C extensions. I've also heard the same restriction for Perl,
> mod_perl, and Apache. Libraries distributed as binaries for Windows
> have to be compiled with Microsoft the compiler as well, right?

It is not accurate. They have to be compiled with *same
version* of Microsoft compiler, or mingw and VC6.

> Say, for example, you've got a Ruby in Solaris compiled with the Sun
> compiler, and the suite is not installed, nor can you install it.
> Would you try to tweak Makefiles to compile some library with gcc? Or
> is that just a bad idea and it is better to compile Ruby by hand
> bypassing the system Ruby and go on from there?

In general, gcc generated code is compatible with system
compilers.

--
Nobu Nakada

Xavier Noria

1/11/2007 5:20:00 PM

0

On Jan 11, 2007, at 3:19 PM, Nobuyoshi Nakada wrote:

Thank you!

> At Thu, 11 Jan 2007 21:47:47 +0900,
> Xavier Noria wrote in [ruby-talk:233538]:
>> I've often heard that the same compiler should be used to compile
>> Ruby and C extensions. I've also heard the same restriction for Perl,
>> mod_perl, and Apache. Libraries distributed as binaries for Windows
>> have to be compiled with Microsoft the compiler as well, right?
>
> It is not accurate. They have to be compiled with *same
> version* of Microsoft compiler, or mingw and VC6.

You mean it is even stronger? Same compiler _and_ same version?

> In general, gcc generated code is compatible with system
> compilers.

Great, that's helpful to know. In that case I guess on Solaris I
could tweak the system-wide mkmf.rb to use gcc and it would work (I
think the compiler suite is downloadable for free, but in this thread
I just want to understand what works and what not).

-- fxn