same compiler needed for C libraries?

X

Xavier Noria

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
 
N

Nobuyoshi Nakada

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.
 
X

Xavier Noria

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
 

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

Members online

No members online now.

Forum statistics

Threads
474,222
Messages
2,571,140
Members
47,755
Latest member
Grazynkaa

Latest Threads

Top