Robert,
I know you mentioned multi threaded but since you also mentioned you worked on
some cleanup and since those hangs I had seen also appear to be cleanup
releated in some form I took a stab at this and retrieved a fresh svn,
recompiled and tried the examples. The hang I experienced is still there but I
did want to make note of a couple of changes to the source I had to make to get
it to build and then run.
The first time I ran ccmake I just ran it and accepted what it found and then
generated the makefile and ran make. Whaen I ran make I ran into the invalid
conversion from GLVOID to VOID we previously had run up against in Tesselator.
The next time I ran it I changed all X references to FLAG-NOTFOUND and added
-DWIN32 -DDEBUG to CMAKE_CXX_FLAGS and CMAKE_C_FLAGS and generated a makefile
and compiled. The following is a result of that.
1) During the compile the make complained about not finding wsock32.lib. In
CMakeLists.txt (in the trunk of the source tree) if WIN32 is set we set:
SET (OSG_SOCKET_LIBS wsock32.lib)
this is fine for Mingw but I think Cygwin needs wsock32.a or
mswsock.a. I added the following 3 lines immediately after the above in
CMakeLists.txt and reran ccmake and this time it compiled fine. Not sure if
mswsock.a would be a better choice but it worked.
IF(CYGWIN)
SET (OSG_SOCKET_LIBS wsock32.a)
ENDIF(CYGWIN)
2) Once compiled and installed then osg could not find the plugins because it
installed them to /usr/local/bin/osgdb_whatever but it looks for
cygosgdb_whatever on Cygwin. As soon as I renamed them (I would give you a
patch but I have no idea where Cmake puts this) then the examples coul;d find
the plugins no problem. I know there has been some discussion of should they
be in a plugin directory or just in bin and I know problem with that but the
leading cyg was a gotcha - buit I knew from the past to look for it.
3) As you had previously advised I tried osgconv since that was one of the
simpler programs and I still got the hang but I also noticed something on the
file sizes when osgconv told me the file data had been copied. The command I
execute and response was:
[EMAIL PROTECTED] /usr/local/bin
$ osgconv cow.osg /tmp/mycow.osg
Data written to '/tmp/mycow.osg'.
at which point it hangs and I wnet and looked at the data files both before and
after I kill the process and cow.osg is 653747 bytes and mycow.osg is only
645182 bytes. Seems it didn't finish writing (or looks that way) even though
it says it wrote the data.
I also cleared my full build and everything I installed of osg and tried one
more ccmake. This time I configured and left the X directories it found and
only added -DWIN32 (no -DDEBUG) to the CMAKE_CXX_FLAGS and CMAKE_C_FLAGS and
then generated my Makefiles. Again it compiled and results were the same as
above in #2 and #3 - #1 I had already fixed.
Hopefully it fixes the multi thread crash for you but it didn't help the hang
although that file size sure makes me wonder what is hanging up.
bk
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/