LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Rigs of Rods (Sourceforge Project of the Month) (http://www.linuxquestions.org/questions/slackware-14/rigs-of-rods-sourceforge-project-of-the-month-4175437493/)

enine 11-16-2012 05:24 PM

Rigs of Rods (Sourceforge Project of the Month)
 
Anyone ever try to get this working on Slackware?

ChrisAbela 11-20-2012 06:17 AM

Although I am not a fan of games I am intrigued with this thread and I will try to get it installed. Be warned that I am rather busy right now. Should I get any results (or lack thereof) I will post them here. Hopefully others will join in.

ChrisAbela 11-22-2012 04:29 AM

Basically I am stuck.

Up to now I identified the following dependencies:

wxWidgets - SlackBuild from here: http://dl.dropbox.com/u/49744080/wxWidgets.tar.gz
ogre - SlackBuild from here: http://slackbuilds.org/slackbuilds/1...es/ogre.tar.gz
ois - SlackBuild from here: http://slackbuilds.org/slackbuilds/1...ies/ois.tar.gz

For ogre I made a basic installation; i.e. with no options or optional dependencies.

Now I am getting this error on rigsofrods:
Quote:

[ 10%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/RoRFrameListener.cpp.o
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp: In member function 'bool RoRFrameListener::updateEvents(float)':
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:1365:3: error: 'SelectorWindow' has not been declared
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:1365:39: error: 'SelectorWindow' has not been declared
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp: In member function 'void RoRFrameListener::changedCurrentTruck(Beam*, Beam*)':
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:2905:38: error: 'class Beam' has no member named 'dash'
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:2907:18: error: 'class Beam' has no member named 'dash'
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:2910:36: error: 'class Beam' has no member named 'dash'
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:2912:17: error: 'class Beam' has no member named 'dash'
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:2949:23: error: 'class Beam' has no member named 'dash'
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:2950:20: error: 'class Beam' has no member named 'dash'
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp: In member function 'virtual bool RoRFrameListener::frameStarted(const Ogre::FrameEvent&)':
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:3204:14: error: invalid use of incomplete type 'class SkyManager'
In file included from /tmp/rigsofrods-source-0.4.0.4/source/main/RoRPrerequisites.h:42:0,
from /tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.h:23,
from /tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:20:
/tmp/rigsofrods-source-0.4.0.4/source/main/GlobalEnvironment.h:30:7: error: forward declaration of 'class SkyManager'
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp: In member function 'virtual void RoRFrameListener::windowResized(Ogre::RenderWindow*)':
/tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:3397:26: error: invalid use of incomplete type 'class SurveyMapManager'
In file included from /tmp/rigsofrods-source-0.4.0.4/source/main/RoRPrerequisites.h:42:0,
from /tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.h:23,
from /tmp/rigsofrods-source-0.4.0.4/source/main/gameplay/RoRFrameListener.cpp:20:
/tmp/rigsofrods-source-0.4.0.4/source/main/GlobalEnvironment.h:27:7: error: forward declaration of 'class SurveyMapManager'
make[2]: *** [source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/RoRFrameListener.cpp.o] Error 1
make[1]: *** [source/main/main_sim/CMakeFiles/RoR.dir/all] Error 2
make: *** [all] Error 2

schmatzler 04-27-2014 02:52 PM

Sorry for hijacking this old thread, but maybe it's useful for others.

I was able to build Rigs of Rods 0.4.0.7 and all of its dependencies on Slackware64-current. Generating packages out of them wasn't that easy, but I managed it, too. So now we have the latest version of this simulation on Slackware! :)

If you want to try out this game, follow these basic instructions:

First, you'll have to install the packages from my repository. I use slapt-get, so I added this to my slapt-getrc:

Code:

SOURCE=http://schmatzler.de/my_slackbuilds/rigsofrods/:OFFICIAL
and issued the following command to install all needed packages:

Code:

slapt-get --update && slapt-get --install FreeImage MyGUI MySocketW OpenAL angelscript caelum hydrax nvidia-cg-toolkit ogre ogre-paged ois rigsofrods wxWidgets zziplib
Before starting the game, you'll have to set up the basic directory and add content like vehicles, terrains etc.:
Code:

wget http://schmatzler.de/my_slackbuilds/rigsofrods/SlackBuilds/rigsofrods/content-0407.zip
mkdir $HOME/.rigsofrods/packs/
unzip content-0407.zip -d $HOME/.rigsofrods/packs/

Now you can run

Code:

/usr/games/rigsofrods/RoRConfig
to start the game. Have fun!

Mark Pettit 04-28-2014 01:14 PM

Impressive. But I'd be even more impressed if your webpage had the actual slackbuilds. That way we can build it ourselves.

schmatzler 04-28-2014 01:39 PM

Quote:

Originally Posted by Mark Pettit (Post 5160678)
Impressive. But I'd be even more impressed if your webpage had the actual slackbuilds. That way we can build it ourselves.

They are here: http://schmatzler.de/my_slackbuilds/...s/SlackBuilds/

What good is a package without the source? :)

Mark Pettit 04-28-2014 01:43 PM

Cool - that wasn't at first (and very quick) glance available at the download link you pointed for the slapt-get packages. Or maybe I just didn't look hard enough. Thanx .... :-)

enine 09-07-2014 05:25 PM

I'm finally getting back to trying it out. Trying to figure out what are all the pre-req's now.

I'm using your Slackbuild schmatzler

got to here

Code:

[ 10%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/MaterialReplacer.cpp.o
make[2]: *** [source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/RoRFrameListener.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [source/main/main_sim/CMakeFiles/RoR.dir/all] Error 2
make: *** [all] Error 2

I'm assuming I'm missing something but it doesn't really say what.

Since yours are 74 bit I have to make them all for 32. I only have one system with >2G ram but haven't tried it yet with 64 bit.

schmatzler 09-07-2014 06:31 PM

That is not the actual error. The break in the compilation is being displayed further on top.

Edit: See the latest changes and try rebuilding it with the new SlackBuilds:
Code:

+--------------------------+
Mon Sep  8 00:21:56 UTC 2014
rigsofrods: Rebuilt. Works with the new OpenAL now. Removed some ugly Makefile
  hacks from the SlackBuild.

+--------------------------+
Mon Sep  8 00:02:42 UTC 2014
OpenAL: Updated to 1.16.0. Library does not link to ffmpeg and SDL2 anymore.


enine 09-07-2014 08:41 PM

That gets further
Code:

-- Build files have been written to: /tmp/txz/rigsofrods-0.4.0.7
Scanning dependencies of target RoRConfig
Scanning dependencies of target RoR
[  1%] [  2%] [  2%] [  2%] [  3%] Building CXX object source/configurator/CMakeFiles/RoRConfig.dir/__/main/utils/Settings.cpp.o                                                                                     
Building CXX object source/configurator/CMakeFiles/RoRConfig.dir/Configurator.cpp.o                       
Building CXX object source/configurator/CMakeFiles/RoRConfig.dir/__/main/utils/ErrorUtils.cpp.o           
Building CXX object source/configurator/CMakeFiles/RoRConfig.dir/statpict.cpp.o                           
Building CXX object source/configurator/CMakeFiles/RoRConfig.dir/__/main/utils/SHA1.cpp.o                 
[  4%] Building CXX object source/configurator/CMakeFiles/RoRConfig.dir/__/main/utils/Utils.cpp.o         
[  5%] [  5%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/audio/SoundScriptManager.cpp.o
Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/audio/SoundManager.cpp.o                   
/tmp/txz/rigsofrods-0.4.0.7/source/configurator/Configurator.cpp: In member function 'bool MyApp::checkUserPath()':
/tmp/txz/rigsofrods-0.4.0.7/source/configurator/Configurator.cpp:712:31: warning: 'auto_ptr' is deprecated (declared at /usr/include/c++/4.8.2/backward/auto_ptr.h:87) [-Wdeprecated-declarations]
  std::auto_ptr< wxZipEntry > entry;
                              ^
[  6%] [  6%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/audio/Sound.cpp.o
Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/AutoPilot.cpp.o
[  6%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/Savegame.cpp.o
^[[B
Linking CXX executable ../../bin/RoRConfig
[  7%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/Replay.cpp.o
[  7%] Built target RoRConfig
[  8%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/RoRFrameListener.cpp.o
[  8%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/OutProtocol.cpp.o
[  9%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/CharacterFactory.cpp.o
[  9%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/Landusemap.cpp.o
[ 10%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/MaterialReplacer.cpp.o
[ 11%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/CacheSystem.cpp.o
[ 11%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/TorqueCurve.cpp.o
[ 12%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/BeamEngine.cpp.o
/tmp/txz/rigsofrods-0.4.0.7/source/main/gameplay/RoRFrameListener.cpp: In member function 'virtual bool RoRFrameListener::frameStarted(const Ogre::FrameEvent&)':
/tmp/txz/rigsofrods-0.4.0.7/source/main/gameplay/RoRFrameListener.cpp:3162:14: error: invalid use of incomplete type 'class SkyManager'
  if(sky) sky->detectUpdate();
              ^
In file included from /tmp/txz/rigsofrods-0.4.0.7/source/main/RoRPrerequisites.h:43:0,
                from /tmp/txz/rigsofrods-0.4.0.7/source/main/gameplay/RoRFrameListener.h:23,
                from /tmp/txz/rigsofrods-0.4.0.7/source/main/gameplay/RoRFrameListener.cpp:20:
/tmp/txz/rigsofrods-0.4.0.7/source/main/GlobalEnvironment.h:30:7: error: forward declaration of 'class SkyManager'
 class SkyManager;
      ^
[ 12%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/TwoDReplay.cpp.o
[ 13%] Building CXX object source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/ProceduralManager.cpp.o
make[2]: *** [source/main/main_sim/CMakeFiles/RoR.dir/__/gameplay/RoRFrameListener.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [source/main/main_sim/CMakeFiles/RoR.dir/all] Error 2
make: *** [all] Error 2


schmatzler 09-07-2014 09:35 PM

According to this:

http://www.rigsofrods.com/threads/11...test-Mercurial

you need to build caelum prior to Rigs of Rods.

enine 09-07-2014 10:04 PM

Hmm, I thought I did it already. Will go back through and double check them all then.

yep, somehow missed one. Compiled, now it errors when running with this error http://wiki.rigsofrods.com/index.php...rces_Not_Found

which simply says reinstall

wait, IIRC you need a content pack, ok, I was wrong again, I see the pack within your slackbuild.


What I'm trying to do is get a new system working, build a media/game pc for the living room, putting all the stuff the rest of the family likes and want to keep from going windows.


I'm getting this:
Quote:

OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library /usr/lib/OGRE/RenderSystem_Direct3D9. System Error: /usr/lib/OGRE/RenderSystem_Direct3D9.so: cannot open shared object file: No such file or directory in DynLib::load at /tmp/SBo/ogre_src_v1-8-1/OgreMain/src/OgreDynLib.cpp (line 93)
I'm getting search results about directx on linux?

enine 09-09-2014 08:39 PM

I uninstalled everything to start clean. Stepping through the slackbuilds in the order of the Ror web site. The OIS Slackbuild fails:

ois-v1-3/LinuxCB/OIS.cbp
patching file demos/FFConsoleDemo.cpp
Hunk #1 FAILED at 3.
1 out of 1 hunk FAILED -- saving rejects to file demos/FFConsoleDemo.cpp.rej
patching file demos/OISConsole.cpp
Hunk #1 FAILED at 10.
Hunk #2 FAILED at 77.
2 out of 2 hunks FAILED -- saving rejects to file demos/OISConsole.cpp.rej
patching file src/linux/LinuxForceFeedback.cpp
Hunk #1 FAILED at 33.
1 out of 1 hunk FAILED -- saving rejects to file src/linux/LinuxForceFeedback.cpp.rej
patching file src/linux/LinuxJoyStickEvents.cpp
Hunk #1 FAILED at 31.
1 out of 1 hunk FAILED -- saving rejects to file src/linux/LinuxJoyStickEvents.cpp.rej

So I'm just doing it manually like the RoR site shows. Some of the packages I already have before from previous attempts of my own which is why I didn't see this error in the Slackbuild, I already had an install of OIS.

hmm, OIS fails manually
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../includes -I../includes -g -O2 -I/usr/X11R6/include -g -O2 -MT LinuxJoyStickEvents.lo -MD -MP -MF .deps/LinuxJoyStickEvents.Tpo -c ./linux/LinuxJoyStickEvents.cpp -fPIC -DPIC -o .libs/LinuxJoyStickEvents.o
./linux/LinuxJoyStickEvents.cpp: In member function 'virtual void OIS::LinuxJoyStick::capture()':
./linux/LinuxJoyStickEvents.cpp:100:77: error: 'read' was not declared in this scope
int ret = read(mJoyStick, &js, sizeof(struct input_event) * JOY_BUFFERSIZE);
^
./linux/LinuxJoyStickEvents.cpp: In static member function 'static OIS::JoyStickInfoList OIS::LinuxJoyStick::_scanJoys()':
./linux/LinuxJoyStickEvents.cpp:275:13: error: 'close' was not declared in this scope
close(fd);
^
./linux/LinuxJoyStickEvents.cpp:283:12: error: 'close' was not declared in this scope
close(fd);
^
./linux/LinuxJoyStickEvents.cpp: In static member function 'static void OIS::LinuxJoyStick::_clearJoys(OIS::JoyStickInfoList&)':
./linux/LinuxJoyStickEvents.cpp:294:20: error: 'close' was not declared in this scope
close(i->joyFileD);
^
make[1]: *** [LinuxJoyStickEvents.lo] Error 1
make[1]: Leaving directory `/media/Eugene/Downloads/Ror/SlackBuilds/ois/ois-v1-3/src'
make: *** [all-recursive] Error 1

What version did you use for your slackbuild?

schmatzler 09-09-2014 09:03 PM

The DirectX error gets thrown, because the rigsofrods plugins.cfg has an entry for DirectX by default:

Code:

# Define plugins
Plugin=RenderSystem_Direct3D9

Obviously, that doesn't work on Linux but is not breaking the engine.

I've uploaded the source of OIS I used:

http://schmatzler.de/my_slackbuilds/...is_v1-3.tar.gz

Got it originally from here:

http://pkgs.fedoraproject.org/repo/p...1cd2e1fca1518/

enine 09-10-2014 04:51 PM

Ohh, I missed hydrax the first go, don't know how I missed that.

OK, got to the point it asks for a content pack. this is version 0.4 right so I need the content pack for .4 but their instructions say to copy the streams folder into the installation folder but there is no streams folder in the .4 content pack. I'me tried putting the extracted pack in various places but it still asks for a pack.

NM, I see it back in an early post.

yay, almost there. I just had to overwrite the old packs again, left over from the previous install.
However game opens but no content, need to figure out why its not reading the packs, I see it read the zips at startup.


All times are GMT -5. The time now is 09:19 PM.