<div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">It is possible to mix object code, but not runtime, which is the problem<br>AFAIK. VS2003 and VS2005 have different  C runtimes (
msvcrt7.1.dll<br>against msvcrt8.dll). The problem is (at least for me, who just go<br>through the pain for windows users :) ) that VS2003 is not available<br>anymore for free...</blockquote><div><br><br>Exactly. Well, there is an ongoing discussion on Python-dev on this specific point (VS2005 building).
<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">> No, in this case, I want to build with icc and special compiler<br>> options. I tried by build by hand - and CMake - the libraries, it
<br>> works like a charm and it is very very fast compared to gcc :(</blockquote><div> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Which libraries are you talking about ? Also, beware that ICC uses by<br>default some flags which are potentially dangerous (I don't know if this<br>is true anymore, but ICC used to use the equivalent of --ffast-math of
<br>gcc by default:<br><a href="http://david.monniaux.free.fr/dotclear/index.php/2006/03/17/4-l-art-de-calculer-le-minimum-de-deux-nombres">http://david.monniaux.free.fr/dotclear/index.php/2006/03/17/4-l-art-de-calculer-le-minimum-de-deux-nombres
</a>).<br>For libraries like atlas, I don't think there will be a huge difference<br>between ICC and gcc; if you use the mkl, then you don't care :)</blockquote><div><br><br>My libraries on manifold learning ;) There is difference in performance because of the -ipo and -xP flags.
<br>I have to install the MKL, I just compiled Python from the svn trunk yesterday.<br> <br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
> This would mean building every other modules added - numpy, scipy,<br>> matplotlib, wxPython, ... -, doable, but I'd prefer not to do it, but<br>> if it is not possible, I would have to live with it...<br>I think it is important to separate different issues: object code
<br>compatibility, runtime compatibility, etc... Those are different issues.<br>First, mixing ICC compiled code and gcc code *has* to be possible (I<br>have never tried), otherwise, I don't see much use for it under linux.
</blockquote><div><br><br>Exactly. They are binary compatible (C and C++), they use the same headers, ... it has to be possible. Well, it is possible with numpy.distutils, it only missed to link with stdc++... but no specific compiler options :(
<br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Then you have the problem of runtime services: I really doubt that ICC<br>
runtime is not compatible with gcc, and more globally with the GNU<br>runtime (glibc, etc...); actually, ICC used to use the "standard" linux<br>runtime, and I would be surprised if that changed.</blockquote><div>
<br><br>As I said, _my_ problem is that I'd like specific compiler options.<br> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
To say it simply: on linux at least, what should matter is whether the<br>runtime services are compatible (on windows, it looks like they are not:<br>official python is compiled with visual studio 2003, and you cannot use
<br>VS 2005; note that mingw seems to work).</blockquote></div><br><br>Some people reported that it is possible. The only catch seems to be that everything allocated with a runtime should be destroyed by the same allocator.
<br><br>Matthieu<br><br>