poppler compilation fails with "./configure --disable-shared"
Submitted by Hanno Böck
Assigned to poppler-bugs
Description
Created attachment 126269 failing make output
The --disable-shared parameter of the poppler configure script causes the build to fail later on. Seems to be some linker error. Affects both current git and version 0.47.0.
(--disable-shared is often very useful for testing - e.g. fuzzing - because one gets the tools as a single executable without dependencies on built libraries and one doesn't have to fiddle around with LD_PRELOAD when testing builds)
Start of error message (will attach full one).
GISCAN Poppler-0.18.gir poppler-action.cc:671: error: undefined reference to '__dynamic_cast' poppler-action.cc:643: error: undefined reference to '__dynamic_cast' poppler-action.cc:659: error: undefined reference to '__dynamic_cast' poppler-action.cc:651: error: undefined reference to '__dynamic_cast' poppler-action.cc:483: error: undefined reference to 'operator new(unsigned long)' ./.libs/libpoppler-glib.a(libpoppler_glib_la-poppler-action.o):poppler-action.cc:typeinfo for LinkAction: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info' /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ld: the vtable symbol may be undefined because the class is missing its key function poppler-document.cc:151: error: undefined reference to 'operator new(unsigned long)' poppler-document.cc:761: error: undefined reference to 'operator new(unsigned long)' poppler-document.cc:2233: error: undefined reference to 'operator delete(void*)' poppler-document.cc:2233: error: undefined reference to 'operator delete(void*)' poppler-document.cc:2212: error: undefined reference to 'operator new(unsigned long)' poppler-document.cc:474: error: undefined reference to 'operator delete(void*)' poppler-document.cc:127: error: undefined reference to 'operator delete(void*)' ./.libs/libpoppler-glib.a(libpoppler_glib_la-poppler-cached-file-loader.o):poppler-cached-file-loader.cc:typeinfo for CachedFileLoader: error: undefined reference to 'vtable for __cxxabiv1::__class_type_info' /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ld: the vtable symbol may be undefined because the class is missing its key function [and many more]
Attachment 126269, "failing make output":
make-fail-disable-shared.txt