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-boun...@open-mpi.org [users-boun...@open-mpi.org] on behalf of Damien Hocking [dam...@khubla.com]
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
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users

_______________________________________________
users mailing list
us...@open-mpi.org
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.bo...@auckland.ac.nz
(64-9) 373-7599 Ext. 87030

Reply via email to