[vtkusers] incorrect shared library names using cmake-gui with MSYS or MINGW32.

André Prins a.h.prins at gmail.com
Thu Jul 29 19:05:59 EDT 2010


Hello Jim,

To answer your question: Yes, I experience something similar, but with
the python-wrapping when building with MinGW. When I first build Vtk
(with Python wrapping), I get a successful build. But, when I then
continue with 'make install', I get the following error for each
vtk-library:

	error: can't copy
'C:\Development\Temp\vtk\build\bin\vtkCommonPython.pyd': doesn't exist
or not a regular file running install_data

Similar to your situation, the install-script tries to copy a
vtkCommonPython.pyd file, whereas only libvtkCommonPython.pyd (with
the lib-prefix) is available. Because the installation proceeds and
all the other files are correctly installed, I used to solve this
issues by manually copying all the pyd files to my install-directory
and have never experienced any problems with them.

I noticed that there is only a single mingw dashboard for Vtk. Given
some other small problems I have had with Vtk and MinGW in the past, I
sometimes wonder if Vtk with MinGW is commonly tested.

Regards,
Andre


On Wed, Jul 28, 2010 at 2:32 PM, Jim Peterson <jimcp at cox.net> wrote:
> All,
> I had used VTK in the mid 90's from java applications on a WIN98 platform
> using the Borland 4 compiler to prepare the VTKJAVA.DLL and required shared
> libraries. I am now attempting to build VTK 5.6.0 using mingw with or
> without Eclipse to do similar processing. My problem is the CMAKE makefiles
> appear to generate DLL names prefixed with "lib" for both the Java interface
> DLLs and shared libraries that the Java DLLs use. It appears the generated
> logic in the Java DLL/s is attempting to load libraries without the lib
> prefix. and if I rename all of the output libraries, some (presumably linker
> references) are mis matched.
>
> To clarify the issue, I can use the CMAKE-GUI to specify shared libraries
> and Java wrappers for the downloaded source. I have specified both MSYS and
> MINGW32 with the same result. in all cases the documentation and java
> examples appear to expect windows output libraries named like vtkCommon.dll
> and vtkCommonJava.dll. what I am getting from the CMAKE-GUI Generate is
> libvtkCommon.dll and libvtkCommonJava.dll. The effect appears to be a mix of
> both the UNIX style lib prefix on the name and the Win32 .dll suffix.
>
> I did try changing the  java System.loadLibrary parameter from
> "vtkCommonJava" to "libvtkCommonJava.dll, but this then failed to load the
> internal functions vtkCommon.dll. I tried renaming libvtkCommon.dll to
> vtkCommon.dll (et al) and got a VTKINIT null pointer exception. I suspect
> all this is the result of the naming mismatch.
>
> Has anyone experienced something similar? I did look briefly at the
> dashboards, and I cannot see where the win32 wrappers generated using MSYS
> or MINGW32 are actually tested with java, so this may have been a windows
> wrapper problem, however, the fact that the shared libraries are also
> misnamed may mean the Visual Studio output is correct and only the GNU
> compiler output is affected.
>
> Thanks for any insight.
> Jim Peterson
> _______________________________________________
> Powered by 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 VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>



More information about the vtkusers mailing list