Discussion:
[CsMain] Source Build Failing
John Schneiderman
2014-04-17 01:09:25 UTC
Permalink
I have downloaded the source and configured it in a build directory, /tmp/cs-
build , but when I then attempt to run the jam executable I get the following
series of errors:
In file included from /home/john/Projects/crystalspace-
src-2.0/./include/csutil/threading/thread.h:24:0,
from /home/john/Projects/crystalspace-
src-2.0/./include/csutil/threadjobqueue.h:36,
from /home/john/Projects/crystalspace-
src-2.0/./include/csutil/threadmanager.h:25,
from /home/john/Projects/crystalspace-
src-2.0/libs/csutil/threadmanager.cpp:22:
/home/john/Projects/crystalspace-src-2.0/./include/csutil/refarr.h: In
instantiation of ‘csRef<T> csRefArray<T, Allocator, CapacityHandler>::Pop()
[with T = iThreadReturn; Allocator = CS::Memory::AllocatorMalloc;
CapacityHandler = csArrayCapacityFixedGrow<16>]’:
/home/john/Projects/crystalspace-src-2.0/libs/csutil/threadmanager.cpp:192:38:
required from here
/home/john/Projects/crystalspace-src-2.0/./include/csutil/refarr.h:114:34:
error: ‘SetSize’ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation [-
fpermissive]
SetSize (this->GetSize () - 1);

I've attached the configuration log with my set-up. I didn't see anything in
the configuration which was missing as being required for the build. Does
anyone see what I'm not doing correctly here?

John S.
Eric Sunshine
2014-04-17 07:36:56 UTC
Permalink
CS 2.0 is several years old. Have you tried grabbing the source code
from 'trunk' in the Subversion repository?

On Wed, Apr 16, 2014 at 9:09 PM, John Schneiderman
Post by John Schneiderman
I have downloaded the source and configured it in a build directory, /tmp/cs-
build , but when I then attempt to run the jam executable I get the following
In file included from /home/john/Projects/crystalspace-
src-2.0/./include/csutil/threading/thread.h:24:0,
from /home/john/Projects/crystalspace-
src-2.0/./include/csutil/threadjobqueue.h:36,
from /home/john/Projects/crystalspace-
src-2.0/./include/csutil/threadmanager.h:25,
from /home/john/Projects/crystalspace-
/home/john/Projects/crystalspace-src-2.0/./include/csutil/refarr.h: In
instantiation of ‘csRef<T> csRefArray<T, Allocator, CapacityHandler>::Pop()
[with T = iThreadReturn; Allocator = CS::Memory::AllocatorMalloc;
required from here
error: ‘SetSize’ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation [-
fpermissive]
SetSize (this->GetSize () - 1);
I've attached the configuration log with my set-up. I didn't see anything in
the configuration which was missing as being required for the build. Does
anyone see what I'm not doing correctly here?
John S.
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Crystal-main mailing list
https://lists.sourceforge.net/lists/listinfo/crystal-main
John Schneiderman
2014-04-17 22:40:48 UTC
Permalink
Post by Eric Sunshine
CS 2.0 is several years old. Have you tried grabbing the source code
from 'trunk' in the Subversion repository?
I have not tried the SVN repository since I was looking for a stable code
base to learn from. Do I understand correctly that the stable download is
not maintained then? Am I doing the build process correctly?

John S.
John Schneiderman
2014-04-17 23:33:29 UTC
Permalink
Post by Eric Sunshine
CS 2.0 is several years old. Have you tried grabbing the source code
from 'trunk' in the Subversion repository?
Building off of trunk using the same command still failed. This time the error
looks like this, amongst a few others:

In file included from /home/john/Projects/crystal-
space-3d/trunk/./include/csgfx/shadervar.h:38:0,
from /home/john/Projects/crystal-
space-3d/trunk/./include/ivideo/shader/shader.h:32,
from /home/john/Projects/crystal-
space-3d/trunk/plugins/video/render3d/shader/shadercompiler/xmlshader/shaderwrapper.h:33,
from /home/john/Projects/crystal-
space-3d/trunk/plugins/video/render3d/shader/shadercompiler/xmlshader/shaderwrapper.cpp:20:
/home/john/Projects/crystal-space-3d/trunk/./include/csutil/leakguard.h:52:21:
error: redefinition of ‘CS::Plugin::XMLShader::csXMLShaderWrapper::csLeakGuard
CS::Plugin::XMLShader::csXMLShaderWrapper::leakguard’
m::csLeakGuard m::leakguard
^
/home/john/Projects/crystal-
space-3d/trunk/plugins/video/render3d/shader/shadercompiler/xmlshader/shaderwrapper.cpp:190:1:
note: in expansion of macro ‘CS_LEAKGUARD_IMPLEMENT’
CS_LEAKGUARD_IMPLEMENT (csXMLShaderWrapper);
^
/home/john/Projects/crystal-
space-3d/trunk/plugins/video/render3d/shader/shadercompiler/xmlshader/shaderwrapper.cpp:32:25:
error: ‘CS::Plugin::XMLShader::csXMLShaderWrapper::csLeakGuard
CS::Plugin::XMLShader::csXMLShaderWrapper::leakguard’ previously declared here
CS_LEAKGUARD_IMPLEMENT (csXMLShaderWrapper);
^
/home/john/Projects/crystal-space-3d/trunk/./include/csutil/leakguard.h:52:18:
note: in definition of macro ‘CS_LEAKGUARD_IMPLEMENT’
m::csLeakGuard m::leakguard
^
res
2014-04-18 12:50:02 UTC
Permalink
Post by John Schneiderman
Building off of trunk using the same command still failed. This time the error
What compiler are you using?

-f.r.
John Schneiderman
2014-04-18 21:36:17 UTC
Permalink
Post by res
What compiler are you using?
$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-mageia-linux-gnu/4.8.2/lto-wrapper
Target: x86_64-mageia-linux-gnu
Configured with: ../configure --prefix=/usr --libexecdir=/usr/lib --with-
slibdir=/lib64 --with-bugurl=http://bugs.mageia.org/ --mandir=/usr/share/man
--infodir=/usr/share/info --enable-checking=release --enable-
languages=c,c++,ada,fortran,objc,obj-c++,java --enable-linker-build-id --
build=x86_64-mageia-linux-gnu --host=x86_64-mageia-linux-gnu --with-
cpu=generic --with-system-zlib --enable-threads=posix --enable-shared --
enable-objc-gc --enable-long-long --enable-__cxa_atexit --disable-libunwind-
exceptions --enable-clocale=gnu --enable-java-awt=gtk --with-java-
home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --with-ecj-
jar=/usr/share/java/eclipse-ecj.jar --enable-gtk-cairo --disable-libjava-
multilib --enable-ssp --disable-libssp --disable-werror --with-ppl --with-
cloog --with-python-dir=/lib/python2.7/site-packages --enable-lto
Thread model: posix
gcc version 4.8.2 (GCC)
res
2014-04-18 23:23:36 UTC
Permalink
Hi,
the trunk is fixed now. Thanks for letting us know.

-f.r.
John Schneiderman
2014-04-19 17:39:05 UTC
Permalink
Post by res
the trunk is fixed now. Thanks for letting us know.
Not a problem. I'm eager to start using the library. But it seems I've found
another build issue with bullet library. I've grabbed the first compiler error.

Error from Bullet Library version 2.81
DoSplitDebugInfo cssocket.so
C++ ./out/linux/debug/plugins/physics/bullet/joints.o
/home/john/Projects/crystal-space-3d/trunk/plugins/physics/bullet/bullet.cpp:
In member function ‘void
CS::Plugin::Bullet::csBulletDynamicsSystem::CheckCollisions()’:
/home/john/Projects/crystal-
space-3d/trunk/plugins/physics/bullet/bullet.cpp:309:63: error: static_cast
from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away
qualifiers
static_cast<btCollisionObject*> (contactManifold->getBody0 ());
^
/home/john/Projects/crystal-
space-3d/trunk/plugins/physics/bullet/bullet.cpp:311:63: error: static_cast
from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away
qualifiers
static_cast<btCollisionObject*> (contactManifold->getBody1 ());
^
/home/john/Projects/crystal-space-3d/trunk/plugins/physics/bullet/bullet.cpp:
In member function ‘virtual CS::Physics::Bullet::HitBeamResult
CS::Plugin::Bullet::csBulletDynamicsSystem::HitBeam(const csVector3&, const
csVector3&)’:
/home/john/Projects/crystal-
space-3d/trunk/plugins/physics/bullet/bullet.cpp:739:70: error: invalid
conversion from ‘const btSoftBody*’ to ‘btSoftBody*’ [-fpermissive]
btSoftBody* body = btSoftBody::upcast (rayCallback.m_collisionObject);
^
LinkPlugin csnetworkeventmanager.so

g++ -c -o ./out/linux/debug/plugins/physics/bullet/bullet.o -
I/home/john/Projects/crystal-space-3d/trunk/. -I./include -
I/home/john/Projects/crystal-space-3d/trunk/./include -
I/home/john/Software/include -pipe -I/home/john/Software/include -Wall -Wno-
unknown-pragmas -fvisibility=hidden -mtune=generic -mfpmath=sse -
I/usr/local/include -I/home/john/Software/include -
I/home/john/Software/include -fno-exceptions -fvisibility-inlines-hidden -
ffunction-sections -fdata-sections -g3 -DCS_DEBUG -fPIC -I/usr/include/bullet
/home/john/Projects/crystal-space-3d/trunk/plugins/physics/bullet/bullet.cpp

...failed C++ ./out/linux/debug/plugins/physics/bullet/bullet.o ...
Christian Van Brussel
2014-04-22 15:00:07 UTC
Permalink
Post by John Schneiderman
Not a problem. I'm eager to start using the library. But it seems I've found
another build issue with bullet library. I've grabbed the first compiler error.
Error from Bullet Library version 2.81
This is a known problem, Bullet introduced some API breakage in 2.81,
and managing this API change within CS is not easy.

As in the CS manual, the current status for the physics2 plugin is:
"Version: 2.78 minimum, 2.81 or above will not work currently".
John Schneiderman
2014-04-24 01:51:34 UTC
Permalink
Post by Christian Van Brussel
This is a known problem, Bullet introduced some API breakage in 2.81,
and managing this API change within CS is not easy.
Does that mean some is looking into fixing the 2.81 break or is the project
looking for someone to step up?

John S.
Christian Van Brussel
2014-04-24 16:53:10 UTC
Permalink
Post by John Schneiderman
Post by Christian Van Brussel
This is a known problem, Bullet introduced some API breakage in 2.81,
and managing this API change within CS is not easy.
Does that mean some is looking into fixing the 2.81 break or is the project
looking for someone to step up?
I'm on it.

While working towards it, I noticed that Bullet actually introduced some
API breakage in both 2.81 AND 2.82, complicating even further the
problem.

I'm although working on a solution that should work for all versions
between 2.79 and 2.82.

Loading...