Problems on Linux

edited February 2010 in Help request

What I do is
cd orx/code/build
I have bakefile installed. I get
./ line 5: cd: linux/autoconf: No such file or directory
aclocal: `' or `' is required
then I
cd linux/gnu/
and get
g++ -shared -fPIC -o ../../../bin/plugins// ./debug/orxPhysics_Box2D_orxPhysics.o  -g -L../../../lib/static  -L../../../../extern/Box2D_2.0.1/Orx/lib/linux -lBox2D    
/usr/bin/ld: skipping incompatible ../../../../extern/Box2D_2.0.1/Orx/lib/linux/libBox2D.a when searching for -lBox2D
/usr/bin/ld: cannot find -lBox2D
collect2: ld returned 1 exit status
make: *** [../../../bin/plugins//] Error 1
I do have box2d-svn installed, the installed files are

Ok, I remove -lBox2D from the makefile and it works.

Now I go back to svnroot/bin and do ./orxd. What I get is:
[2010-02-08 23:00:51] <SYSTEM> (orxConfig_Load() - src/core/orxConfig.c:2380) [./orxd.ini]: Begins the processing of included file @orx.ini@.
[2010-02-08 23:00:51] <SYSTEM> (orxConfig_Load() - src/core/orxConfig.c:2386) [./orxd.ini]: Ends the processing of included file @orx.ini@.
[2010-02-08 23:00:51] <SYSTEM> (orxConfig_Load() - src/core/orxConfig.c:2294) Config entry [Display::Title]: Replacing value "OrxDemo (Release)" with new value "OrxDemo (Debug)" from <./orxd.ini>.
Segmentation fault

In gdb, I can't backtrace.

This is orx-svn. Am I doing something wrong?


  • edited February 2010
    Hi qubodup!

    First of all, I've never tested the autogen script myself. All the bakefiles have been made by someone who isn't on the project anymore and I'm barely maintaining them. I probably should delete them once and for all.

    If you have access to codelite on linux, I suggest you use it to compile orx as the projects are ready for all the targets.
    Whereas if you use the bakefile-generated makefile, the embedded targets are unfortunately not available. It should compile but you'll have to load all the plugins at runtime which is a bit annoying. =)

    Are you on a 64bit linux? If so, the libBox2D from extern/Box@d_2.0.1/Orx/lib/linux has been compiled for 32bit linux (I don't have access to 64bit linux here). You'll need to rebuild both SFML and Box2D (the version in /extern, not the official ones as I made a couple of changes, some where integrated to the main branch of SFML but not all, and I didn't submit anything to Box2D maintainer so far).
    A codelite project is available for Box2D whereas a regular makefile is used for SFML.

    Basically I added support for custom gravity on a per-body basis in Box2D + hacked the possibility to not slide on slopes (useful for characters in a side-scroller platformer). That's probably why it segfault when using the default Box2D for linking.

    Eyecreate tried to compile orx + dependencies for linux-64bit with success a couple of weeks ago so it should be fine. But as I made some changes on the svn since, let me know if you encounter any issue.

    [EDIT] Oh and for the backtracing, I presume it's because you're crashing while loading the physics plugin which is initialized with a callback from a dlopen() call. I remember having some issues when trying to trace similar cases. Using the embedded version of orx (ie. providing the define __orxEMBEDDED__ when compiling orx + compiling orxPlugin_EmbeddedList.cpp) should help with that as no dl*() calls will be issued for orx itself.
  • edited February 2010
    I was actually just playing with the engine tonight, and still compiles fine for me.
    After downloading from SVN, the steps I took for a working build were:
    1.move to "orx/extern/Box2D_2.0.1/Orx/build/codelite/" folder and build workspace in codelite
    2. move to "orx/extern/SFML-1.5/src/SFML/" and run make
    3.move to "orx/code/build/codelite/" and build workspace in codelite

    I then had a working orx executable in the "orx/code/bin/" folder.
Sign In or Register to comment.