VTK-7.1.1 can't build from Ubuntu 22.04.1 LTS(aarch64)

environment:Ubuntu 22.04.1 LTS(aarch64),GNU Make 4.3(aarch64-unknown-linux-gnu), gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0.

make report errors:
[ 33%] Linking CXX shared library …/…/lib/libvtkCommonSystem-7.1.so
[ 33%] Building C object ThirdParty/exodusII/vtkexodusII/CMakeFiles/vtkexoIIc.dir/expmap.c.o
[ 33%] Building C object ThirdParty/exodusII/vtkexodusII/CMakeFiles/vtkexoIIc.dir/expmp.c.o
/usr/bin/ld: CMakeFiles/vtkCommonSystem.dir/vtkClientSocket.cxx.o: in function vtkClientSocket::New()': /home/casun/tmp/VTK-7.1.1/Common/System/vtkClientSocket.cxx:19: undefined reference to vtkObjectBase::InitializeObjectBase()’
/usr/bin/ld: CMakeFiles/vtkCommonSystem.dir/vtkClientSocket.cxx.o: in function vtkClientSocket::ConnectToServer(char const*, int)': /home/casun/tmp/VTK-7.1.1/Common/System/vtkClientSocket.cxx:36: undefined reference to vtkObject::GetGlobalWarningDisplay()’

/usr/bin/ld: CMakeFiles/vtkCommonMath.dir/vtkRungeKutta45.cxx.o:(.data.rel.ro._ZTV15vtkRungeKutta45[_ZTV15vtkRungeKutta45]+0x98): undefined reference to vtkObject::DebugOff()' /usr/bin/ld: CMakeFiles/vtkCommonMath.dir/vtkRungeKutta45.cxx.o:(.data.rel.ro._ZTV15vtkRungeKutta45[_ZTV15vtkRungeKutta45]+0xa0): undefined reference to vtkObject::Modified()’
/usr/bin/ld: CMakeFiles/vtkCommonMath.dir/vtkRungeKutta45.cxx.o:(.data.rel.ro._ZTV15vtkRungeKutta45[_ZTV15vtkRungeKutta45]+0xa8): undefined reference to `vtkObject::GetMTime()’
[ 34%] Building C object ThirdParty/exodusII/vtkexodusII/CMakeFiles/vtkexoIIc.dir/expss.c.o
collect2: error: ld returned 1 exit status
make[2]: *** [Common/Math/CMakeFiles/vtkCommonMath.dir/build.make:242:lib/libvtkCommonMath-7.1.so.1] 错误 1
make[1]: *** [CMakeFiles/Makefile2:2769:Common/Math/CMakeFiles/vtkCommonMath.dir/all] 错误 2

Another Ubuntu 20(aarch64),GNU Make 4.2.(aarch64-unknown-linux-gnu), gcc (Ubuntu 9.4.0-19ubuntu1) 9.4.0 is OK.
But this show problem now.
How to do it, can i get some hints or VTK-7.1.1 is not surported on Ubuntu 22.04.1 LTS

Thanks a lot.

is ok.

I’m surprised VTK 7 got that far myself. It’s certainly not supported by VTK developers anymore. Is there a reason you can’t use VTK 9?

You know, in order to maintain the old version program, reducing the work load. VTK 8.2 is same problem.

I’m in the same boat, I’ve got a few apps comprised of tens of thousands of lines of code that are based on VTK 7. For these legacy apps that only require VTK’s old functionalities, upgrading to a newer VTK requires a lot of work for no benefit, in fact even recompiling these apps is a rare occurrence. Rebuilds and upgrades of legacy apps occur only when necessary, because generally I’ve got better things to spend my time on.

For legacy code, I just keep old systems/toolchains around. For Linux I have an older ubuntu installed in a separate root partition, and I chroot the older root before running “make”. Docker can be used similarly. Directories can be shared between the docker/chroot and the main system. Executables compiled with old toolchains generally run fine on newer systems, particularly for VTK since nearly all of its library dependencies are built-in.