OpenSceneGraph Forum Forum Index OpenSceneGraph Forum
Official forum which mirrors the existent OSG mailing lists. Messages posted here are forwarded to the mailing list and vice versa.
 
   FAQFAQ    SearchSearch    MemberlistMemberlist    RulesRules    UsergroupsUsergroups    RegisterRegister 
 Mail2Forum SettingsMail2Forum Settings  ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
   AlbumAlbum  OpenSceneGraph IRC ChatOpenSceneGraph IRC Chat   SmartFeedSmartFeed 

Can't compile svn version of osgPPU against osg 2.8.3

Goto page 1, 2  Next
 
Post new topic   Reply to topic    OpenSceneGraph Forum Forum Index -> osgPPU [osgPPU]
View previous topic :: View next topic  
Author Message
allensaucier
Appreciator


Joined: 10 Apr 2009
Posts: 126

PostPosted: Wed Apr 21, 2010 6:16 pm    Post subject:
Can't compile svn version of osgPPU against osg 2.8.3
Reply with quote

Hi Art,

I decided to start a new thread on this issue. It's a biggy for me.

here's what I get every time I attempt to compile the svn version of osgPPU agains osg 2.8.3:
Code:

[allen@nlosDemoBox:]$ make
Scanning dependencies of target osgPPU
[  2%] Building CXX object src/osgPPU/CMakeFiles/osgPPU.dir/Unit.o
In file included from /home/allen/projects/osgPPU/src/osgPPU/Unit.cpp:17:
/home/allen/projects/osgPPU/include/osgPPU/Unit.h: In member function ‘void osgPPU::Unit::popFrameBufferObject(osg::State&)’:
/home/allen/projects/osgPPU/include/osgPPU/Unit.h:311: error: ‘class osg::FBOExtensions’ has no member named ‘glBindFramebuffer’
/home/allen/projects/osgPPU/src/osgPPU/Unit.cpp: In member function ‘virtual void osgPPU::Unit::DrawCallback::drawImplementation(osg::RenderInfo&, const osg::Drawable*) const’:
/home/allen/projects/osgPPU/src/osgPPU/Unit.cpp:698: error: ‘class osg::PixelDataBufferObject’ has no member named ‘getOrCreateGLBufferObject’
/home/allen/projects/osgPPU/src/osgPPU/Unit.cpp:700: error: ‘class osg::PixelDataBufferObject’ has no member named ‘getOrCreateGLBufferObject’
make[2]: *** [src/osgPPU/CMakeFiles/osgPPU.dir/Unit.o] Error 1
make[1]: *** [src/osgPPU/CMakeFiles/osgPPU.dir/all] Error 2
make: *** [all] Error 2
[allen@nlosDemoBox:]$ osgversiond
bash: osgversiond: command not found
[allen@nlosDemoBox:]$ osgversion
OpenSceneGraph Library 2.8.3


Here is a listing of my libraries. They are pointed to the correct 2.8.3 libraries for osg. I have determined from osgPPU's CMakeCache.txt file what osg .so's the compiler is linking against. All looks good.

Code:

lrwxrwxrwx  1 root root        20 2009-06-18 17:16 libOpenThreads.so -> libOpenThreads.so.11
lrwxrwxrwx  1 root root        23 2009-06-18 17:16 libOpenThreads.so.11 -> libOpenThreads.so.2.4.0
-rw-r--r--  1 root root     42111 2010-04-16 08:58 libOpenThreads.so.2.4.0
lrwxrwxrwx  1 root root        21 2010-04-16 09:08 libosgAnimation.so -> libosgAnimation.so.65
-rw-r--r--  1 root root    319640 2009-06-18 16:51 libosgAnimation.so.2.8.1
-rw-r--r--  1 root root    720946 2010-04-16 09:06 libosgAnimation.so.2.8.3
lrwxrwxrwx  1 root root        24 2009-06-18 17:16 libosgAnimation.so.55 -> libosgAnimation.so.2.8.1
lrwxrwxrwx  1 root root        24 2010-04-16 09:08 libosgAnimation.so.65 -> libosgAnimation.so.2.8.3
lrwxrwxrwx  1 root root        14 2010-04-16 09:08 libosgDB.so -> libosgDB.so.65
-rw-r--r--  1 root root    667776 2009-06-18 16:48 libosgDB.so.2.8.1
-rw-r--r--  1 root root    676644 2010-04-16 09:00 libosgDB.so.2.8.3
lrwxrwxrwx  1 root root        17 2009-06-18 17:16 libosgDB.so.55 -> libosgDB.so.2.8.1
lrwxrwxrwx  1 root root        17 2010-04-16 09:08 libosgDB.so.65 -> libosgDB.so.2.8.3
lrwxrwxrwx  1 root root        14 2010-04-16 09:08 libosgFX.so -> libosgFX.so.65
-rw-r--r--  1 root root    219355 2009-06-18 16:52 libosgFX.so.2.8.1
-rw-r--r--  1 root root    219354 2010-04-16 09:00 libosgFX.so.2.8.3
lrwxrwxrwx  1 root root        17 2009-06-18 17:16 libosgFX.so.55 -> libosgFX.so.2.8.1
lrwxrwxrwx  1 root root        17 2010-04-16 09:08 libosgFX.so.65 -> libosgFX.so.2.8.3
lrwxrwxrwx  1 root root        14 2010-04-16 09:08 libosgGA.so -> libosgGA.so.65
-rw-r--r--  1 root root    342494 2009-06-18 16:50 libosgGA.so.2.8.1
-rw-r--r--  1 root root    342503 2010-04-16 09:01 libosgGA.so.2.8.3
lrwxrwxrwx  1 root root        17 2009-06-18 17:16 libosgGA.so.55 -> libosgGA.so.2.8.1
lrwxrwxrwx  1 root root        17 2010-04-16 09:08 libosgGA.so.65 -> libosgGA.so.2.8.3
-rw-r--r--  1 root root    510500 2010-04-16 09:31 libosgGtk.a
-rwxr-xr-x  1 root root      1961 2010-04-16 09:31 libosgGtk.la
-rw-r--r--  1 root root    658254 2010-04-16 09:31 libosgGtkmm.a
-rwxr-xr-x  1 root root      2554 2010-04-16 09:31 libosgGtkmm.la
lrwxrwxrwx  1 root root        20 2010-04-16 09:31 libosgGtkmm.so -> libosgGtkmm.so.0.0.0
lrwxrwxrwx  1 root root        20 2010-04-16 09:31 libosgGtkmm.so.0 -> libosgGtkmm.so.0.0.0
-rwxr-xr-x  1 root root    515483 2010-04-16 09:31 libosgGtkmm.so.0.0.0
lrwxrwxrwx  1 root root        18 2010-04-16 09:31 libosgGtk.so -> libosgGtk.so.0.0.0
lrwxrwxrwx  1 root root        18 2010-04-16 09:31 libosgGtk.so.0 -> libosgGtk.so.0.0.0
-rwxr-xr-x  1 root root    392217 2010-04-16 09:31 libosgGtk.so.0.0.0
lrwxrwxrwx  1 root root        23 2010-04-16 09:08 libosgManipulator.so -> libosgManipulator.so.65
-rw-r--r--  1 root root    349028 2009-06-18 16:52 libosgManipulator.so.2.8.1
-rw-r--r--  1 root root    349037 2010-04-16 09:06 libosgManipulator.so.2.8.3
lrwxrwxrwx  1 root root        26 2009-06-18 17:16 libosgManipulator.so.55 -> libosgManipulator.so.2.8.1
lrwxrwxrwx  1 root root        26 2010-04-16 09:08 libosgManipulator.so.65 -> libosgManipulator.so.2.8.3
lrwxrwxrwx  1 root root        20 2010-04-16 09:08 libosgParticle.so -> libosgParticle.so.65
-rw-r--r--  1 root root    364487 2009-06-18 16:53 libosgParticle.so.2.8.1
-rw-r--r--  1 root root    364487 2010-04-16 09:01 libosgParticle.so.2.8.3
lrwxrwxrwx  1 root root        23 2009-06-18 17:16 libosgParticle.so.55 -> libosgParticle.so.2.8.1
lrwxrwxrwx  1 root root        23 2010-04-16 09:08 libosgParticle.so.65 -> libosgParticle.so.2.8.3
lrwxrwxrwx  1 root root        18 2010-04-16 09:08 libosgShadow.so -> libosgShadow.so.65
-rw-r--r--  1 root root    650099 2009-06-18 16:54 libosgShadow.so.2.8.1
-rw-r--r--  1 root root    650099 2010-04-16 09:01 libosgShadow.so.2.8.3
lrwxrwxrwx  1 root root        21 2009-06-18 17:16 libosgShadow.so.55 -> libosgShadow.so.2.8.1
lrwxrwxrwx  1 root root        21 2010-04-16 09:08 libosgShadow.so.65 -> libosgShadow.so.2.8.3
lrwxrwxrwx  1 root root        15 2010-04-16 09:08 libosgSim.so -> libosgSim.so.65
-rw-r--r--  1 root root    740943 2009-06-18 16:54 libosgSim.so.2.8.1
-rw-r--r--  1 root root    740833 2010-04-16 09:01 libosgSim.so.2.8.3
lrwxrwxrwx  1 root root        18 2009-06-18 17:16 libosgSim.so.55 -> libosgSim.so.2.8.1
lrwxrwxrwx  1 root root        18 2010-04-16 09:08 libosgSim.so.65 -> libosgSim.so.2.8.3
lrwxrwxrwx  1 root root        12 2010-04-16 09:08 libosg.so -> libosg.so.65
-rw-r--r--  1 root root   2931694 2009-06-18 16:47 libosg.so.2.8.1
-rw-r--r--  1 root root   2954894 2010-04-16 08:59 libosg.so.2.8.3
lrwxrwxrwx  1 root root        15 2009-06-18 17:16 libosg.so.55 -> libosg.so.2.8.1
lrwxrwxrwx  1 root root        15 2010-04-16 09:08 libosg.so.65 -> libosg.so.2.8.3
lrwxrwxrwx  1 root root        19 2010-04-16 09:08 libosgTerrain.so -> libosgTerrain.so.65
-rw-r--r--  1 root root    256197 2009-06-18 16:55 libosgTerrain.so.2.8.1
-rw-r--r--  1 root root    251898 2010-04-16 09:01 libosgTerrain.so.2.8.3
lrwxrwxrwx  1 root root        22 2009-06-18 17:16 libosgTerrain.so.55 -> libosgTerrain.so.2.8.1
lrwxrwxrwx  1 root root        22 2010-04-16 09:08 libosgTerrain.so.65 -> libosgTerrain.so.2.8.3
lrwxrwxrwx  1 root root        16 2010-04-16 09:08 libosgText.so -> libosgText.so.65
-rw-r--r--  1 root root    357417 2009-06-18 16:50 libosgText.so.2.8.1
-rw-r--r--  1 root root    357725 2010-04-16 09:00 libosgText.so.2.8.3
lrwxrwxrwx  1 root root        19 2009-06-18 17:16 libosgText.so.55 -> libosgText.so.2.8.1
lrwxrwxrwx  1 root root        19 2010-04-16 09:08 libosgText.so.65 -> libosgText.so.2.8.3
lrwxrwxrwx  1 root root        16 2010-04-16 09:08 libosgUtil.so -> libosgUtil.so.65
-rw-r--r--  1 root root   1729799 2009-06-18 16:49 libosgUtil.so.2.8.1
-rw-r--r--  1 root root   1734250 2010-04-16 09:00 libosgUtil.so.2.8.3
lrwxrwxrwx  1 root root        19 2009-06-18 17:16 libosgUtil.so.55 -> libosgUtil.so.2.8.1
lrwxrwxrwx  1 root root        19 2010-04-16 09:08 libosgUtil.so.65 -> libosgUtil.so.2.8.3
[b]lrwxrwxrwx  1 root root        18 2010-04-16 09:08 libosgViewer.so -> libosgViewer.so.65
-rw-r--r--  1 root root    835759 2009-06-18 16:51 libosgViewer.so.2.8.1
-rw-r--r--  1 root root    840259 2010-04-16 09:06 libosgViewer.so.2.8.3
lrwxrwxrwx  1 root root        21 2009-06-18 17:16 libosgViewer.so.55 -> libosgViewer.so.2.8.1
lrwxrwxrwx  1 root root        21 2010-04-16 09:08 libosgViewer.so.65 -> libosgViewer.so.2.8.3
lrwxrwxrwx  1 root root        18 2010-04-16 09:08 libosgVolume.so -> libosgVolume.so.65
-rw-r--r--  1 root root    304856 2009-06-18 16:56 libosgVolume.so.2.8.1
-rw-r--r--  1 root root    304753 2010-04-16 09:01 libosgVolume.so.2.8.3
lrwxrwxrwx  1 root root        21 2009-06-18 17:16 libosgVolume.so.55 -> libosgVolume.so.2.8.1
lrwxrwxrwx  1 root root        21 2010-04-16 09:08 libosgVolume.so.65 -> libosgVolume.so.2.8.3
lrwxrwxrwx  1 root root        18 2010-04-16 09:08 libosgWidget.so -> libosgWidget.so.65
-rw-r--r--  1 root root    447772 2009-06-18 16:55 libosgWidget.so.2.8.1
-rw-r--r--  1 root root    447772 2010-04-16 09:06 libosgWidget.so.2.8.3
lrwxrwxrwx  1 root root        21 2009-06-18 17:16 libosgWidget.so.55 -> libosgWidget.so.2.8.1
lrwxrwxrwx  1 root root        21 2010-04-16 09:08 libosgWidget.so.65 -> libosgWidget.so.2.8.3


I have attached my CMakeCache.txt file and I feel very confident that my CMakeCache.txt will match yours. Or at least be very similar. I see where CMake is showing within the CMakeCache.txt file the libraries to link against. The CMake statements are using library file names which are symbolically linked to the osg 2.8.3 libraries in my system.

Do you have any idea why I can not compile your svn version of osgPPU against 2.8.3? I can't see it. I did not uninstall osg 2.8.1 before I installed 2.8.3 but I am under the impression that the correct .so files should be being linked against when I attempt to build osgPPU from the repository.

Cheers,
Allen[/b]
Back to top
View user's profile Send private message
allensaucier
Appreciator


Joined: 10 Apr 2009
Posts: 126

PostPosted: Wed Apr 21, 2010 6:33 pm    Post subject:
Reply with quote

O, one other note. I have the exact same issues under Windows XP.

--Allen
Back to top
View user's profile Send private message
Paul Martz
Guest





PostPosted: Wed Apr 21, 2010 6:40 pm    Post subject:
Can't compile svn version of osgPPU against osg 2.8.3
Reply with quote

Allen Saucier wrote:
Quote:
[allen@nlosDemoBox:]$ make
Scanning dependencies of target osgPPU
[ 2%] Building CXX object src/osgPPU/CMakeFiles/osgPPU.dir/Unit.o
In file included from /home/allen/projects/osgPPU/src/osgPPU/Unit.cpp:17:
/home/allen/projects/osgPPU/include/osgPPU/Unit.h: In member function ‘void osgPPU::Unit::popFrameBufferObject(osg::State&)’:
/home/allen/projects/osgPPU/include/osgPPU/Unit.h:311: error: ‘class osg::FBOExtensions’ has no member named ‘glBindFramebuffer’

Names of the member functions in the FBOExtensions class changed on trunk after
the 2.8.2 release. OSG 2.8.3 was released off the 2.8 branch and is 99.9% API
compatible with OSG 2.8.2. The FBOExtensions name changes are not in 2.8.3. It
looks to me like trunk of osgPPU is tracking trunk of OSG (which I would expect).

Art and I discussed osgPPU and the 2.8.3 release previously. If you check the
archives, I believe you'll find a post from me stating that the same version of
osgPPU that worked with 2.8.2 should also work with 2.8.3.

--
-Paul Martz Skew Matrix Software
http://www.skew-matrix.com/


------------------
Post generated by Mail2Forum
Back to top
art (Art Tevs)
Site Admin


Joined: 20 Dec 2008
Posts: 414
Location: Saarbrücken, Germany

PostPosted: Wed Apr 21, 2010 6:40 pm    Post subject:
Reply with quote

Hi Allen,

hmm, very strange, current osgPPU version compiles against osg 2.9.8 which is the developer version number of 2.8.3 branch, as I think.

The compilation error is about include files, did you checked that osg 2.8.3 also has reinstalled your include files.

I will check this today or tomorrow. It could be that there is an API difference between 2.9.8 and 2.8.3 branch. I'll check it.


Cheers,
Art
Back to top
View user's profile Send private message Visit poster's website
art (Art Tevs)
Site Admin


Joined: 20 Dec 2008
Posts: 414
Location: Saarbrücken, Germany

PostPosted: Wed Apr 21, 2010 6:57 pm    Post subject:
Re: Can't compile svn version of osgPPU against osg 2.8.3
Reply with quote

Ok, then it explains why it does not compile. Yes, svn trunk of osgPPU tracks the svn trunk of OSG.

Hmm, I wonder how to handle different osg branches in future. I mean if again something like this happens, then I had either to create additional branch in osgPPU repository to track with the according osg branch (which I didn't really like) or to detect the version and write preprocessor or cmake workarounds for that (which is also not a good solution).

Paul do you have any ideas on that?

For this release I will go for a preprocessor solution, I think. Since I am not sure if I am ready to tag already new version of osgPPU, since I want to check it before tagging.

cheers,
art

P.S. Allen, I think, I should have the changes tomorrow.


Paul Martz wrote:
Allen Saucier wrote:
Names of the member functions in the FBOExtensions class changed on trunk after
the 2.8.2 release. OSG 2.8.3 was released off the 2.8 branch and is 99.9% API
compatible with OSG 2.8.2. The FBOExtensions name changes are not in 2.8.3. It
looks to me like trunk of osgPPU is tracking trunk of OSG (which I would expect).

Art and I discussed osgPPU and the 2.8.3 release previously. If you check the
archives, I believe you'll find a post from me stating that the same version of
osgPPU that worked with 2.8.2 should also work with 2.8.3.

--
-Paul Martz Skew Matrix Software
http://www.skew-matrix.com/


------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message Visit poster's website
allensaucier
Appreciator


Joined: 10 Apr 2009
Posts: 126

PostPosted: Wed Apr 21, 2010 7:54 pm    Post subject:
Reply with quote

Gentlemen, thank you.

Now I understand. But, I still have an issue. I downloaded osg 2.8.3 from the Osg website
as shown in the attached pic 1. I used the svn link as shown. Is this link the "trunk" of osg 2.8.3? Or a branch? i can not tell.

I did the same with osgPPU. pic 2

From my perspective as an end-user, I do not seen anything that tells me that there is a branch version that is different from a trunk version. I have been "assuming" this entire time that both the svn versions of osg and osgPPU are the two version which are compatible with each other, as Art has been telling me. And I have used the svn versions as listed on each website with no success.

I am still missing something. Can you please clear up my confusion?

thanks,
Allen
Back to top
View user's profile Send private message
bouffa
Appreciator


Joined: 13 Jan 2009
Posts: 124
Location: Paris, France

PostPosted: Wed Apr 21, 2010 8:17 pm    Post subject:
Can't compile svn version of osgPPU against osg 2.8.3
Reply with quote

Hi Allen,

http://www.openscenegraph.org/projects/osg/wiki/Downloads


You are using the svn of the 2.8 branch (stable release). The trunk is a developer release (at the end of the web page). To get svn trunk of osg, check this link :


http://www.openscenegraph.org/projects/osg/wiki/Downloads/SVN


[/url]Mourad





On Wed, Apr 21, 2010 at 9:54 PM, Allen Saucier < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)> wrote:
Quote:
Gentlemen, thank you.

Now I understand.  But, I still have an issue.  I downloaded osg 2.8.3 from the Osg website
as shown in the attached pic 1.  I used the svn link as shown.  Is this link the "trunk" of osg 2.8.3?  Or a branch?  i can not tell.

I did the same with osgPPU. pic 2

Quote:
From my perspective as an end-user, I do not seen anything that tells me that there is a branch version that is different from a trunk version.  I have been "assuming" this entire time that both the svn versions of osg and osgPPU are the two version which are compatible with each other, as Art has been telling me.  And I have used the svn versions as listed on each website with no success.

I am still missing something.  Can you please clear up my confusion?

thanks,
Allen

------------------
Read this topic online here:

[url=http://forum.openscenegraph.org/viewtopic.php?p=27106#27106]http://forum.openscenegraph.org/viewtopic.php?p=27106#27106




Attachments:
http://forum.openscenegraph.org//files/screenshot2_903.png
http://forum.openscenegraph.org//files/screenshot1_210.png



_______________________________________________
osg-users mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
Paul Martz
Guest





PostPosted: Wed Apr 21, 2010 8:23 pm    Post subject:
Can't compile svn version of osgPPU against osg 2.8.3
Reply with quote

Art Tevs wrote:
Quote:
Ok, then it explains why it does not compile. Yes, svn trunk of osgPPU tracks the svn trunk of OSG.

Hmm, I wonder how to handle different osg branches in future. I mean if again something like this happens, then I had either to create additional branch in osgPPU repository to track with the according osg branch (which I didn't really like) or to detect the version and write preprocessor or cmake workarounds for that (which is also not a good solution).

I'm not sure what new problem OSG 2.8.3 has created for osgPPU that didn't
already exist with the OSG 2.8.2 release. Can you explain the problem?

The same version of osgPPU that works with 2.8.2 should also work with 2.8.3.
osgPPU trunk is broke with OSG 2.8.3, but it was also broke with OSG 2.8.2.

Suppose the 2.8.3 release never happened, and Allen was trying to build svn
trunk of osgPPU with the OSG 2.8.2 release. That would also not work, right?
What would you tell him to do in that case? The same answer should apply to 2.8.3.

Quote:
For this release I will go for a preprocessor solution, I think.

My external projects osgWorks and osgBullet are compatible with OSG 2.6.1 and
later. osgWorks contains version-specific code in only two places (to handle the
OSG API changes in Registry and Traits that occurred in OSG 2.6.0 and 2.8.0
respectively). And osgBullet contains no version-specific code at all; all
osgBullet code is 100% compatible with OSG 2.6.1 and later.

So, my use of the C preprocessor for OSG compatibility is very infrequent and is
not a problem in itself. However, testing on different versions can be a burden
to external project managers, and that's a decision you have to make.

--
-Paul Martz Skew Matrix Software
http://www.skew-matrix.com/


------------------
Post generated by Mail2Forum
Back to top
Paul Martz
Guest





PostPosted: Wed Apr 21, 2010 8:31 pm    Post subject:
Can't compile svn version of osgPPU against osg 2.8.3
Reply with quote

Allen Saucier wrote:
Quote:
http://forum.openscenegraph.org//files/screenshot2_903.png

The statement in this image implies that svn trunk of osgPPU is compatible with
the latest stable release of OSG. This is not correct.

It looks like the osgPPU 0.4 tag should be compatible with OSG 2.8.x. Maybe Art
can comment on version compatibility?

(A compatibility matrix might be useful, sort of like what I have done with
osgBullet:
http://code.google.com/p/osgbullet/wiki/CompatibilityMatrix
)

--
-Paul Martz Skew Matrix Software
http://www.skew-matrix.com/


------------------
Post generated by Mail2Forum
Back to top
Skylark (Jean-Sébastien Guay)
Professional


Joined: 05 Jan 2009
Posts: 2249

PostPosted: Wed Apr 21, 2010 9:00 pm    Post subject:
Can't compile svn version of osgPPU against osg 2.8.3
Reply with quote

Hi Art, Paul,

Quote:
My external projects osgWorks and osgBullet are compatible with OSG
2.6.1 and later. osgWorks contains version-specific code in only two
places (to handle the OSG API changes in Registry and Traits that
occurred in OSG 2.6.0 and 2.8.0 respectively). And osgBullet contains no
version-specific code at all; all osgBullet code is 100% compatible with
OSG 2.6.1 and later.

So, my use of the C preprocessor for OSG compatibility is very
infrequent and is not a problem in itself. However, testing on different
versions can be a burden to external project managers, and that's a
decision you have to make.

Just to chime in with another data point, we generally want to keep our
OSG graphics integration compatible with at least two generations of OSG
(currently 2.6.x and 2.8.x), but in general we're compatible across the
whole spectrum from 2.2 on (some features are not usable on such old
versions but they're disabled by compile-time checks). We might be
compatible with 2.0 as well, we just never checked (we moved from 1.2 to
2.2 directly).

We use the OSG_VERSION_GREATER_OR_EQUAL and OSG_VERSION_LESS_THAN macros
in some places, mostly where we derived a class to work around a bug we
found in a given version of OSG, and also submitted the fix to the base
osg:: class in parallel, so the next stable version contains the fix and
doesn't need the derived class anymore. But they're used only
sporadically, and the code is still very manageable and clear.

J-S
--
______________________________________________________
Jean-Sebastien Guay
http://www.cm-labs.com/
http://whitestar02.webhop.org/


------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
art (Art Tevs)
Site Admin


Joined: 20 Dec 2008
Posts: 414
Location: Saarbrücken, Germany

PostPosted: Wed Apr 21, 2010 9:05 pm    Post subject:
Reply with quote

Hi Paul,

you are right, current svn trunk of osgPPU is not compatible with osg 2.8.3, thats true. But what I mean is what should external project developers do, if there is a branch with different API in the osg svn repository?

For example, current osg developer version is 2.9.8 which is not compatible to 2.8.3. The version 2.8.3 came right a weak ago or so. The 2.9.8 and 2.9.7 osg versions exists longer than the 2.8.3 version. So as for my project I try to be compatible to the most youngest osg version. In this case this is the developer version in the trunk.

However if some time ago there was a split into another branch it might became painful to have an external NodeKit compatible with all official osg branches that exists. I mean 2.8.3 is based on 2.8, so between 2.8 and 2.9 there was an API change, this is ok. However both versions 2.8.3 and 2.9.x were maintained in parallel. So for NodeKit developers this would mean we have to take care also on osg branches in our trunks, which might became painful. Therefor I just asked, which kind of solutions there might exists.

But, ok, never mind, I will try to come up now with a solution to have the best of both worlds, new features and compatible API to the official stable release.

art

P.S. On the osgPPU webpage there is a compatiblity list given. So, currently no stable realase exists for the newest osg stable release, but this will change in the next days Wink


Thank you!

Cheers,
Art
Back to top
View user's profile Send private message Visit poster's website
Paul Martz
Guest





PostPosted: Wed Apr 21, 2010 10:45 pm    Post subject:
Can't compile svn version of osgPPU against osg 2.8.3
Reply with quote

Art Tevs wrote:
Quote:
However if some time ago there was a split into another branch it might became painful to have an external NodeKit compatible with all official osg branches that exists. I mean 2.8.3 is based on 2.8, so between 2.8 and 2.9 there was an API change, this is ok. However both versions 2.8.3 and 2.9.x were maintained in parallel. So for NodeKit developers this would mean we have to take care also on osg branches in our trunks, which might became painful. Therefor I just asked, which kind of solutions there might exists.

I, for one, would not expect any version of osgPPU to be compatible with OSG
2.8.3 other than the same version of osgPPU that was compatible with 2.8.2. I
think users should be able to use the same version of osgPPU and simply upgrade
OSG from 2.8.2 to 2.8.3 to get the new plugins in 2.8.3. (But they will probably
need to rebuild osgPPU because 2.8.3 is not binary compatible with 2.8.2.)

Quote:
But, ok, never mind, I will try to come up now with a solution to have the best of both worlds, new features and compatible API to the official stable release.

If you want to maintain compatibility with 2.8.x on osgPPU svn trunk, then that
is certainly possible, and a worthy goal, but (in my opinion) it is entirely
optional and not required for you to do so, because you already have a tagged
osgPPU release that is compatible with OSG 2.8.x.

--
-Paul Martz Skew Matrix Software
http://www.skew-matrix.com/


------------------
Post generated by Mail2Forum
Back to top
allensaucier
Appreciator


Joined: 10 Apr 2009
Posts: 126

PostPosted: Thu Apr 22, 2010 2:46 pm    Post subject:
Re: Can't compile svn version of osgPPU against osg 2.8.3
Reply with quote

Hi bouffa,
thx for this info! I never knew that there was a difference between "trunk" and "branch" not suspected such a think.

How, I understand that the "developer" version is the trunk and the released stable versions are branches.

bouffa wrote:
Hi Allen,

http://www.openscenegraph.org/projects/osg/wiki/Downloads


You are using the svn of the 2.8 branch (stable release). The trunk is a developer release (at the end of the web page). To get svn trunk of osg, check this link :


http://www.openscenegraph.org/projects/osg/wiki/Downloads/SVN


[url=http://www.openscenegraph.org/projects/osg/wiki/Downloads/SVN][/url]
Mourad


and Paul, I understand why you are calling the version of osgPPU the "trunk" version.
paul wrote:


Quote � Select �
http://forum.openscenegraph.org//files/screenshot2_903.png

The statement in this image implies that svn trunk of osgPPU is compatible with
the latest stable release of OSG. This is not correct.



Paul,
you wrote:
paul wrote:

art wrote:
Art Tevs wrote:
Quote: � Select � � Expand �
Ok, then it explains why it does not compile. Yes, svn trunk of osgPPU tracks the svn trunk of OSG.

Hmm, I wonder how to handle different osg branches in future. I mean if again something like this happens, then I had either to create additional branch in osgPPU repository to track with the according osg branch (which I didn't really like) or to detect the version and write preprocessor or cmake workarounds for that (which is also not a good solution).

I'm not sure what new problem OSG 2.8.3 has created for osgPPU that didn't
already exist with the OSG 2.8.2 release. Can you explain the problem?


I believe the answer is this:
in the developer version of osg, 2.9.7 (I do not see any access to version 2.9.8 ) there was a method added to the PixelDataBufferObject class called getOrCreateGLBufferObject(). This method is required by the svn or "trunk" version of osgPPU but it is NOT needed by osgPPU 0.4. osgPPU 0.4 compiles with 2.8.3 and 2.8.2 "branch" versions, no problem.

I do not believe there is a "new problem" unless we mix the developer version of osgPPU with a branch version of osg and this is where I became very confused as I never knew the developer version was called "trunk" and the stable release versions were called "branch." I was mixing the two trying to implement some of Art's latest updates in osgPPU.

I do believe Art has a good point: when the developer version of osg diverges from the branch, what is he do to when he is relying on functionality in the developer version that is not in a branch version?
Back to top
View user's profile Send private message
art (Art Tevs)
Site Admin


Joined: 20 Dec 2008
Posts: 414
Location: Saarbrücken, Germany

PostPosted: Thu Apr 22, 2010 5:30 pm    Post subject:
Reply with quote

Hi Allen,

usual naming convention is to call "trunk" to the current content of the working base in svn repsitory. This means, trunk is something were all changes/patches are applied to. After some time, trunk is get "tagged", branched, and new release is published. In several cases the so tagged version is get developed further, which in that case happened to osg. Somewhere the version 2.7.x was tagged/branched as 2.8 and released as stable version. The work continued on 2.9.x but also patches were applied to 2.8.x. So in general this means, that it could happen that if current 2.9.x version will be tagged as 2.10 there could exists both versions living besides, 2.8 and 2.10 having different APIs.

As for osgPPU it is not only the getOrCreateGLBufferObject() which don't work, but also much more things. I tried yesterday to bring combine current trunk version of osgPPU with osg 2.8 and that didn't really worked out without introducing additional bugs. So, I decided to submit several patches to the 0.4 release but do not include new features, only patches. This will be a 0.4.1 version, which will be compatible with up-to osg 2.8.3.

As for very new features, like new Units or new examples, I will have to wait until next stable release from the 2.9.x version ,which might be the 2.10. Maybe I will come with some developer release inbetween so that there is something compatible with osg 2.9.x versions out there.


Cheers,
Art
Back to top
View user's profile Send private message Visit poster's website
allensaucier
Appreciator


Joined: 10 Apr 2009
Posts: 126

PostPosted: Thu Apr 22, 2010 6:06 pm    Post subject:
Reply with quote

Thank you Art. Smile

I understand and it does appear that the "trunk" version of OSG has a different API from the stable release version, 2.8.3.

I'll be happy to stay with osg 2.8.3 and osgPPU 0.4. This combination works very well on both linux and windows. I'll upgrade my version of osgPPU whenever you have the time out update it. No hurry.

I really appreciate your work as you have helped me immeasurably! I can now accomplish my task and finish my project because of your osgPPU module.

Thanks Art,
Allen
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    OpenSceneGraph Forum Forum Index -> osgPPU [osgPPU] All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

Similar Topics
Topic Author Forum Replies Posted
No new posts how to convert osgb files to old version Haojia General 1 Fri Jun 02, 2017 4:35 pm View latest post
No new posts OSG 3.4 and Qt 5 cmake problem. Found... Elias Tarasov General 1 Mon Apr 10, 2017 12:26 pm View latest post
No new posts Version 3.5.6 osgText::Text bounding ... dcfennell General 0 Tue Jan 31, 2017 5:40 pm View latest post
No new posts OpenThreads Pthread.cpp fails to comp... crubel@compro.net Submission 3 Tue Nov 29, 2016 9:26 pm View latest post
No new posts bug: Android cross compile (windows) ... remoe Build system [build] 0 Sat Oct 29, 2016 7:51 pm View latest post


Board Security Anti Bot Question MOD - phpBB MOD against Spam Bots
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP