Hi, I have a segmentation fault on program exit when linking to both ITK and dcmtk on Fedora 33. ITK is built from source whereas dcmtk is supplied by the OS package manager. The crash is a double free of static variables within CharLS. Specifically it is these variables:
vector<signed char> rgquant8Ll = CreateQLutLossless(8);
vector<signed char> rgquant10Ll = CreateQLutLossless(10);
vector<signed char> rgquant12Ll = CreateQLutLossless(12);
vector<signed char> rgquant16Ll = CreateQLutLossless(16);
At program exit, it frees them. Then the dynamically linked CharLS also tries to free them causing a segmentation violation.
Any thoughts how to avoid this issue? Could gdcm’s copy of CharLS be put into a namespace?