octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PATH: default fortran naming scheme when using F2C


From: Michael Goffioul
Subject: Re: PATH: default fortran naming scheme when using F2C
Date: Thu, 07 Dec 2006 07:47:54 +0100
User-agent: Thunderbird 1.5.0.8 (Windows/20061025)

[Sorry, I thought I had pushed the "Reply All" button.]

This is not due to g77, but to MSVC, which changed the way it handles DLL. This is the MS response to the DLL versioning problem (DLL hell). When used with the -MD flag,
MSVC now links the code to MSVCR80.DLL. MSVCRT.DLL is now intended to be
used as private API by MS. The problem is that those libraries have their own internal state variables and mixing both can produce wrong results (for instance passing a FILE*
object between MSVCRT.DLL and MSVCR80.DLL makes the program to crash, I
experience this with a precompiled FFTW).

In the end, I don't like this new Run-Time library stuff, but there's not way to make MSVC8 to use MSVCRT.DLL instead of MSVCR80.DLL. I don't know how difficult it would be to make g77 use MSVCR80.DLL, but I fear it wouldn't be easy (or a good idea).

Michael.

John W. Eaton a écrit :
Will you please reply to the list?  Others might also want to know.
Can you also say whether the difference in linking is due to the way
g77 is built?  Can it be compiled so that it will link against the
same system library?

Thanks,

jwe

On  7-Dec-2006, Michael Goffioul wrote:

| John W. Eaton a écrit :
| > On 30-Nov-2006, address@hidden wrote:
| >
| > | The following patch uses a default fortran naming scheme when using f2c. 
This allows to compile octave against f2c'ed versions of BLAS and LAPACK (which 
I'm using now).
| >
| > I made this change.
| >
| > Why not use g77?  Isn't that available for Winows using MSYS?
| > | | Yes, it is. However, g77 will link code against MSVCRT.DLL, while MSVC | will link code | against MSVCR80.DLL. Mixing both is not advised (I tried that with a | precompiled ZLIB | against MSVCRT.DLL and it really produced weird results). For safety, I | prefer to compile
| everything with the same compiler and library set.
| | Michael. |





reply via email to

[Prev in Thread] Current Thread [Next in Thread]