MantisBT - VTK
View Issue Details
0002885VTK(No Category)public2006-02-14 14:352016-08-12 09:54
Raffi Enficiaud 
Will Schroeder 
normalmajoralways
closedmoved 
 
 
0002885: Generated "Instantiator" files issue
Comparing the generated vtkCommonInstantiator.cxx files from the release and CVS HEAD versions, the following instances are added to the method vtkCommonInstantiator::ClassInitialize:

vtkBitArrayIterator
vtkDebugLeaksManager
vtkErrorCode
vtkGarbageCollectorManager
vtkIOStream
vtkLargeInteger
vtkOStrStreamWrapper
vtkOStreamWrapper
vtkSmartPointerBase
vtkStdString

leading to a link error (the vtkInstantiatorXXXXNew are not found). This happens also for other libs.
No tags attached.
Issue History
2011-06-16 13:11Zack GalbreathCategory => (No Category)
2016-08-12 09:54Kitware RobotNote Added: 0036828
2016-08-12 09:54Kitware RobotStatusexpired => closed
2016-08-12 09:54Kitware RobotResolutionopen => moved

Notes
(0003742)
Tim Peeters   
2006-02-15 07:37   
I guess it is related (not 100% sure), but I get these errors when compiling VTK-5.0.0 on Windows with MSVC .net 2003:

Build Log
          

------- Build started: Project: vtkCommon, Configuration: Debug|Win32 -------

Command Lines
          

Creating temporary file "d:\TPeeters\VTK5Build\Common\vtkCommon.dir\Debug\RSP000001.rsp" with contents
[
/OUT:"D:\TPeeters\VTK5Build\bin\Debug\vtkCommon.dll" /INCREMENTAL /NOLOGO /LIBPATH:"D:\TPeeters\VTK5Build\bin\Debug" /LIBPATH:"D:\TPeeters\VTK5Build\bin\\" /DLL /DEBUG /PDB:"D:\TPeeters\VTK5Build\bin\Debug\vtkCommon.pdb" /STACK:10000000 /IMPLIB:"D:\TPeeters\VTK5Build\bin\Debug\vtkCommon.lib" /MACHINE:I386 /STACK:10000000 /machine:I386 odbc32.lib odbccp32.lib vtksys.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \TPeeters\VTK5Build\bin\Debug\vtksys.lib
.\vtkCommon.dir\Debug\vtkAbstractArray.obj
.\vtkCommon.dir\Debug\vtkAbstractTransform.obj
.\vtkCommon.dir\Debug\vtkAmoebaMinimizer.obj
.\vtkCommon.dir\Debug\vtkAnimationCue.obj
.\vtkCommon.dir\Debug\vtkAnimationScene.obj
.\vtkCommon.dir\Debug\vtkAssemblyNode.obj
.\vtkCommon.dir\Debug\vtkAssemblyPath.obj
.\vtkCommon.dir\Debug\vtkAssemblyPaths.obj
.\vtkCommon.dir\Debug\vtkBitArray.obj
.\vtkCommon.dir\Debug\vtkBox.obj
.\vtkCommon.dir\Debug\vtkByteSwap.obj
.\vtkCommon.dir\Debug\vtkCallbackCommand.obj
.\vtkCommon.dir\Debug\vtkCharArray.obj
.\vtkCommon.dir\Debug\vtkCollection.obj
.\vtkCommon.dir\Debug\vtkCollectionIterator.obj
.\vtkCommon.dir\Debug\vtkCommand.obj
.\vtkCommon.dir\Debug\vtkContourValues.obj
.\vtkCommon.dir\Debug\vtkCriticalSection.obj
.\vtkCommon.dir\Debug\vtkCylindricalTransform.obj
.\vtkCommon.dir\Debug\vtkDataArray.obj
.\vtkCommon.dir\Debug\vtkDataArrayCollection.obj
.\vtkCommon.dir\Debug\vtkDataArrayCollectionIterator.obj
.\vtkCommon.dir\Debug\vtkDataArraySelection.obj
.\vtkCommon.dir\Debug\vtkDebugLeaks.obj
.\vtkCommon.dir\Debug\vtkDebugLeaksManager.obj
.\vtkCommon.dir\Debug\vtkDirectory.obj
.\vtkCommon.dir\Debug\vtkDoubleArray.obj
.\vtkCommon.dir\Debug\vtkDynamicLoader.obj
.\vtkCommon.dir\Debug\vtkEdgeTable.obj
.\vtkCommon.dir\Debug\vtkErrorCode.obj
.\vtkCommon.dir\Debug\vtkEventForwarderCommand.obj
.\vtkCommon.dir\Debug\vtkExtentSplitter.obj
.\vtkCommon.dir\Debug\vtkExtentTranslator.obj
.\vtkCommon.dir\Debug\vtkFastNumericConversion.obj
.\vtkCommon.dir\Debug\vtkFileOutputWindow.obj
.\vtkCommon.dir\Debug\vtkFloatArray.obj
.\vtkCommon.dir\Debug\vtkFunctionParser.obj
.\vtkCommon.dir\Debug\vtkFunctionSet.obj
.\vtkCommon.dir\Debug\vtkGarbageCollector.obj
.\vtkCommon.dir\Debug\vtkGarbageCollectorManager.obj
.\vtkCommon.dir\Debug\vtkGeneralTransform.obj
.\vtkCommon.dir\Debug\vtkHeap.obj
.\vtkCommon.dir\Debug\vtkHomogeneousTransform.obj
.\vtkCommon.dir\Debug\vtkIOStream.obj
.\vtkCommon.dir\Debug\vtkIdList.obj
.\vtkCommon.dir\Debug\vtkIdListCollection.obj
.\vtkCommon.dir\Debug\vtkIdTypeArray.obj
.\vtkCommon.dir\Debug\vtkIdentityTransform.obj
.\vtkCommon.dir\Debug\vtkImplicitFunction.obj
.\vtkCommon.dir\Debug\vtkImplicitFunctionCollection.obj
.\vtkCommon.dir\Debug\vtkIndent.obj
.\vtkCommon.dir\Debug\vtkInitialValueProblemSolver.obj
.\vtkCommon.dir\Debug\vtkInstantiator.obj
.\vtkCommon.dir\Debug\vtkIntArray.obj
.\vtkCommon.dir\Debug\vtkLargeInteger.obj
.\vtkCommon.dir\Debug\vtkLinearTransform.obj
.\vtkCommon.dir\Debug\vtkLogLookupTable.obj
.\vtkCommon.dir\Debug\vtkLongArray.obj
.\vtkCommon.dir\Debug\vtkLookupTable.obj
.\vtkCommon.dir\Debug\vtkMath.obj
.\vtkCommon.dir\Debug\vtkMatrix4x4.obj
.\vtkCommon.dir\Debug\vtkMatrixToHomogeneousTransform.obj
.\vtkCommon.dir\Debug\vtkMatrixToLinearTransform.obj
.\vtkCommon.dir\Debug\vtkMultiPartExtentTranslator.obj
.\vtkCommon.dir\Debug\vtkMultiThreader.obj
.\vtkCommon.dir\Debug\vtkMutexLock.obj
.\vtkCommon.dir\Debug\vtkOStrStreamWrapper.obj
.\vtkCommon.dir\Debug\vtkOStreamWrapper.obj
.\vtkCommon.dir\Debug\vtkObject.obj
.\vtkCommon.dir\Debug\vtkObjectBase.obj
.\vtkCommon.dir\Debug\vtkObjectFactory.obj
.\vtkCommon.dir\Debug\vtkObjectFactoryCollection.obj
.\vtkCommon.dir\Debug\vtkOldStyleCallbackCommand.obj
.\vtkCommon.dir\Debug\vtkOutputWindow.obj
.\vtkCommon.dir\Debug\vtkOverrideInformation.obj
.\vtkCommon.dir\Debug\vtkOverrideInformationCollection.obj
.\vtkCommon.dir\Debug\vtkParametricBoy.obj
.\vtkCommon.dir\Debug\vtkParametricConicSpiral.obj
.\vtkCommon.dir\Debug\vtkParametricCrossCap.obj
.\vtkCommon.dir\Debug\vtkParametricDini.obj
.\vtkCommon.dir\Debug\vtkParametricEllipsoid.obj
.\vtkCommon.dir\Debug\vtkParametricEnneper.obj
.\vtkCommon.dir\Debug\vtkParametricFigure8Klein.obj
.\vtkCommon.dir\Debug\vtkParametricFunction.obj
.\vtkCommon.dir\Debug\vtkParametricKlein.obj
.\vtkCommon.dir\Debug\vtkParametricMobius.obj
.\vtkCommon.dir\Debug\vtkParametricRandomHills.obj
.\vtkCommon.dir\Debug\vtkParametricRoman.obj
.\vtkCommon.dir\Debug\vtkParametricSuperEllipsoid.obj
.\vtkCommon.dir\Debug\vtkParametricSuperToroid.obj
.\vtkCommon.dir\Debug\vtkParametricTorus.obj
.\vtkCommon.dir\Debug\vtkPerspectiveTransform.obj
.\vtkCommon.dir\Debug\vtkPlane.obj
.\vtkCommon.dir\Debug\vtkPlaneCollection.obj
.\vtkCommon.dir\Debug\vtkPlanes.obj
.\vtkCommon.dir\Debug\vtkPoints.obj
.\vtkCommon.dir\Debug\vtkPriorityQueue.obj
.\vtkCommon.dir\Debug\vtkProp.obj
.\vtkCommon.dir\Debug\vtkPropCollection.obj
.\vtkCommon.dir\Debug\vtkProperty2D.obj
.\vtkCommon.dir\Debug\vtkQuadric.obj
.\vtkCommon.dir\Debug\vtkReferenceCount.obj
.\vtkCommon.dir\Debug\vtkRungeKutta2.obj
.\vtkCommon.dir\Debug\vtkRungeKutta4.obj
.\vtkCommon.dir\Debug\vtkRungeKutta45.obj
.\vtkCommon.dir\Debug\vtkScalarsToColors.obj
.\vtkCommon.dir\Debug\vtkShortArray.obj
.\vtkCommon.dir\Debug\vtkSignedCharArray.obj
.\vtkCommon.dir\Debug\vtkSmartPointerBase.obj
.\vtkCommon.dir\Debug\vtkSphericalTransform.obj
.\vtkCommon.dir\Debug\vtkStdString.obj
.\vtkCommon.dir\Debug\vtkStringArray.obj
.\vtkCommon.dir\Debug\vtkStructuredData.obj
.\vtkCommon.dir\Debug\vtkStructuredVisibilityConstraint.obj
.\vtkCommon.dir\Debug\vtkTableExtentTranslator.obj
.\vtkCommon.dir\Debug\vtkTensor.obj
.\vtkCommon.dir\Debug\vtkThreadMessager.obj
.\vtkCommon.dir\Debug\vtkTimeStamp.obj
.\vtkCommon.dir\Debug\vtkTimerLog.obj
.\vtkCommon.dir\Debug\vtkTransform.obj
.\vtkCommon.dir\Debug\vtkTransformCollection.obj
.\vtkCommon.dir\Debug\vtkUnsignedCharArray.obj
.\vtkCommon.dir\Debug\vtkUnsignedIntArray.obj
.\vtkCommon.dir\Debug\vtkUnsignedLongArray.obj
.\vtkCommon.dir\Debug\vtkUnsignedShortArray.obj
.\vtkCommon.dir\Debug\vtkVersion.obj
.\vtkCommon.dir\Debug\vtkVoidArray.obj
.\vtkCommon.dir\Debug\vtkWarpTransform.obj
.\vtkCommon.dir\Debug\vtkWindow.obj
.\vtkCommon.dir\Debug\vtkWindowLevelLookupTable.obj
.\vtkCommon.dir\Debug\vtkXMLFileOutputWindow.obj
.\vtkCommon.dir\Debug\vtkLongLongArray.obj
.\vtkCommon.dir\Debug\vtkUnsignedLongLongArray.obj
.\vtkCommon.dir\Debug\vtkTypeInt8Array.obj
.\vtkCommon.dir\Debug\vtkTypeInt16Array.obj
.\vtkCommon.dir\Debug\vtkTypeInt32Array.obj
.\vtkCommon.dir\Debug\vtkTypeInt64Array.obj
.\vtkCommon.dir\Debug\vtkTypeUInt8Array.obj
.\vtkCommon.dir\Debug\vtkTypeUInt16Array.obj
.\vtkCommon.dir\Debug\vtkTypeUInt32Array.obj
.\vtkCommon.dir\Debug\vtkTypeUInt64Array.obj
.\vtkCommon.dir\Debug\vtkTypeFloat32Array.obj
.\vtkCommon.dir\Debug\vtkTypeFloat64Array.obj
.\vtkCommon.dir\Debug\vtkWin32OutputWindow.obj
.\vtkCommon.dir\Debug\vtkWin32ProcessOutputWindow.obj
.\vtkCommon.dir\Debug\vtkWin32OutputWindowProcessEncoded.obj
.\vtkCommon.dir\Debug\vtkCommonInstantiator.obj
]
Creating command line "link.exe @d:\TPeeters\VTK5Build\Common\vtkCommon.dir\Debug\RSP000001.rsp"

Output Window
          

Linking...
   Creating library D:\TPeeters\VTK5Build\bin\Debug\vtkCommon.lib and object D:\TPeeters\VTK5Build\bin\Debug\vtkCommon.exp
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkStdStringNew(void)" (?vtkInstantiatorvtkStdStringNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkSmartPointerBaseNew(void)" (?vtkInstantiatorvtkSmartPointerBaseNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkOStreamWrapperNew(void)" (?vtkInstantiatorvtkOStreamWrapperNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkOStrStreamWrapperNew(void)" (?vtkInstantiatorvtkOStrStreamWrapperNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkLargeIntegerNew(void)" (?vtkInstantiatorvtkLargeIntegerNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkIOStreamNew(void)" (?vtkInstantiatorvtkIOStreamNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkGarbageCollectorManagerNew(void)" (?vtkInstantiatorvtkGarbageCollectorManagerNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkErrorCodeNew(void)" (?vtkInstantiatorvtkErrorCodeNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkDebugLeaksManagerNew(void)" (?vtkInstantiatorvtkDebugLeaksManagerNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
D:\TPeeters\VTK5Build\bin\Debug\vtkCommon.dll : fatal error LNK1120: 9 unresolved externals

Results
          

Build log was saved at "file://d:\TPeeters\VTK5Build\Common\vtkCommon.dir\Debug\BuildLog.htm" [^]
vtkCommon - 10 error(s), 0 warning(s)

I used the standard options in CMake, but I also tried to compile dynamic libraries and some other parameters, all with the same results.
(0003743)
Tim Peeters   
2006-02-15 09:00   
I tried the same VTK 5.0.0 with the same CMake (2.2.3) and MSVC (.net) on a different computer and it works there. The PC where it works does not have lines like:
extern vtkObject* vtkInstantiatorvtkStdStringNew();
where the PC where it does not compile does have these.

Copying the vtkCommonInstantiator.cxx from the working PC to the non-working PC does not fix the problem, but gives these errors when recompiling vtkCommon:

   Creating library D:\TPeeters\VTK5Build\bin\Debug\vtkCommon.lib and object D:\TPeeters\VTK5Build\bin\Debug\vtkCommon.exp
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkStdStringNew(void)" (?vtkInstantiatorvtkStdStringNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkSmartPointerBaseNew(void)" (?vtkInstantiatorvtkSmartPointerBaseNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkOStreamWrapperNew(void)" (?vtkInstantiatorvtkOStreamWrapperNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkOStrStreamWrapperNew(void)" (?vtkInstantiatorvtkOStrStreamWrapperNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkLargeIntegerNew(void)" (?vtkInstantiatorvtkLargeIntegerNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkIOStreamNew(void)" (?vtkInstantiatorvtkIOStreamNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkGarbageCollectorManagerNew(void)" (?vtkInstantiatorvtkGarbageCollectorManagerNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkErrorCodeNew(void)" (?vtkInstantiatorvtkErrorCodeNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
vtkCommonInstantiator.obj : error LNK2019: unresolved external symbol "class vtkObject * __cdecl vtkInstantiatorvtkDebugLeaksManagerNew(void)" (?vtkInstantiatorvtkDebugLeaksManagerNew@@YAPAVvtkObject@@XZ) referenced in function "private: static void __cdecl vtkCommonInstantiator::ClassInitialize(void)" (?ClassInitialize@vtkCommonInstantiator@@CAXXZ)
D:\TPeeters\VTK5Build\bin\Debug\vtkCommon.dll : fatal error LNK1120: 9 unresolved externals
(0003744)
Tim Peeters   
2006-02-15 09:05   
Correction: I did not use the "working" vtkCommonInstantiator.cxx on the PC where it does not work. When I compile the not-working vtkCommonInstantiator.cxx is re-created.
(0003745)
Tim Peeters   
2006-02-15 10:39   
Oke I got it to compile. The problem seems to be the name of the directory that contains the VTK source (!!!). VTK-5.0.0 did not work, and vtk5 did work. So I guess something goes wrong if you have a dot (or dash?) in your filename.
(0003746)
Raffi Enficiaud   
2006-02-15 12:39   
I confirm the last post. I changed my VTK repository from
"D:\External Libs\VTK 5.0.0 CVS"
to
"D:\External Libs\VTK_5_0_0_CVS"

and it seems that the generated vtkCommonInstantiator.cxx doesnt containt the erroneous classes anymore.

But I just cannot figure out where I should look to track the bug down. Notice that the directory
"D:\External Libs\vtk-5.0.0"
works fine also.
(0036828)
Kitware Robot   
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.