Compile issues with Ubuntu 8.10

src/Crt/1.4/CrtSceneRead.cpp:2133: error: request for member ‘push_back’ in ‘ctrl->CrtController::skeletons’, which is of non-class type ‘int’
src/Crt/1.4/CrtSceneRead.cpp: In member function ‘CrtNode* CrtScene::ReadNode(domNodeRef, CrtNode*)’:
src/Crt/1.4/CrtSceneRead.cpp:2146: warning: deprecated conversion from string constant to ‘char*’
make[1]: *** [build/linux-1.4/obj/CrtSceneRead.o] Error 1
make[1]: Leaving directory `/home/name/graphics/colladadom/rt'
make: *** [all] Error 2

Have libxml2, pcre3-dev, nvidia-cg-toolkit, glut, libboost-fs-dev installed couldnt find the issue any ideas?

Can you tell us which version of GCC you are using?

Every time they update the version they seem to get a bit more strict about the interpretation of C++ rules, to test this out I need to make sure we are using the exact same compiler version.

I think the command is gcc --version to get the version number.

gcc version 4.3.2

I’m trying to think of anything else that it could be,

Also using:
Nvidia Cg toolkit: Cg-2.0_May2008_x86_64.tgz

Currently trying with gcc 4.2 - apparently meant to have worked in 8.04 ubuntu - wish me luck

Okay I got abit further…

Compiling src/Crt/CrtAnimation.cpp to build/linux-1.4/obj/CrtAnimation.o
src/Crt/CrtAnimation.cpp:227:2: warning: no newline at end of file
Compiling src/Crt/CrtEffect.cpp to build/linux-1.4/obj/CrtEffect.o
In file included from include/Crt/CrtPlatform.h:14,
                 from src/Crt/CrtEffect.cpp:8:
include/Crt/CrtLinux.h:28: error: conflicting declaration ‘typedef int GLsizeiptr’
/usr/include/GL/glext.h:3711: error: ‘GLsizeiptr’ has a previous declaration as‘typedef ptrdiff_t GLsizeiptr’
In file included from include/Crt/CrtPlatform.h:14,
                 from src/Crt/CrtEffect.cpp:8:
include/Crt/CrtLinux.h:77: warning: ‘void MessageBox(char*, char*, char*, int)’defined but not used
make[1]: *** [build/linux-1.4/obj/CrtEffect.o] Error 1
make[1]: Leaving directory `/home/name/graphics/colladadom/rt'
make: *** [all] Error 2

Seems there may be some sort of conflict with my installation of OpenGL? gunna have a prod arround with it. Any ideas would be greatly appreciated - I will persevere but dam didnt think it wud be this hard.

Oh…I just realized these errors are in the RT/Viewer and not the DOM.

One of the people here just checked in a number of fixes to the Linux build of the RT/Viewer. She was testing with GCC 4.2.3 and it seemed to work. I think there is a new linux readme now too.

If you haven’t done a fresh checkout in the last day or so, please give that a try and let me know how it builds. I don’t think a new ZIP package is up yet, so you need to grab it through a subversion checkout for now.

Please let me know how this goes for you, if you still have problems building we’ll run some more tests.

I have removed following section of code from CrtLinux.h, and checked the new code in sourceforge. This should solve the issue you have been experiencing.

#ifndef GLsizeiptr
typedef int GLsizeiptr;

Apparently “GLsizeiptr” is already defined to be “ptrdiff_t” in glext.h, although I do not understand why the “#ifndef GLsizeiptr” in CrtLinux.h did not prevent the redefinition of it…

I am using Ubuntu 8.04, gcc 4.2.3, Cg 2.1 Toolkit, not sure which openGL version I am using. Please let me know if the new CrtLinux.h does not fix your problem.