I have pasted valgrind output, where tesseract is just linked not used any single api of tessearct in my code.
then it have following allocation and no free
==5923== 64 bytes in 1 blocks are still reachable in loss record 1 of 5
==5923== at 0x4C29D90: operator new[](unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5923== by 0x4FF9AD1: GenericVector<tesseract::StringParam*>::reserve(int) [clone .part.3] (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x4EE4132: _GLOBAL__sub_I_drawfx.cpp (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x400E929: call_init.part.0 (in /lib64/
ld-2.19.so)
==5923== by 0x400EA12: _dl_init (in /lib64/
ld-2.19.so)
==5923== by 0x40011C9: ??? (in /lib64/
ld-2.19.so)
==5923==
==5923== 128 bytes in 1 blocks are still reachable in loss record 2 of 5
==5923== at 0x4C29670: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5923== by 0x509BDE9: GlobalParams() (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x4EDCDBF: _GLOBAL__sub_I_baseapi.cpp (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x400E929: call_init.part.0 (in /lib64/
ld-2.19.so)
==5923== by 0x400EA12: _dl_init (in /lib64/
ld-2.19.so)
==5923== by 0x40011C9: ??? (in /lib64/
ld-2.19.so)
==5923==
==5923== 512 bytes in 1 blocks are still reachable in loss record 3 of 5
==5923== at 0x4C29D90: operator new[](unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5923== by 0x4F29231: GenericVector<tesseract::IntParam*>::reserve(int) [clone .part.47] (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x4F2B887: GenericVector<tesseract::IntParam*>::push_back(tesseract::IntParam*) (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x4EE0BC6: _GLOBAL__sub_I_makerow.cpp (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x400E929: call_init.part.0 (in /lib64/
ld-2.19.so)
==5923== by 0x400EA12: _dl_init (in /lib64/
ld-2.19.so)
==5923== by 0x40011C9: ??? (in /lib64/
ld-2.19.so)
==5923==
==5923== 1,024 bytes in 1 blocks are still reachable in loss record 4 of 5
==5923== at 0x4C29D90: operator new[](unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5923== by 0x4F085F1: GenericVector<tesseract::BoolParam*>::reserve(int) [clone .part.74] (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x4F0EDB7: GenericVector<tesseract::BoolParam*>::push_back(tesseract::BoolParam*) (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x4EE2AA5: _GLOBAL__sub_I_topitch.cpp (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x400E929: call_init.part.0 (in /lib64/
ld-2.19.so)
==5923== by 0x400EA12: _dl_init (in /lib64/
ld-2.19.so)
==5923== by 0x40011C9: ??? (in /lib64/
ld-2.19.so)
==5923==
==5923== 1,024 bytes in 1 blocks are still reachable in loss record 5 of 5
==5923== at 0x4C29D90: operator new[](unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5923== by 0x4F373B1: GenericVector<tesseract::DoubleParam*>::reserve(int) [clone .part.40] (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x4F42B97: GenericVector<tesseract::DoubleParam*>::push_back(tesseract::DoubleParam*) (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x4EE5176: _GLOBAL__sub_I_intproto.cpp (in /usr/local/lib64/libtesseract.so.3.0.4)
==5923== by 0x400E929: call_init.part.0 (in /lib64/
ld-2.19.so)
==5923== by 0x400EA12: _dl_init (in /lib64/
ld-2.19.so)
==5923== by 0x40011C9: ??? (in /lib64/
ld-2.19.so)
Thanks
Anshul