| View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0002952 | VTK | (No Category) | public | 2006-03-10 13:01 | 2016-08-12 09:54 | ||||
| Reporter | John O'Hara | ||||||||
| Assigned To | Brad King | ||||||||
| Priority | normal | Severity | minor | Reproducibility | always | ||||
| Status | closed | Resolution | moved | ||||||
| Platform | OS | OS Version | |||||||
| Product Version | |||||||||
| Target Version | Fixed in Version | ||||||||
| Summary | 0002952: vtk + java fails to build using MinGW | ||||||||
| Description | I was attempting to build VTK + Java wrappings in MinGW. The build fails when compiling Common/vtkJavaUtil.cxx because the file mapiform.h is not available. I believe this is a Microsoft Visual Studio-specific header file, which is not available to MinGW. I has, as of yet, not been able to find a workaround for this problem. | ||||||||
| Tags | No tags attached. | ||||||||
| Project | |||||||||
| Type | |||||||||
| Attached Files | |||||||||
| Relationships | |
| Relationships |
| Notes | |
|
(0003863) John O'Hara (reporter) 2006-03-14 15:07 |
Addendum: Commenting out the offending #include leads to the following error report: Linking CXX shared library ../bin/libvtkCommonJava.dll CMakeFiles/vtkCommonJava.dir/vtkCharArrayJava.obj(.text$_ZN12vtkCharArray13GetTupleValueEiPc[vtkCharArray::GetTupleValue(int, char*)]+0x1b):vtkCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<char>::GetTupleValue(int, char*)' CMakeFiles/vtkCommonJava.dir/vtkCharArrayJava.obj(.text$_ZN12vtkCharArray13SetTupleValueEiPKc[vtkCharArray::SetTupleValue(int, char const*)]+0x1b):vtkCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<char>::SetTupleValue(int, char const*)' CMakeFiles/vtkCommonJava.dir/vtkCharArrayJava.obj(.text$_ZN12vtkCharArray16InsertTupleValueEiPKc[vtkCharArray::InsertTupleValue(int, char const*)]+0x1b):vtkCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<char>::InsertTupleValue(int, char const*)' CMakeFiles/vtkCommonJava.dir/vtkCharArrayJava.obj(.text$_ZN12vtkCharArray20InsertNextTupleValueEPKc[vtkCharArray::InsertNextTupleValue(char const*)]+0x14):vtkCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<char>::InsertNextTupleValue(char const*)' CMakeFiles/vtkCommonJava.dir/vtkCharArrayJava.obj(.text$_ZN12vtkCharArray17SetNumberOfValuesEi[vtkCharArray::SetNumberOfValues(int)]+0x14):vtkCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<char>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkCharArrayJava.obj(.text$_ZN12vtkCharArray11InsertValueEic[vtkCharArray::InsertValue(int, char)]+0x22):vtkCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<char>::InsertValue(int, char)' CMakeFiles/vtkCommonJava.dir/vtkCharArrayJava.obj(.text$_ZN12vtkCharArray15InsertNextValueEc[vtkCharArray::InsertNextValue(char)]+0x1b):vtkCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<char>::InsertNextValue(char)' CMakeFiles/vtkCommonJava.dir/vtkCharArrayJava.obj(.text$_ZN12vtkCharArray12WritePointerEii[vtkCharArray::WritePointer(int, int)]+0x1b):vtkCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<char>::WritePointer(int, int)' CMakeFiles/vtkCommonJava.dir/vtkCharArrayJava.obj(.text$_ZN12vtkCharArray8SetArrayEPcii[vtkCharArray::SetArray(char*, int, int)]+0x22):vtkCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<char>::SetArray(char*, int, int)' CMakeFiles/vtkCommonJava.dir/vtkDoubleArrayJava.obj(.text$_ZN14vtkDoubleArray17SetNumberOfValuesEi[vtkDoubleArray::SetNumberOfValues(int)]+0x14):vtkDoubleArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<double>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkDoubleArrayJava.obj(.text$_ZN14vtkDoubleArray11InsertValueEid[vtkDoubleArray::InsertValue(int, double)]+0x1b):vtkDoubleArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<double>::InsertValue(int, double)' CMakeFiles/vtkCommonJava.dir/vtkDoubleArrayJava.obj(.text$_ZN14vtkDoubleArray15InsertNextValueEd[vtkDoubleArray::InsertNextValue(double)]+0x14):vtkDoubleArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<double>::InsertNextValue(double)' CMakeFiles/vtkCommonJava.dir/vtkFloatArrayJava.obj(.text$_ZN13vtkFloatArray17SetNumberOfValuesEi[vtkFloatArray::SetNumberOfValues(int)]+0x14):vtkFloatArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<float>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkFloatArrayJava.obj(.text$_ZN13vtkFloatArray11InsertValueEif[vtkFloatArray::InsertValue(int, float)]+0x1b):vtkFloatArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<float>::InsertValue(int, float)' CMakeFiles/vtkCommonJava.dir/vtkFloatArrayJava.obj(.text$_ZN13vtkFloatArray15InsertNextValueEf[vtkFloatArray::InsertNextValue(float)]+0x14):vtkFloatArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<float>::InsertNextValue(float)' CMakeFiles/vtkCommonJava.dir/vtkIdTypeArrayJava.obj(.text$_ZN14vtkIdTypeArray17SetNumberOfValuesEi[vtkIdTypeArray::SetNumberOfValues(int)]+0x14):vtkIdTypeArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<int>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkIdTypeArrayJava.obj(.text$_ZN14vtkIdTypeArray11InsertValueEii[vtkIdTypeArray::InsertValue(int, int)]+0x1b):vtkIdTypeArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<int>::InsertValue(int, int)' CMakeFiles/vtkCommonJava.dir/vtkIdTypeArrayJava.obj(.text$_ZN14vtkIdTypeArray15InsertNextValueEi[vtkIdTypeArray::InsertNextValue(int)]+0x14):vtkIdTypeArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<int>::InsertNextValue(int)' CMakeFiles/vtkCommonJava.dir/vtkIntArrayJava.obj(.text$_ZN11vtkIntArray17SetNumberOfValuesEi[vtkIntArray::SetNumberOfValues(int)]+0x14):vtkIntArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<int>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkIntArrayJava.obj(.text$_ZN11vtkIntArray11InsertValueEii[vtkIntArray::InsertValue(int, int)]+0x1b):vtkIntArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<int>::InsertValue(int, int)' CMakeFiles/vtkCommonJava.dir/vtkIntArrayJava.obj(.text$_ZN11vtkIntArray15InsertNextValueEi[vtkIntArray::InsertNextValue(int)]+0x14):vtkIntArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<int>::InsertNextValue(int)' CMakeFiles/vtkCommonJava.dir/vtkLongArrayJava.obj(.text$_ZN12vtkLongArray17SetNumberOfValuesEi[vtkLongArray::SetNumberOfValues(int)]+0x14):vtkLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<long>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkLongArrayJava.obj(.text$_ZN12vtkLongArray11InsertValueEil[vtkLongArray::InsertValue(int, long)]+0x1b):vtkLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<long>::InsertValue(int, long)' CMakeFiles/vtkCommonJava.dir/vtkLongArrayJava.obj(.text$_ZN12vtkLongArray15InsertNextValueEl[vtkLongArray::InsertNextValue(long)]+0x14):vtkLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<long>::InsertNextValue(long)' CMakeFiles/vtkCommonJava.dir/vtkShortArrayJava.obj(.text$_ZN13vtkShortArray17SetNumberOfValuesEi[vtkShortArray::SetNumberOfValues(int)]+0x14):vtkShortArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<short>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkShortArrayJava.obj(.text$_ZN13vtkShortArray11InsertValueEis[vtkShortArray::InsertValue(int, short)]+0x23):vtkShortArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<short>::InsertValue(int, short)' CMakeFiles/vtkCommonJava.dir/vtkShortArrayJava.obj(.text$_ZN13vtkShortArray15InsertNextValueEs[vtkShortArray::InsertNextValue(short)]+0x1c):vtkShortArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<short>::InsertNextValue(short)' CMakeFiles/vtkCommonJava.dir/vtkSignedCharArrayJava.obj(.text$_ZN18vtkSignedCharArray17SetNumberOfValuesEi[vtkSignedCharArray::SetNumberOfValues(int)]+0x14):vtkSignedCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<signed char>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkSignedCharArrayJava.obj(.text$_ZN18vtkSignedCharArray11InsertValueEia[vtkSignedCharArray::InsertValue(int, signed char)]+0x22):vtkSignedCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<signed char>::InsertValue(int, signed char)' CMakeFiles/vtkCommonJava.dir/vtkSignedCharArrayJava.obj(.text$_ZN18vtkSignedCharArray15InsertNextValueEa[vtkSignedCharArray::InsertNextValue(signed char)]+0x1b):vtkSignedCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<signed char>::InsertNextValue(signed char)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedCharArrayJava.obj(.text$_ZN20vtkUnsignedCharArray17SetNumberOfValuesEi[vtkUnsignedCharArray::SetNumberOfValues(int)]+0x14):vtkUnsignedCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned char>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedCharArrayJava.obj(.text$_ZN20vtkUnsignedCharArray11InsertValueEih[vtkUnsignedCharArray::InsertValue(int, unsigned char)]+0x22):vtkUnsignedCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned char>::InsertValue(int, unsigned char)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedCharArrayJava.obj(.text$_ZN20vtkUnsignedCharArray15InsertNextValueEh[vtkUnsignedCharArray::InsertNextValue(unsigned char)]+0x1b):vtkUnsignedCharArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned char>::InsertNextValue(unsigned char)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedIntArrayJava.obj(.text$_ZN19vtkUnsignedIntArray17SetNumberOfValuesEi[vtkUnsignedIntArray::SetNumberOfValues(int)]+0x14):vtkUnsignedIntArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned int>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedIntArrayJava.obj(.text$_ZN19vtkUnsignedIntArray11InsertValueEij[vtkUnsignedIntArray::InsertValue(int, unsigned int)]+0x1b):vtkUnsignedIntArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned int>::InsertValue(int, unsigned int)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedIntArrayJava.obj(.text$_ZN19vtkUnsignedIntArray15InsertNextValueEj[vtkUnsignedIntArray::InsertNextValue(unsigned int)]+0x14):vtkUnsignedIntArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned int>::InsertNextValue(unsigned int)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedLongArrayJava.obj(.text$_ZN20vtkUnsignedLongArray17SetNumberOfValuesEi[vtkUnsignedLongArray::SetNumberOfValues(int)]+0x14):vtkUnsignedLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned long>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedLongArrayJava.obj(.text$_ZN20vtkUnsignedLongArray11InsertValueEim[vtkUnsignedLongArray::InsertValue(int, unsigned long)]+0x1b):vtkUnsignedLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned long>::InsertValue(int, unsigned long)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedLongArrayJava.obj(.text$_ZN20vtkUnsignedLongArray15InsertNextValueEm[vtkUnsignedLongArray::InsertNextValue(unsigned long)]+0x14):vtkUnsignedLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned long>::InsertNextValue(unsigned long)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedShortArrayJava.obj(.text$_ZN21vtkUnsignedShortArray17SetNumberOfValuesEi[vtkUnsignedShortArray::SetNumberOfValues(int)]+0x14):vtkUnsignedShortArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned short>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedShortArrayJava.obj(.text$_ZN21vtkUnsignedShortArray11InsertValueEit[vtkUnsignedShortArray::InsertValue(int, unsigned short)]+0x23):vtkUnsignedShortArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned short>::InsertValue(int, unsigned short)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedShortArrayJava.obj(.text$_ZN21vtkUnsignedShortArray15InsertNextValueEt[vtkUnsignedShortArray::InsertNextValue(unsigned short)]+0x1c):vtkUnsignedShortArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned short>::InsertNextValue(unsigned short)' CMakeFiles/vtkCommonJava.dir/vtkLongLongArrayJava.obj(.text$_ZN16vtkLongLongArray17SetNumberOfValuesEi[vtkLongLongArray::SetNumberOfValues(int)]+0x14):vtkLongLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<long long>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkLongLongArrayJava.obj(.text$_ZN16vtkLongLongArray11InsertValueEix[vtkLongLongArray::InsertValue(int, long long)]+0x22):vtkLongLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<long long>::InsertValue(int, long long)' CMakeFiles/vtkCommonJava.dir/vtkLongLongArrayJava.obj(.text$_ZN16vtkLongLongArray15InsertNextValueEx[vtkLongLongArray::InsertNextValue(long long)]+0x1b):vtkLongLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<long long>::InsertNextValue(long long)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedLongLongArrayJava.obj(.text$_ZN24vtkUnsignedLongLongArray17SetNumberOfValuesEi[vtkUnsignedLongLongArray::SetNumberOfValues(int)]+0x14):vtkUnsignedLongLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned long long>::SetNumberOfValues(int)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedLongLongArrayJava.obj(.text$_ZN24vtkUnsignedLongLongArray11InsertValueEiy[vtkUnsignedLongLongArray::InsertValue(int, unsigned long long)]+0x22):vtkUnsignedLongLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned long long>::InsertValue(int, unsigned long long)' CMakeFiles/vtkCommonJava.dir/vtkUnsignedLongLongArrayJava.obj(.text$_ZN24vtkUnsignedLongLongArray15InsertNextValueEy[vtkUnsignedLongLongArray::InsertNextValue(unsigned long long)]+0x1b):vtkUnsignedLongLongArrayJava.cxx: undefined reference to `vtkDataArrayTemplate<unsigned long long>::InsertNextValue(unsigned long long)' collect2: ld returned 1 exit status make[2]: *** [bin/libvtkCommonJava.dll] Error 1 make[1]: *** [Common/CMakeFiles/vtkCommonJava.dir/all] Error 2 make: *** [all] Error 2 |
|
(0003864) Mathieu Malaterre (developer) 2006-03-14 15:36 |
I don't think mapiform.h should be included. I'll double check. Thanks. |
|
(0003865) Brad King (developer) 2006-03-14 15:47 |
There is no dashboard entry for VTK on MinGW that uses shared libraries. I've been attempting to resolve the vtkDataArrayTemplate symbol export/import problems you are seeing but have not yet had the time to really nail down a solution. I'll update this bug report when I get that problem solved. |
|
(0003866) John O'Hara (reporter) 2006-03-14 16:01 |
Hint: When setting up CMake using MinGW, you'll need to rename the files CMake creates as <build dir>/CMake/libcmVTK_*.dll to <build dir>/CMake/cmVTK_*.dll in order to get CMake to set up your build project correctly. I'm not sure if this is related to this bug, or a separate bug. You only need to do this if you have BUILD_SHARED_LIBS set to ON. |
|
(0003872) Brad King (developer) 2006-03-16 17:12 |
The vtkDataArrayTemplate problem is due to GCC on MinGW having trouble dllexport-ing explicit template instantiations. I've updated the CMakeLists.txt file at the top of VTK to pass -Wl,--export-all-symbols to avoid the issue. It should be safe to export all symbols from DLLs because VTK works on non-dll platforms where all symbols are exported anyway. I'll have the change merged to the VTK 5.0 branch. The loaded command problem is due to a bug in CMake which I've now fixed in CVS. It was improperly computing the name of shared modules when loading the command on MinGW. CVS CMake has much stronger support for MinGW than previous versions, and it will even bootstrap at an MSys prompt. Please use it when trying to get farther in the build. |
|
(0003909) Mathieu Malaterre (developer) 2006-03-27 16:55 |
Can we close the bug ? |
|
(0003919) Brad King (developer) 2006-03-28 14:51 |
The original problem, the lack of mapiform.h, has not been fixed so we cannot yet close this bug. |
|
(0003927) John O'Hara (reporter) 2006-03-30 10:48 |
Additionally, even after commenting out the mapiform.h call and updating to the latest CVS code, I'm still having some issues. Now, I get the following error when attempting to make $ make Linking CXX shared library ../bin/libvtkRenderingJava.dll c:\mingw\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot fin d -ljawt.lib collect2: ld returned 1 exit status make[2]: *** [bin/libvtkRenderingJava.dll] Error 1 make[1]: *** [Rendering/CMakeFiles/vtkRenderingJava.dir/all] Error 2 make: *** [all] Error 2 For some reason, it can't seem to find the jawt.lib file, even though it is where it is supposed to be. I was going to upgrade CMake to the CVS version also, but I seem to be experiencing connection errors whenever I try to get the new source. I'll try again later today. (FYI, I saw another member of the mailing-list encountered the same problem, no solution as of yet) |
|
(0003928) John O'Hara (reporter) 2006-03-30 10:51 |
Correction: the error message is $ make Linking CXX shared library ../bin/libvtkRenderingJava.dll c:\mingw\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -ljawt.lib collect2: ld returned 1 exit status make[2]: *** [bin/libvtkRenderingJava.dll] Error 1 make[1]: *** [Rendering/CMakeFiles/vtkRenderingJava.dir/all] Error 2 make: *** [all] Error 2 |
|
(0003929) John O'Hara (reporter) 2006-03-30 10:53 |
Let's try this again...$ make Linking CXX shared library ../bin/libvtkRenderingJava.dll c:\mingw\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -ljawt.lib collect2: ld returned 1 exit status make[2]: *** [bin/libvtkRenderingJava.dll] Error 1 make[1]: *** [Rendering/CMakeFiles/vtkRenderingJava.dir/all] Error 2 make: *** [all] Error 2 |
|
(0003931) Brad King (developer) 2006-03-30 11:00 |
Don't worry about the missing backslashes in your bug report. It is a bug in the bug tracker itself which I've reported. You need to use CVS CMake on MinGW as well as CVS VTK. |
|
(0036844) Kitware Robot (administrator) 2016-08-12 09:54 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page. |
| Notes |
| Issue History | |||
| Date Modified | Username | Field | Change |
| 2011-06-16 13:11 | Zack Galbreath | Category | => (No Category) |
| 2016-08-12 09:54 | Kitware Robot | Note Added: 0036844 | |
| 2016-08-12 09:54 | Kitware Robot | Status | expired => closed |
| 2016-08-12 09:54 | Kitware Robot | Resolution | open => moved |
| Issue History |
| Copyright © 2000 - 2018 MantisBT Team |