Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Linking failure on Windows
From: Gib Bogle (g.bogle_at_[hidden])
Date: 2012-10-02 16:25:58


Hi Shiqing,

Your post made me realize my mistake! I was thinking only of the preprocessor
definitions for compiling cvAdvDiff_non_p.c, forgetting about the previously
built library sundials_nvecparallel.lib, which is of course where
nvector_parallel.c was compiled. When I rebuild that library with OMPI_IMPORTS
my problem disappears.

Thanks Shiqing, and sorry Damien!

Gib

On 3/10/2012 4:02 a.m., Shiqing Fan wrote:
> Hi Gib,
>
> Actually, I also think defining OMPI_IMPORTS would solve the problem. And I
> also double checked the released binaries and the source code, those symbols
> are surely exported. So I'm now really confused.
>
> Gib, do you know how to generate preprocessor files in VS 2005? It should be
> one option under the C/C++ settings of the project. If you can provide me the
> preprocessor file of nvector_parallel.c, it would be helpful to find out the
> problem.
>
>
> Regards,
> Shiqing
>
>
> On 2012-10-02 8:25 AM, Gib Bogle wrote:
>> They don't make any difference. I had them in, but dropped them when I found
>> that the mpicc build didn't need them.
>>
>> Gib
>> ________________________________________
>> From: users-bounces_at_[hidden] [users-bounces_at_[hidden]] on behalf of
>> Damien Hocking [damien_at_[hidden]]
>> Sent: Tuesday, 2 October 2012 7:21 p.m.
>> To: Open MPI Users
>> Subject: Re: [OMPI users] Linking failure on Windows
>>
>> There's two imports missing from there, OPAL_IMPORTS and ORTE_IMPORTS.
>> That might be part of it.
>>
>> Damien
>>
>> On 01/10/2012 10:20 PM, Gib Bogle wrote:
>>> I guess it's conceivable that one of these Sundials include files is
>>> doing something:
>>>
>>> #include <cvode/cvode.h> /* prototypes for CVODE
>>> fcts. */
>>> #include <nvector/nvector_parallel.h> /* definition of N_Vector and
>>> macros /
>>> #include <sundials/sundials_types.h> /* definition of realtype /
>>> #include <sundials/sundials_math.h> /* definition of EXP */
>>>
>>> I am a complete beginner with Sundials, so I have no idea how it might
>>> interfere with the preprocessor definitions.
>>>
>>> Here is the compile command line from VS:
>>>
>>> /O2 /Ob2 /I "E:\sundials-2.5.0\include" /I "E:\Sundials-Win32\include"
>>> /I "c:\Program Files (x86)\OpenMPI_v1.6.2-win32\include" /D "WIN32" /D
>>> "_WINDOWS" /D "NDEBUG" /D "OMPI_IMPORTS" /D "_CRT_SECURE_NO_WARNINGS"
>>> /D "CMAKE_INTDIR=\"Release\"" /D "_MBCS" /FD /MD
>>> /Fo"cvAdvDiff_non_p.dir\Release\\"
>>> /Fd"E:\Sundials-Win32\examples\cvode\parallel\Release/cvAdvDiff_non_p.pdb"
>>> /W3 /c /TC /errorReport:prompt
>>>
>>> Gib
>>>
>>>
>>> On 2/10/2012 5:06 p.m., Damien Hocking wrote:
>>>> So mpicc builds it completely? The only thing I can think of is look
>>>> closely at both the compile and link command lines and see what's
>>>> different. It might be going sideways at the compile from something
>>>> in an include with a preprocessor def.
>>>>
>>>> Damien
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>
>

-- 
Dr. Gib Bogle
Senior Research Fellow
Auckland Bioengineering Institute
University of Auckland
New Zealand
http://www.bioeng.auckland.ac.nz
g.bogle_at_[hidden]
(64-9) 373-7599 Ext. 87030