AsiAlgo failed to compile with vtk9.2

vispec dmis

Looking around for some CAD
Hello,

Is there a version requirement for vtk in AnalysisSitus program compilation? I failed to compile using vtk9.2 on the asiAlgo project. Compiling with the default vtk8.2 is good. I don't know how to solve this problem. Is there any kind-hearted person who can give me some advice. I checked my project configuration and it should be okay.


The meaning of error is unresolved external symbol and The symbol is referenced in the function.
 

Attachments

  • 1688029645926.png
    1688029645926.png
    142 KB · Views: 4

Quaoar

Administrator
Staff member
Hello @vispec dmis and welcome to the forum. I'm sorry to disappoint you, but Analysis Situs would not compile on VTK versions other from VTK-8.2 without additional effort. The reason why it's so is a bunch of regressions in VTK graphs that we use heavily. One option is to make VTK dependency optional for "Algo" (SDK) type of build but this would require patching the sources/cmake lists.
 

vispec dmis

Looking around for some CAD
Hello @vispec dmis and welcome to the forum. I'm sorry to disappoint you, but Analysis Situs would not compile on VTK versions other from VTK-8.2 without additional effort. The reason why it's so is a bunch of regressions in VTK graphs that we use heavily. One option is to make VTK dependency optional for "Algo" (SDK) type of build but this would require patching the sources/cmake lists.
This is very strange. I can successfully compile the asiAlgo project with a lower version of vtk6.1, while a higher version of vtk9.2 cannot. It's hard to understand.
 
Last edited:

Quaoar

Administrator
Staff member
Nope, this VTK dependency is due to Analysis Situs, not OpenCascade. You can compile OpenCascade without VTK support, and it should work.
 

Quaoar

Administrator
Staff member
BTW, in the repo of Analysis Situs, you can find a Dockerfile and use just the same settings. Since it's CMake-based, the whole process should not differ too much between Linux and Windows.
 

vispec dmis

Looking around for some CAD
BTW, in the repo of Analysis Situs, you can find a Dockerfile and use just the same settings. Since it's CMake-based, the whole process should not differ too much between Linux and Windows.
I guess it may be due to internal reasons in the new version of vtk. I used vtk6.1 and vtk8.2 to compile successfully, but later versions of vtk9.2 will appear after compilation __declspec (dllimport) error.
 

JSlyadne

Administrator
Staff member
I guess it may be due to internal reasons in the new version of vtk. I used vtk6.1 and vtk8.2 to compile successfully, but later versions of vtk9.2 will appear after compilation __declspec (dllimport) error.
VTK is evolving project, and so its API can vary from version to version, what means that the projects relying on this library should be properly updated to use API coming with upgraded VTK. If ASitus's compilation is broken with vtk9.2, it means that ASitus should be updated according to the changed have been done in VTK. It's an absolutely normal way of things, so do not hesitate to patch ASitus to support vtk9.2.
 

Quaoar

Administrator
Staff member
it means that ASitus should be updated according to the changed have been done in VTK.
That is hardly possible without extensive manual testing. I mean, compilation can be achieved without too much effort, but after that (at least on VTK 9.0) I started to see random crashes here and there, many of those related to shaders (when rendering edges as tubes). Also, graph rendering was another source of crashes. Migration to the newest VTK version is not a little thing, and, to be honest, I see no value in such migration since we are not chasing latest VTK features (is there anything we wanna take from it?)
 
Top