[Paraview] build ParaView git on Windows7 64bit + MSVC2010 with vtkPythonCore errors

Xunlei Wu xunlei at renci.org
Thu Feb 17 13:38:27 EST 2011


Hi Dave,
Does "VTK_WRAP_PYTHON_SIP" work on MSVC2010? Thanks.
x

From: David Partyka [mailto:david.partyka at kitware.com]
Sent: Wednesday, February 16, 2011 10:42 AM
To: Xunlei Wu
Cc: Robert Maynard; paraview at paraview.org
Subject: Re: [Paraview] build ParaView git on Windows7 64bit + MSVC2010 with vtkPythonCore errors

Hi Xunlei, we just checked in a change into paraview/vtk that should fix this. As you noticed python forces a header link to python27_d.lib when building debug. To get around this (because most python packages for windows don't come with debug python libraries), we undefine _DEBUG, include python.h and then restore _DEBUG.

The problem with this is that any system level headers included from python.h were also effectively included in 'release' mode when we undefined _DEBUG. To work around this we determined the set of headers that python includes and include them before undefining _DEBUG. This seems to address the linking issues. Please give it a try and let us know if you experience any other issues.

http://vtk.org/gitweb?p=VTK.git;a=commitdiff;h=6e345f29bdeafd5fa7c7779cb0aa4e87fe5a8360

Thanks!

On Wed, Feb 16, 2011 at 8:05 AM, Xunlei Wu <xunlei at renci.org<mailto:xunlei at renci.org>> wrote:
Hi David and Rob,
Just want to add another data point.
I have rebuild ParaView from git source with MSVC2008 instead. Everything else is the same with what I was reporting before. Enthought Python 7.0.1 64bit is used. All the python flags in Cmake are turned on. PYTHON_DEBUG_LIBRARY is left empty accompanied with modified C:/Python27/include/pyconfig.h as following, i.e. assigning python27.lib as the debug library instead of default python27_d.lib.

                /* For an MSVC DLL, we can nominate the .lib files used by extensions */
#ifdef MS_COREDLL
#             ifndef Py_BUILD_CORE /* not building the core - must be an ext */
#                             if defined(_MSC_VER)
                                                /* So MSVC users need not specify the .lib file in
                                                their Makefile (other compilers are generally
                                                taken care of by distutils.) */
#                                             ifdef _DEBUG
#                                                             pragma comment(lib,"python27.lib")//"python27_d.lib")
#                                             else
#                                                             pragma comment(lib,"python27.lib")
#                                             endif /* _DEBUG */
#                             endif /* _MSC_VER */
#             endif /* Py_BUILD_CORE */
#endif /* MS_COREDLL */

The entire build went smoothly. And now I have a running (Debug) paraview package! Another interesting thing to be noted is with "VTK_WRAP_PYTHON_SIP". When it is enabled, CMake looks for sip installation in the system. However, current SIP source distribution for windows
http://www.riverbankcomputing.co.uk/software/sip/download
does not have 64bit windows specs. There is only win32-msvc2008 variation as the closest match. That creates a 32bit installation instead. And vtkCommonPythonSIP(D) projects cannot be built due to incompatible libraries...

Best,
x

From: paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org> [mailto:paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org>] On Behalf Of Xunlei Wu
Sent: Tuesday, February 15, 2011 5:05 PM

To: David Partyka
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: Re: [Paraview] build ParaView git on Windows7 64bit + MSVC2010 with vtkPythonCore errors

Hi Dave and All,
I got some progress in terms of building vtkPythonCore. I had Enthought's Python distribution ver 7.0.1 !!!64bit!!! initially. I have verified it is indeed a 64bit Python executable. The package comes with python27.lib and CMake did not blink and automatically set PYTHON_LIBRARY to that lib. However, during building, MSVC2010 kept reporting "python27.lib" cannot be found.
Now, the fun part, I uninstalled Enthought distribution and tried "Python 2.7.1 Windows X86-64 Installer" from
http://www.python.org/getit/
This time, MSVC2010 no longer complained about missing "python27.lib". I am left with errors like

Error    1          error LNK2001: unresolved external symbol __imp__invalid_parameter_noinfo_noreturn            C:\ParaViewGit_VS2010\VTK\Wrapping\Python\vtkPythonUtil.obj           vtkPythonCore

After a bit digging, the error has something to do std::vector. Here are the beginning lines of vtkPythonUtil.cxx

#include "vtkPythonUtil.h"
#include "vtkPythonOverload.h"

#include "vtkSystemIncludes.h"

#include "vtkObject.h"
#include "vtkSmartPointerBase.h"
#include "vtkWeakPointerBase.h"
#include "vtkVariant.h"
#include "vtkStdString.h"
#include "vtkUnicodeString.h"
#include "vtkWindows.h"
#include "vtkToolkits.h"

#include <vtksys/ios/sstream>
#include <vtkstd/map>
#include <vtkstd/vector>
#include <vtkstd/string>
#include <vtkstd/utility>
       ...

After I move "#include <vtkstd/vector>" to the top of the file, POW! vtkPythonCore is successfully built. So I guess #include <vector> in vtkstd/vector.h gets undefined somewhere by those headers listed before it. Not sure whether it is a bug for other people.

x



From: paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org> [mailto:paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org>] On Behalf Of Xunlei Wu
Sent: Sunday, February 13, 2011 7:31 PM
To: David Partyka
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: Re: [Paraview] build ParaView git on Windows7 64bit + MSVC2010 with vtkPythonCore errors

Hi David,
I am out of luck.
Just did a fresh CMake configure with PARAVIEW_ENABLE_PYTHON on and the same PYTHON_LIBRARY value. The errors from MSVC2010. Any other suggestions?
Best,
x

From: David Partyka [mailto:david.partyka at kitware.com<mailto:david.partyka at kitware.com>]
Sent: Sunday, February 13, 2011 4:33 PM
To: Xunlei Wu
Cc: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: Re: [Paraview] build ParaView git on Windows7 64bit + MSVC2010 with vtkPythonCore errors

Hi Xunlei,

What do you have the PYTHON_LIBRARY cmake option set to? If you set that correctly then it should be able to link properly. For example this is what it is set to on my machine.

C:/Support/Python27-x32/libs/python27.lib

On Sun, Feb 13, 2011 at 11:46 AM, Xunlei Wu <xunlei at renci.org<mailto:xunlei at renci.org>> wrote:
Hello,
I am building Paraview from git source on a Windows7 64bit OS with MSVC2010. I have enabled
PARAVIEW_ENABLE_PYTHON and VTKMY_WRAP_PYTHON in my CMake. I also built Python 2.7.1 64bit from source so that I have both python27.lib and python27_d.lib available. However the core python related projects are failed to build in both Debug and Release builds. Then the effects just trickled down like crazy. Below are 3 major errors in Debug build I feel might be the primary errors. And I do link python27_d.lib for all of them. Please see the attached CMakeLists.txt for more details.

Error      6              error LNK1104: cannot open file 'python27.lib'                C:\ParaViewGit\Utilities\VTKPythonWrapping\Executable\LINK               vtkPVPythonInterpretor
Error      5              error LNK1104: cannot open file 'python27.lib'    C:\ParaViewGit\VTK\Wrapping\Python\LINK                vtkPythonCore
Error      3              error LNK1104: cannot open file 'python27.lib'    C:\ParaViewGit\VTK\Wrapping\LINK      vtkWrapPython

Would you please help me? Thanks a lot.

Best,
x

_______________________________________________
Powered by www.kitware.com<http://www.kitware.com>

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20110217/f4c40b17/attachment-0001.htm>


More information about the ParaView mailing list