On Thu, Dec 22, 2011 at 10:14 AM, Earnie wrote:
What is the command line for the link step?  We need to see the ordering
of the objects in relation to the libraries.  Command line ordering
often results in undefined references because the object using the
reference needs to be placed before the library resolving the reference.  
--
Earnie
-- https://sites.google.com/site/earnieboyd/


Link command:
/c/MinGW/bin/mingw32-g++.exe -shared -mwindows -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc -g -w -fPIC -std=gnu99   -LC:/mathview/libadapters.a -LC:/mathview/libbackend_common.a -LC:/mathview/libboxml.a -LC:/mathview/libcommon.a -LC:/mathview/libengine_common.a -LC:/mathview/libfrontend_common.a -LC:/mathview/libfrontend_custom_reader.a -LC:/mathview/libfrontend_libxml2.a -LC:/mathview/libfrontend_libxml2_reader.a -LC:/mathview/libmathml.a -LC:/mathview/libmathvariants.a -LC:/mathview/libmathview.a -LC:/mathview/libmathview_backend_ps.a -LC:/mathview/libmathview_frontend_custom_reader.a -LC:/mathview/libmathview_frontend_libxml2.a -LC:/mathview/libmathview_frontend_libxml2_reader.a -LC:/mathview/libtfm.a build/gl2ps.o build/gl2psjni.o build/mathml2ps.o -LC:/MinGW/lib -LC:/MinGW/lib/glut -LC:/MinGW/lib/GLU -LC:/MinGW/lib/GL -LC:/MinGW/lib/glib-2.0 -lxml2 -lt1 -lopengl32 -lglu32 -lglut32 -lglib-2.0 -lstdc++ -o build/gl2psjni.dll

And the errors:
build/mathml2ps.o: In function `getMathML2PS':
mathml2ps.cc:113: undefined reference to `AbstractLogger::setLogLevel(LogLevelId) const'
mathml2ps.cc:115: undefined reference to `AbstractLogger::setLogLevel(LogLevelId) const'
mathml2ps.cc:116: undefined reference to `PS_Backend::create(SmartPtr<AbstractLogger> const&, SmartPtr<Configuration> const&)'
mathml2ps.cc:120: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
mathml2ps.cc:121: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
mathml2ps.cc:122: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
mathml2ps.cc:124: undefined reference to `libxml2_MathView::create(SmartPtr<AbstractLogger> const&)'
mathml2ps.cc:125: undefined reference to `View::setOperatorDictionary(SmartPtr<MathMLOperatorDictionary> const&)'
mathml2ps.cc:126: undefined reference to `View::setMathMLNamespaceContext(SmartPtr<MathMLNamespaceContext> const&)'
mathml2ps.cc:129: undefined reference to `View::setBoxMLNamespaceContext(SmartPtr<BoxMLNamespaceContext> const&)'
mathml2ps.cc:131: undefined reference to `View::setDefaultFontSize(unsigned int)'
mathml2ps.cc:134: undefined reference to `FormattingContext::FormattingContext(SmartPtr<MathGraphicDevice> const&, SmartPtr<BoxGraphicDevice> const&)'
mathml2ps.cc:143: undefined reference to `View::setAvailableWidth(fixed<int, 10> const&)'
mathml2ps.cc:144: undefined reference to `libxml2_MathView::loadBuffer(char const*)'
mathml2ps.cc:146: undefined reference to `View::getBoundingBox() const'
mathml2ps.cc:153: undefined reference to `FontDataBase::create()'
mathml2ps.cc:155: undefined reference to `T1_FontDataBase::create(SmartPtr<AbstractLogger> const&, SmartPtr<Configuration> const&, bool)'
mathml2ps.cc:157: undefined reference to `T1_FontDataBase::create(SmartPtr<AbstractLogger> const&, SmartPtr<Configuration> const&, bool)'
mathml2ps.cc:159: undefined reference to `T1_FontDataBase::create(SmartPtr<AbstractLogger> const&, SmartPtr<Configuration> const&, bool)'
mathml2ps.cc:168: undefined reference to `PS_StreamRenderingContext::PS_StreamRenderingContext(SmartPtr<AbstractLogger> const&, std::ostream&, SmartPtr<FontDataBase>)'
mathml2ps.cc:174: undefined reference to `PS_StreamRenderingContext::documentStart(fixed<int, 10> const&, fixed<int, 10> const&, BoundingBox const&, char const*)'
mathml2ps.cc:175: undefined reference to `View::render(RenderingContext&, fixed<int, 10> const&, fixed<int, 10> const&) const'
mathml2ps.cc:182: undefined reference to `PS_StreamRenderingContext::documentStart(fixed<int, 10> const&, fixed<int, 10> const&, BoundingBox const&, char const*)'
mathml2ps.cc:183: undefined reference to `View::render(RenderingContext&, fixed<int, 10> const&, fixed<int, 10> const&) const'
mathml2ps.cc:185: undefined reference to `PS_StreamRenderingContext::documentEnd()'
mathml2ps.cc:186: undefined reference to `View::resetRootElement()'
mathml2ps.cc:168: undefined reference to `PS_StreamRenderingContext::~PS_StreamRenderingContext()'
mathml2ps.cc:134: undefined reference to `FormattingContext::~FormattingContext()'
mathml2ps.cc:168: undefined reference to `PS_StreamRenderingContext::~PS_StreamRenderingContext()'
mathml2ps.cc:134: undefined reference to `FormattingContext::~FormattingContext()'
build/mathml2ps.o: In function `Logger':
C:/MinGW/include/gtkmathview/MathView/Logger.hh:33: undefined reference to `AbstractLogger::AbstractLogger()'
C:/MinGW/include/gtkmathview/MathView/Logger.hh:33: undefined reference to `vtable for Logger'
build/mathml2ps.o: In function `ZN13Configuration6createEv':
C:/MinGW/include/gtkmathview/MathView/Configuration.hh:45: undefined reference to `Configuration::Configuration()'
build/mathml2ps.o: In function `ZN24MathMLOperatorDictionary6createEv':
C:/MinGW/include/gtkmathview/MathView/MathMLOperatorDictionary.hh:39: undefined reference to `MathMLOperatorDictionary::MathMLOperatorDictionary()'
build/mathml2ps.o: In function `ZN22MathMLNamespaceContext6createERK8SmartPtrI4ViewERKS0_I17MathGraphicDeviceE':
C:/MinGW/include/gtkmathview/MathView/MathMLNamespaceContext.hh:38: undefined reference to `MathMLNamespaceContext::MathMLNamespaceContext(SmartPtr<View> const&, SmartPtr<MathGraphicDevice> const&)'
build/mathml2ps.o: In function `ZN21BoxMLNamespaceContext6createERK8SmartPtrI4ViewERKS0_I16BoxGraphicDeviceE':
C:/MinGW/include/gtkmathview/MathView/BoxMLNamespaceContext.hh:39: undefined reference to `BoxMLNamespaceContext::BoxMLNamespaceContext(SmartPtr<View> const&, SmartPtr<BoxGraphicDevice> const&)'
build/mathml2ps.o: In function `Z17initConfigurationI16libxml2_MathViewE8SmartPtrI13ConfigurationERS1_I14AbstractLoggerEPKc':
C:/MinGW/include/gtkmathview/MathView/Init.hh:37: undefined reference to `View::getDefaultConfigurationPath()'
C:/MinGW/include/gtkmathview/MathView/Init.hh:37: undefined reference to `MathViewNS::fileExists(char const*)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:38: undefined reference to `View::getDefaultConfigurationPath()'
C:/MinGW/include/gtkmathview/MathView/Init.hh:38: undefined reference to `libxml2_MathView::loadConfiguration(SmartPtr<AbstractLogger> const&, SmartPtr<Configuration> const&, std::string const&)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:40: undefined reference to `Configuration::getConfigurationPaths()'
C:/MinGW/include/gtkmathview/MathView/Init.hh:43: undefined reference to `MathViewNS::fileExists(char const*)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:44: undefined reference to `libxml2_MathView::loadConfiguration(SmartPtr<AbstractLogger> const&, SmartPtr<Configuration> const&, std::string const&)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:46: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:40: undefined reference to `Configuration::getConfigurationPaths()'
C:/MinGW/include/gtkmathview/MathView/Init.hh:48: undefined reference to `MathViewNS::fileExists(char const*)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:49: undefined reference to `libxml2_MathView::loadConfiguration(SmartPtr<AbstractLogger> const&, SmartPtr<Configuration> const&, std::string const&)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:52: undefined reference to `MathViewNS::fileExists(char const*)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:53: undefined reference to `libxml2_MathView::loadConfiguration(SmartPtr<AbstractLogger> const&, SmartPtr<Configuration> const&, std::string const&)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:55: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:57: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:58: undefined reference to `Configuration::getInt(SmartPtr<AbstractLogger> const&, std::string const&, int) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:58: undefined reference to `AbstractLogger::setLogLevel(LogLevelId) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:59: undefined reference to `Configuration::getString(SmartPtr<AbstractLogger> const&, std::string const&, std::string const&) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:60: undefined reference to `Configuration::getBinaryVersion()'
C:/MinGW/include/gtkmathview/MathView/Init.hh:61: undefined reference to `Configuration::getBinaryVersion()'
C:/MinGW/include/gtkmathview/MathView/Init.hh:61: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
build/mathml2ps.o: In function `Z22initOperatorDictionaryI16libxml2_MathViewE8SmartPtrI24MathMLOperatorDictionaryERKS1_I14AbstractLoggerES1_I13ConfigurationE':
C:/MinGW/include/gtkmathview/MathView/Init.hh:70: undefined reference to `Configuration::getStringList(std::string const&) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:76: undefined reference to `MathViewNS::fileExists(char const*)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:78: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:79: undefined reference to `libxml2_MathView::loadOperatorDictionary(SmartPtr<AbstractLogger> const&, SmartPtr<MathMLOperatorDictionary> const&, std::string const&)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:80: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:83: undefined reference to `AbstractLogger::out(LogLevelId, char const*, ...) const'
C:/MinGW/include/gtkmathview/MathView/Init.hh:88: undefined reference to `View::getDefaultOperatorDictionaryPath()'
C:/MinGW/include/gtkmathview/MathView/Init.hh:88: undefined reference to `MathViewNS::fileExists(char const*)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:89: undefined reference to `View::getDefaultOperatorDictionaryPath()'
C:/MinGW/include/gtkmathview/MathView/Init.hh:89: undefined reference to `libxml2_MathView::loadOperatorDictionary(SmartPtr<AbstractLogger> const&, SmartPtr<MathMLOperatorDictionary> const&, std::string const&)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:90: undefined reference to `MathViewNS::fileExists(char const*)'
C:/MinGW/include/gtkmathview/MathView/Init.hh:91: undefined reference to `libxml2_MathView::loadOperatorDictionary(SmartPtr<AbstractLogger> const&, SmartPtr<MathMLOperatorDictionary> const&, std::string const&)'
collect2: ld returned 1 exit status
make: *** [build/gl2psjni.dll] Error 1

--
-sultan