[osg-users] [SOLVED] PNG Library Crashing - 32 vs 64 bit mismatch possible

Dave Sargrad davidsargrad at hotmail.com
Tue Apr 14 16:22:23 PDT 2015


SMesserschmidt wrote:
> Hi Dave,
> 
> C:/osg/OpenSceneGraph-3.2.2-rc2/3rdParty/x86/lib/libpng16.lib (found version "1.6.7")
> -> you are linking the 32bit libraries ..
> 
> 
> 
> 
> > Hi,
> > 
> > I've been struggling to get the PNG plugin working. I've built it, but the cookbook_02_7 is crashing down inside libpng16.dll.
> > 
> > 
> > I have a couple of questions.
> > 1] I would have thought that I am doing a 64-bit build, since I have a 64-bit OS. However when I run cmake/configure I see it report 32-bit architecture detected.
> > 
> > 
> > 
> > > 32 bit architecture detected
> > > 3rdParty-Package ENV variable found:C:\osg\OpenSceneGraph-3.2.2-rc2\3rdParty/x86
> > > Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
> > > Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)
> > > Could NOT find CURL (missing:  CURL_LIBRARY CURL_INCLUDE_DIR)
> > > Could NOT find SDL (missing:  SDL_LIBRARY SDL_INCLUDE_DIR)
> > > Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)
> > > Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)
> > > Could NOT find PkgConfig (missing:  PKG_CONFIG_EXECUTABLE)
> > > Found unsuitable Qt version "" from NOTFOUND
> > > Could NOT find Qt3 (missing:  QT_QT_LIBRARY QT_INCLUDE_DIR QT_MOC_EXECUTABLE)
> > > Could NOT find GLUT (missing:  GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)
> > > Could NOT find wxWidgets (missing:  wxWidgets_FOUND)
> > > Found PNG: optimized;C:/osg/OpenSceneGraph-3.2.2-rc2/3rdParty/x86/lib/libpng16d.lib;debug;C:/osg/OpenSceneGraph-3.2.2-rc2/3rdParty/x86/lib/libpng16.lib (found version "1.6.7")
> > > Could NOT find TIFF (missing:  TIFF_LIBRARY TIFF_INCLUDE_DIR)
> > > Configuring done
> > > Generating done
> > > 
> > > 
> > 
> > So I have been pointing my cookbooks (osgrecipes) to the x86 versions found in the 3rdParty folder: example C:/osg/OpenSceneGraph-3.2.2-rc2/3rdParty/x86/lib/libpng16.lib is the value I have set PNG_LIBRARY to.
> > 
> > The current callstack I see when I crash is as follows:
> > 
> > 
> > > 	005dd4a8()	Unknown
> > > 	[Frames below may be incorrect and/or missing]	
> > > 	libpng16.dll!004dba8c()	Unknown
> > > 
> > > > 	osgdb_pngd.dll!ReaderWriterPNG::readPNGStream(std::basic_istream<char,std::char_traits<char> > & fin) Line 202	C++
> > > > 
> > > 	osgdb_pngd.dll!ReaderWriterPNG::readImage(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & file, const osgDB::Options * options) Line 381	C++
> > > 	osg100-osgDBd.dll!osgDB::Registry::ReadImageFunctor::doRead(osgDB::ReaderWriter & rw) Line 915	C++
> > > 	osg100-osgDBd.dll!osgDB::Registry::read(const osgDB::Registry::ReadFunctor & readFunctor) Line 1175	C++
> > > 	osg100-osgDBd.dll!osgDB::Registry::readImplementation(const osgDB::Registry::ReadFunctor & readFunctor, osgDB::Options::CacheHintOptions cacheHint) Line 1278	C++
> > > 	osg100-osgDBd.dll!osgDB::Registry::readImageImplementation(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & fileName, const osgDB::Options * options) Line 1360	C++
> > > 	osg100-osgDBd.dll!osgDB::Registry::readImage(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & fileName, const osgDB::Options * options) Line 221	C++
> > > 	osg100-osgDBd.dll!osgDB::readImageFile(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & filename, const osgDB::Options * options) Line 43	C++
> > > 	cookbook_02_07d.exe!osgDB::readImageFile(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & filename) Line 82	C++
> > > 	cookbook_02_07d.exe!main(int argc, char * * argv) Line 16	C++
> > > 	[External Code]	
> > > 
> > > 
> > > 
> > 
> > 
> > 
> > Any suggestions would be appreciated.
> > Cheers,
> > Dave
> > 
> > ------------------
> > Read this topic online here:
> > http://forum.openscenegraph.org/viewtopic.php?p=63354#63354
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > osg-users mailing list
> > 
> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > 
> 
> _______________________________________________
> osg-users mailing list
> 
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> 
>  ------------------
> Post generated by Mail2Forum


Yes, I linked to those libraries intentionally, since cmake seemed to detect a 32-bit architecture. Since I have a 64-bit OS, I'd like to figure out how to get cmake to detect the appropriate architecture. Thats a low priority for me right now, and I posted the real reason for the crash above. Thanks for your response.

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=63396#63396








More information about the osg-users mailing list