Horde3D
http://horde3d.org/forums/

Linux Support
http://horde3d.org/forums/viewtopic.php?f=1&t=161
Page 1 of 1

Author:  kcbanner [ 22.08.2007, 20:35 ]
Post subject:  Linux Support

Hey all,

Just downloaded the Horde3D lib and noticed it was windows only :P. So I created a simple Makefile to compile it. Here are the results:

Code:
[kcbanner@infiltrator Source]$ make
==== Building Horde3D ====
egAnimation.cpp
In file included from Horde3D/egResource.h:29,
                 from Horde3D/egAnimation.h:27,
                 from Horde3D/egAnimation.cpp:25:
Horde3D/egGlobalTypes.h:169:2: warning: no newline at end of file
In file included from Horde3D/egAnimation.cpp:25:
Horde3D/egAnimation.h:28:20: error: utMath.h: No such file or directory
Horde3D/egAnimation.h:68:3: warning: no newline at end of file
In file included from Horde3D/egSingleton.h:27,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egCom.h:76:3: warning: no newline at end of file
In file included from Horde3D/egScene.h:28,
                 from Horde3D/egSingleton.h:28,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egPrimitives.h:208:3: warning: no newline at end of file
In file included from Horde3D/egScene.h:30,
                 from Horde3D/egSingleton.h:28,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egIntegrationLib.h:52:3: warning: no newline at end of file
In file included from Horde3D/egSingleton.h:28,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egScene.h:164:3: warning: no newline at end of file
In file included from Horde3D/egRenderer.h:27,
                 from Horde3D/egSingleton.h:30,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egRendererBase.h:103:3: warning: no newline at end of file
In file included from Horde3D/egSingleton.h:30,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egRenderer.h:109:3: warning: no newline at end of file
In file included from Horde3D/egSingleton.h:31,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egPipeline.h:151:3: warning: no newline at end of file
Horde3D/egAnimation.cpp:27:19: error: utSTL.h: No such file or directory
Horde3D/egAnimation.cpp:29:21: error: utDebug.h: No such file or directory
Horde3D/egAnimation.cpp:148:2: warning: no newline at end of file
In file included from Horde3D/egAnimation.cpp:25:
Horde3D/egAnimation.h:33: error: ‘Quaternion’ does not name a type
Horde3D/egAnimation.h:34: error: ‘Vec3f’ does not name a type
Horde3D/egAnimation.h:35: error: ‘Matrix4f’ does not name a type
Horde3D/egAnimation.h:42: error: ‘Matrix4f’ does not name a type
In file included from Horde3D/egScene.h:28,
                 from Horde3D/egSingleton.h:28,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egPrimitives.h:37: error: ‘Vec3f’ does not name a type
Horde3D/egPrimitives.h:41: error: ISO C++ forbids declaration of ‘Vec3f’ with no type
Horde3D/egPrimitives.h:41: error: expected ‘;’ before ‘&’ token
Horde3D/egPrimitives.h:42: error: expected `;' before ‘Vec3f’
Horde3D/egPrimitives.h:42: error: ISO C++ forbids declaration of ‘Vec3f’ with no type
Horde3D/egPrimitives.h:42: error: expected ‘;’ before ‘&’ token
Horde3D/egPrimitives.h:44: error: expected `;' before ‘void’
Horde3D/egPrimitives.h:51: error: expected ‘,’ or ‘...’ before ‘&’ token
Horde3D/egPrimitives.h:51: error: ISO C++ forbids declaration of ‘Matrix4f’ with no type
Horde3D/egPrimitives.h: In member function ‘void BoundingBox::clear()’:
Horde3D/egPrimitives.h:46: error: ‘_minCoords’ was not declared in this scope
Horde3D/egPrimitives.h:46: error: ‘Vec3f’ was not declared in this scope
Horde3D/egPrimitives.h:47: error: ‘_maxCoords’ was not declared in this scope
Horde3D/egPrimitives.h: In member function ‘void BoundingBox::transform(int)’:
Horde3D/egPrimitives.h:71: error: ‘Vec3f’ was not declared in this scope
Horde3D/egPrimitives.h:71: error: expected `;' before ‘minCoords’
Horde3D/egPrimitives.h:72: error: expected `;' before ‘maxCoords’
Horde3D/egPrimitives.h:75: error: ‘_minCoords’ was not declared in this scope
Horde3D/egPrimitives.h:75: error: ‘m’ was not declared in this scope
Horde3D/egPrimitives.h:76: error: ‘_maxCoords’ was not declared in this scope
Horde3D/egPrimitives.h:78: error: ‘minCoords’ was not declared in this scope
Horde3D/egPrimitives.h:79: error: ‘maxCoords’ was not declared in this scope
Horde3D/egPrimitives.h:80: error: ‘minf’ was not declared in this scope
Horde3D/egPrimitives.h:81: error: ‘maxf’ was not declared in this scope
Horde3D/egPrimitives.h: In member function ‘bool BoundingBox::makeUnion(BoundingBox&)’:
Horde3D/egPrimitives.h:138: error: ‘_minCoords’ was not declared in this scope
Horde3D/egPrimitives.h:138: error: ‘_maxCoords’ was not declared in this scope
Horde3D/egPrimitives.h:141: error: ‘class BoundingBox’ has no member named ‘_minCoords’
Horde3D/egPrimitives.h:142: error: ‘class BoundingBox’ has no member named ‘_maxCoords’
Horde3D/egPrimitives.h:144: error: ‘class BoundingBox’ has no member named ‘_minCoords’
Horde3D/egPrimitives.h:144: error: ‘class BoundingBox’ has no member named ‘_maxCoords’
Horde3D/egPrimitives.h:146: error: ‘class BoundingBox’ has no member named ‘_minCoords’
Horde3D/egPrimitives.h:146: error: ‘class BoundingBox’ has no member named ‘_minCoords’
Horde3D/egPrimitives.h:147: error: ‘class BoundingBox’ has no member named ‘_minCoords’
Horde3D/egPrimitives.h:147: error: ‘class BoundingBox’ has no member named ‘_minCoords’
Horde3D/egPrimitives.h:148: error: ‘class BoundingBox’ has no member named ‘_minCoords’
Horde3D/egPrimitives.h:148: error: ‘class BoundingBox’ has no member named ‘_minCoords’
Horde3D/egPrimitives.h:150: error: ‘class BoundingBox’ has no member named ‘_maxCoords’
Horde3D/egPrimitives.h:150: error: ‘class BoundingBox’ has no member named ‘_maxCoords’
Horde3D/egPrimitives.h:151: error: ‘class BoundingBox’ has no member named ‘_maxCoords’
Horde3D/egPrimitives.h:151: error: ‘class BoundingBox’ has no member named ‘_maxCoords’
Horde3D/egPrimitives.h:152: error: ‘class BoundingBox’ has no member named ‘_maxCoords’
Horde3D/egPrimitives.h:152: error: ‘class BoundingBox’ has no member named ‘_maxCoords’
Horde3D/egPrimitives.h: At global scope:
Horde3D/egPrimitives.h:164: error: ‘Vec3f’ does not name a type
Horde3D/egPrimitives.h:165: error: ‘Plane’ does not name a type
Horde3D/egPrimitives.h:166: error: ‘Vec3f’ does not name a type
Horde3D/egPrimitives.h:170: error: ISO C++ forbids declaration of ‘Vec3f’ with no type
Horde3D/egPrimitives.h:170: error: expected ‘;’ before ‘&’ token
Horde3D/egPrimitives.h:172: error: expected `;' before ‘void’
Horde3D/egPrimitives.h:172: error: expected ‘,’ or ‘...’ before ‘&’ token
Horde3D/egPrimitives.h:172: error: ISO C++ forbids declaration of ‘Matrix4f’ with no type
Horde3D/egPrimitives.h:173: error: expected ‘,’ or ‘...’ before ‘&’ token
Horde3D/egPrimitives.h:174: error: ISO C++ forbids declaration of ‘Matrix4f’ with no type
Horde3D/egPrimitives.h:174: error: ‘void Frustum::buildViewFrustum(int)’ cannot be overloaded
Horde3D/egPrimitives.h:172: error: with ‘void Frustum::buildViewFrustum(int)’
Horde3D/egPrimitives.h:175: error: ‘Vec3f’ has not been declared
Horde3D/egPrimitives.h:176: error: ‘Vec3f’ has not been declared
In file included from Horde3D/egScene.h:30,
                 from Horde3D/egSingleton.h:28,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egIntegrationLib.h:31: error: expected initializer before ‘NodeAttachment’
make[1]: *** [obj/Debug/egAnimation.o] Error 1
make: *** [Horde3D] Error 2
[kcbanner@infiltrator Source]$


As you can see windows is quite lazy with its newlines at the end of files (it doesn't comply to POSIX :P).

Anyway I can see there were quite a few headers not found. I assume these are windows only headers?

Anyway thats my results.

-kcbanner

Author:  kcbanner [ 22.08.2007, 20:41 ]
Post subject: 

Oops! I didn't realize I needed to include the Shared folder for .h files.

Here is the results:

Code:
==== Building Horde3D ====
egAnimation.cpp
In file included from Horde3D/egResource.h:29,
                 from Horde3D/egAnimation.h:27,
                 from Horde3D/egAnimation.cpp:25:
Horde3D/egGlobalTypes.h:169:2: warning: no newline at end of file
In file included from Horde3D/egAnimation.h:28,
                 from Horde3D/egAnimation.cpp:25:
Shared/utMath.h:769:2: warning: no newline at end of file
In file included from Horde3D/egAnimation.cpp:25:
Horde3D/egAnimation.h:68:3: warning: no newline at end of file
In file included from Horde3D/egSingleton.h:27,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egCom.h:76:3: warning: no newline at end of file
In file included from Horde3D/egScene.h:28,
                 from Horde3D/egSingleton.h:28,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egPrimitives.h:208:3: warning: no newline at end of file
In file included from Horde3D/egScene.h:30,
                 from Horde3D/egSingleton.h:28,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egIntegrationLib.h:52:3: warning: no newline at end of file
In file included from Horde3D/egSingleton.h:28,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egScene.h:164:3: warning: no newline at end of file
In file included from Horde3D/egRenderer.h:27,
                 from Horde3D/egSingleton.h:30,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egRendererBase.h:103:3: warning: no newline at end of file
In file included from Horde3D/egSingleton.h:30,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egRenderer.h:109:3: warning: no newline at end of file
In file included from Horde3D/egSingleton.h:31,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egPipeline.h:151:3: warning: no newline at end of file
In file included from Horde3D/egAnimation.cpp:27:
Shared/utSTL.h:29:20: warning: hash_map: No such file or directory
In file included from Horde3D/egAnimation.cpp:29:
Shared/utDebug.h:41:7: warning: no newline at end of file
Horde3D/egAnimation.cpp:148:2: warning: no newline at end of file
In file included from Horde3D/egScene.h:30,
                 from Horde3D/egSingleton.h:28,
                 from Horde3D/egAnimation.cpp:26:
Horde3D/egIntegrationLib.h:31: error: expected initializer before ‘NodeAttachment’
make[1]: *** [obj/Debug/egAnimation.o] Error 1
make: *** [Horde3D] Error 2


Ideas?

Author:  marciano [ 23.08.2007, 00:11 ]
Post subject: 

Hello,

Marc Schuba, a student researcher from the University of Bielefeld, has recently successfully ported Horde3D to Linux. Luckily only a few changes were necessary. We are currently integrating these to the Horde main branch, so the next version should be much easier to compile under Linux and other platforms.

Author:  jschwarty [ 23.08.2007, 12:02 ]
Post subject: 

marciano wrote:
Hello,

Marc Schuba, a student researcher from the University of Bielefeld, has recently successfully ported Horde3D to Linux. Luckily only a few changes were necessary. We are currently integrating these to the Horde main branch, so the next version should be much easier to compile under Linux and other platforms.
Hi.

Good to hear of the port for Linux. I have been trying to port it myself, but now I guess I'll drop it and wait for the next release. :wink:
If you need any help integrating code and/or seting up a build for Linux, I would be happy to try and help.

By the way, is there a IRC/other channel set up for Horde3D?

Author:  marciano [ 23.08.2007, 20:26 ]
Post subject: 

Thanks for offering your help! I myself have only little experience with Linux programming, but at the moment everything looks quite good. If there are still problems I will come back to your offer.

Currently there is no chat system set up for Horde. With the community still being quite small at the moment, I think the forums should be enough.


BTW, I am abroad for five days now and so I probably won't be able to post here...

Author:  jschwarty [ 01.09.2007, 09:36 ]
Post subject: 

Hey marciano.

Just thought I'd ask, what build system are you thinking of using for Linux? I reakon it would be good to use something relitvely simple and compact to match the engine.

Maybe just simple Makefiles? I reakon it would be pretty simple/compact, at least for a start. But then it might get overly complex to maintain (and large) in the future?

Automake? It might be the most complex/bloated. It's a pretty good build system in general I reakon, just maybe not suited to Horde3D?

Or maybe another one like Jam, Cmake, or Scons? With somewhat limited experience with Jam, so far, it seems pretty good to me (more simple, less files) compared to Automake. I haven't really got into the other two (or any thing else).

Just wondering out of interest.

Also, what build system(s) for Linux does everyone else think would be a good match for the engine?

Author:  marciano [ 04.09.2007, 08:44 ]
Post subject: 

Hi.

As a windows and Visual Studio user I don't have any experience with build systems so I can't say much about that. I hope someone else will take care of that, my goal now is to make the code completely platform independent. But as you already said it should be something that fits the project, thus lightweight and easy to use. Might be a simple make file would really be a good start. Horde will still grow a bit but one of the goals is that it should always remain lightweight and uncomplicated.

Author:  DarkAngel [ 05.09.2007, 06:19 ]
Post subject: 

It would be nice to use a meta-build system like MPC.
We use MPC at my work to generate Visual Studio project/solution files, but AFAIK it can also produce makefiles for *nix and workspaces for other IDEs.

Author:  marciano [ 01.10.2007, 22:48 ]
Post subject: 

I'm glad to announce that Horde is officially cross-platform now :)

The new version compiles fine under Linux (at least our Ubuntu test system). We just use simple make files which were quite easy to write after reading some good tutorials...

Author:  neseir [ 26.10.2007, 18:58 ]
Post subject: 

Hi

Tried to build the 0.12 release on a 7.10 Ubuntu installation and got a lot of messages like this :

eirik@pcubuntuamd:~/Builds/Horde3D SDK [0.12.0]$ make all
#
#
#
# Building Horde3D Engine
#
cd Source/Horde3D\ Engine; make CFLAGS=""
make[1]: Entering directory `/home/eirik/Builds/Horde3D SDK [0.12.0]/Source/Horde3D Engine'
g++ -c egRendererBase.cpp -oegRendererBase.o -I../../Dependencies/Include -I../Shared -fPIC
utOpenGL.h:153: error: ‘void (* glBlendColor)(GLclampf, GLclampf, GLclampf, GLclampf)’ redeclared as different kind of symbol
/usr/include/GL/gl.h:1662: error: previous declaration of ‘void glBlendColor(GLclampf, GLclampf, GLclampf, GLclampf)’
utOpenGL.h:154: error: ‘void (* glBlendEquation)(GLenum)’ redeclared as different kind of symbol
/usr/include/GL/gl.h:1659: error: previous declaration of ‘void glBlendEquation(GLenum)’
...
...
...

Looks like there are some functions that have been redeclared with different notation. Any idea hove to resolve this ?

Regards
Eirik

Author:  marciano [ 27.10.2007, 17:58 ]
Post subject: 

Hello, the code was working on Ubuntu 7.04; obviously there must have been some changes to the GL headers.

I have completely removed dependency from gl.h now. Luckily I had the chance to test it on Ubuntu 7.10 and it is working now. Here is the updated file:

http://www.nextgen-engine.net/tmp/utOpenGL.h

Hope that helps!

Author:  neseir [ 27.10.2007, 21:04 ]
Post subject: 

Thanks ! :D

Replaced the headerfile and everything compiled ok.

Regards
Eirik

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/