Jump to content

Building GemRB 0.8.4 on Ubuntu 14.04


PracticalKat

Recommended Posts

I've downloaded the latest (0.8.4) tar.gz from the SF page. I read the INSTALL file to check the required packages to build GemRB.

 

I'm following the build instructions, but when I do "cmake .." from the build directory, I get the an error message (see below) that there are missing python libraries.

 

Running "python" in the terminal reports that I'm running 2.7.6. What should I do next? I'm attaching a copy of my cmake log file.

 

 

CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
  (Required is at least version "2.3")
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-2.8/Modules/FindPythonLibs.cmake:208 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:170 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!


Link to comment

You need python2-devel or similar packages (for the headers). This is what Travis uses:

apt-get -yq --no-install-suggests --no-install-recommends install cmake libpython2.7 zlib1g zlib1g-dev libsdl1.2debian libsdl1.2-dev libopenal1 libopenal-dev libsdl-mixer1.2 libsdl-mixer1.2-dev libfreetype6 libfreetype6-dev libvlc5 libvlc-dev libvlccore5 libvlccore-dev libpng12-0 libpng12-dev libvorbis0a libvorbis-dev openssh-client python-dev

 

Btw, if you don't want to build gemrb yourself, we provide linux binaries too and they're even built on an ubuntu host:

https://sourceforge.net/projects/gemrb/files/Buildbot%20Binaries/Linux/

Link to comment

Thanks, I'll use the binary then!

 

EDIT: For future reference, in the end I went with compilation from source. Discussion of my problems with the binary and all the files posted can be ignored. Lynx comments on them if you want to go that route.

 

I installed the packages listed by Lynx above to be ready for the build from source. On my system I could not locate libvlc5, but found that I had libvlc7 already installed. (Backports enabled probably did this).

 

Following the INSTALL instructions it built without any complaints (see my last post). The error I had in starting gemrb at first (cache related) went away after a restart. Running like a dream now after editing the GemRB.cfg to give my paths to the game directory.

Link to comment

Maybe I've missed something basic, but the latest binary keeps giving me an error about the path to the game. I had 0.8.2 working with the same paths that I've put in the .cfg file for the binary, so I wonder if this is hardcoded somewhere. The only cfg file I can find for the binary is in ./etc/gemrb under the main directory, which for me is /usr/games/gemrb.

 

If someone has time to check this out please let me know if I'm missing something obvious. I've added the error message and cfg file below.

/usr/games/gemrb/bin$ '/usr/games/gemrb/bin/gemrb' 
[Core]: GemRB Core Version v0.8.4-git Loading...
[Core]: Initializing the Event Manager...
[Core]: Starting Plugin Manager...
[PluginMgr]: Loading Plugins from /home/travis/build/gemrb/gemrb/build/iprefix/lib/gemrb/plugins
[Core]: Plugin Loading Complete...
[Core]: GemRB Core Initialization...
[Core]: Initializing Video Driver...
[SDL 1.2 Driver]: Creating display
[SDL 1.2 Driver]: SDL_SetVideoMode...
[SDL 1.2 Driver]: Checking for HardWare Acceleration...
[SDL 1.2 Driver]: Creating Main Surface...
[SDL 1.2 Driver]: Creating Back Buffer...
[SDL 1.2 Driver]: Creating Extra Buffer...
[Core]: Initializing Search Path...
[ResourceManager/WARNING]: Invalid path given: /home/travis/build/gemrb/gemrb/build/iprefix/share/gemrb/override/shared (shared GemRB Override)
[ResourceManager/WARNING]: Invalid path given: override (Override)
[ResourceManager/WARNING]: Invalid path given: sounds (Sounds)
[ResourceManager/WARNING]: Invalid path given: scripts (Scripts)
[ResourceManager/WARNING]: Invalid path given: portraits (Portraits)
[ResourceManager/WARNING]: Invalid path given: data (Data)
[ResourceManager/WARNING]: Invalid path given: data/Data (Data)
[ResourceManager/WARNING]: Invalid path given: CD1/data (CD1/data)
[ResourceManager/WARNING]: Invalid path given: data/CD1/data (CD1/data)
[ResourceManager/WARNING]: Invalid path given: CD2/data (CD2/data)
[ResourceManager/WARNING]: Invalid path given: data/CD2/data (CD2/data)
[ResourceManager/WARNING]: Invalid path given: CD3/data (CD3/data)
[ResourceManager/WARNING]: Invalid path given: data/CD3/data (CD3/data)
[ResourceManager/WARNING]: Invalid path given: CD4/data (CD4/data)
[ResourceManager/WARNING]: Invalid path given: data/CD4/data (CD4/data)
[ResourceManager/WARNING]: Invalid path given: CD5/data (CD5/data)
[ResourceManager/WARNING]: Invalid path given: data/CD5/data (CD5/data)
[ResourceManager/WARNING]: Invalid path given: CD6/data (CD6/data)
[ResourceManager/WARNING]: Invalid path given: data/CD6/data (CD6/data)
[ResourceManager/WARNING]: Invalid path given: /home/travis/build/gemrb/gemrb/build/iprefix/share/gemrb/unhardcoded/shared (shared GemRB Unhardcoded data)
[Core]: Initializing KEY Importer...
[KEYImporter]: Opening chitin.key...
[KEYImporter/ERROR]: Cannot open Chitin.key
[KeyImporter/ERROR]: This means you set the GamePath config variable incorrectly.
[KeyImporter/ERROR]: It must point to the directory that holds a readable Chitin.key
[ResourceManager/WARNING]: Invalid path given: chitin.key (chitin.key)
[Core/FATAL]: Failed to load "chitin.key"
[Main]: Press enter to continue...

#####################################################
#                                                   #
#  This is the GemRB Configuration file.            #
#  Here are defined some default parameters for     #
#  basic configuration and paths definition.        #
#                                                   #
#  Parameters are defined as a Name=Value pair      #
#  The Value can be of three types:                 #
#      - String                                     #
#      - Integer                                    #
#      - Boolean                                    #
#                                                   #
#  The String value is represented as follows       #
#  i.e. H:\GemRB\plugins                            #
#  Integers are defined as follows                  #
#  i.e. 12723                                       #
#  Booleans are represented as 1 or 0 in this file  #
#                                                   #
#  Lines starting with # are ignored                #
#                                                   #
#####################################################

#####################################################
#                                                   #
#  Game Type [String] Use one of the following      #
#  values:                                          #
#                                                   #
#  auto      Attempt to autodetect game type        #
#                                                   #
#  bg1       Baldur's Gate                          #
#  bg2       Baldur's Gate 2 : SoA or ToB           #
#  how       Icewind Dale : HoW or ToTL             #
#  (iwd)     Icewind Dale (no How or ToTL installed)#
#  iwd2      Icewind Dale 2                         #
#  pst       Planescape Torment                     #
#                                                   #
#  demo      Game demo stub                         #
#  test      Minimal test mode                      #
#  (More will come)                                 #
#                                                   #
#####################################################

GameType=bg1

#####################################################
#  Game Name [String] Title for GemRB window, use   #
#  anything you wish, e.g. Baldur's Gate 3: RotFL   #
#####################################################

GameName=Baldur's Gate 

#####################################################
#  Encoding [default|polish|czech] Language used by #
#  game data. Except of polish BG1, leave disabled. #
#####################################################

# Encoding=default

#####################################################
#  Video Parameters                                 #
#####################################################

#Screen width
Width=1366

#Screen height
Height=768

#Bits per pixel [Integer:16,32]
Bpp=32

#Fullscreen [Boolean]
Fullscreen=0

# Delay before tooltips appear [milliseconds]
TooltipDelay=500

#####################################################
#  Audio Parameters                                 #
#####################################################
#                                                   #
# All volume options are in percents, with 100      #
# being the normal and default volume               #
#                                                   #
#####################################################

# Choices: openal (default), sdlaudio (faster, but limited featureset), none
#AudioDriver = openal

# Volume of ambient sounds
#VolumeAmbients = 100

# Volume during movie playback
#VolumeMovie = 100

# Volume of background music
#VolumeMusic = 100

# Volume of sound effects
#VolumeSFX = 100

# Volume of PC or NPC voices
#VolumeVoices = 100

#####################################################
#  Case Sensitive Filesystem [Boolean]              #
#                                                   #
#  If your installed game files are residing on a   #
#  case sensitive filesystem (ext2 on Linux) then   #
#  you need to set this value to 1, it has no       #
#  effect on Windows                                #
#####################################################

CaseSensitive=1

#####################################################
#  GUI Parameters                                   #
#####################################################
#                                                   #
# GemRB may enhance the GUI of the Infinity Engine  #
# games (so far only in bg2) creating functionally  #
# new buttons or scrollbars where they weren't      #
# present in original games. It may improve its     #
# usability, but is not quite compatible with       #
# mods changing graphics and alignment in the *.chu #
# files (e.g. the buttons will appear in old        #
# coordinates and may stop being clickable).        #
#####################################################

# Enable all gui enhancements ? [Integer]
GUIEnhancements = 16

# Enable bigger parties (up to 10) or force smaller ones [Integer]
# NOTE: You need to choose a big enough resolution, so
#   there will be enough room for all the party portraits.
#   THE GAME WILL CRASH OTHERWISE!
# Requires 10pp mod: https://github.com/lynxlynxlynx/gemrb-mods
#MaxPartySize = 6

#####################################################
#  Debug                                            #
#####################################################

# Do not play intro videos [Boolean], useful for development
#SkipIntroVideos=1

# Draw Frames per Second info [Boolean]
#DrawFPS=1

# Hide unexplored parts of a map
FogOfWar=1

# Enable debug and cheat keystrokes, see docs/en/CheatKeys.txt
#   full listing
#EnableCheatKeys=1

#####################################################
#  Paths                                            #
#####################################################

#####################################################
#  Game Paths [String]                              #
#                                                   #
#  These are the paths where the Game you want to   #
#  play is installed.                               #
#  Enter the full path to the directory.             #
#####################################################

GamePath=/data/games/Baldurs Gate
CD1=/data/games/Baldurs Gate
CD2=/data/games/Baldurs Gate/data
CD4=
CD5=

#####################################################
#  GemRB Cache Path [String]                        #
#                                                   #
#  This is the path where GemRB will store the      #
#  cached files, enter the full path to the GemRB   #
#  Cache directory.                                 #
#####################################################

CachePath=./gemrb/Cache2/

#####################################################
#  GemRB Save Path [String]                         #
#                                                   #
#  This is the path where GemRB looks for saved     #
#  games.                                           #
#  Enter the full path to the directory containing  #
#  e.g. the 'save' subdirectory.                    #
#                                                   #
#  You do not have to specify this if you use save  #
#  subdir in the GamePath directory.                #
#####################################################

#SavePath=/mnt/windows/Programmi/Black Isle/BGII - SoA/

#####################################################
#  GemRB Path [String]                              #
#                                                   #
#  This is the path where GemRB is stored, just     #
#  enter the full path to the GemRB executable      #
#####################################################

GemRBPath=/usr/games/gemrb/bin/gemrb

#####################################################
#  GemRB GUI Scripts Path [String]                  #
#                                                   #
#  This is the path where GemRB GUI scripts are     #
#  stored, usually these are in the GemRB directory #
#  Enter the full path to the directory containing  #
#  the 'GUIScript' subdirectory.                    #
#####################################################

#GUIScriptsPath=./

#####################################################
#  GemRB Plugins Path [String]                      #
#                                                   #
#  This is the path containing GemRB plugins        #
#  - shared libraries (.so) on Unixes, or           #
#  DLLs (.dll) on windows.                          #
#  Enter the full path to the directory.            #
#                                                   #
#  You may need to specify this path if running     #
#  GemRB from source directory on Linux.            #
#####################################################

# PluginsPath=./gemrb/plugins/

#####################################################
#  Custom Font Path [String]           		    #
#                                                   #
#  This is the path where GemRB looks for non-BAM   #
#  fonts (ex TTF)                                   #
#                                                   #
#####################################################

#CustomFontPath=

#####################################################
#  Game Data Path [String]                          #
#                                                   #
#  This is the subdirectory under GamePath where    #
#  game data files are stored.                      #
#                                                   #
#  You probably do NOT want to specify this!        #
#####################################################

#GameDataPath=data

#####################################################
#  Game Data Override Path [String]                 #
#                                                   #
#  This is the subdirectory under GamePath where    #
#  game data override files are stored.             #
#                                                   #
#  You probably do NOT want to specify this!        #
#####################################################

#GameOverridePath=override

#####################################################
#  GemRB Data Override Path [String]                #
#                                                   #
#  This is the path where GemRB looks for the GemRB #
#  data override directory.                         #
#                                                   #
#  You probably do NOT want to specify this!        #
#####################################################

#GemRBOverridePath=/usr/share/games/gemrb
#GemRBUnhardcodedPath=/usr/share/games/gemrb

#####################################################
#  Input Parameters                                 #
#####################################################

#whether or not to use software keyboard on devices that support one
#UseSoftKeyboard=1

#Adds a gutter around the screen for scrolling
#TouchScrollAreas=1

#####################################################
#  MouseFeedback		                    #
#  Bitfield with reserved bits for disabling        #
#  the mouse. Those bits cannot be set via config   #
#                                                   #
#  Show mouse+tooltips = 0			    #
#  Hide mouse 	       = 1			    #
#  Hide tooltips       = 2			    #
#  Hide mouse+tooltips = 3			    #  
#####################################################

# For a strictly touchscreen device we recommend
# Changing this to 3.

# default is 0
#MouseFeedback=0

#####################################################
#  Touch Gesture Input Parameters                   #
#  Requires SDL 1.3 or later			    #
#  All "NumFing" settings must be > 1 and < 5       #
#  NumFingScroll and NumFingKboard cannot be equal  #
#####################################################

#NumFingScroll=2

#NumFingKboard=3

#NumFingInfo=2

#####################################################
#  END                                              #
#####################################################

Link to comment

OK, thanks. There was no plain GemRB.cfg bundled, only ones with different suffices, so I had copied mine across. Still didn't work.

 

In the end I compiled from source. Only problem now is that when I try to start it, it can't make the cache directory. If I use "sudo gemrb" it is fine. I only used sudo at the end of the build process: "sudo make install". To get the permissions right I probably needed to use "sudo make" as well.

Link to comment

It's compiled with a prefix, so the default paths it looks at are different, except perhaps your home path (would have to check). But if you placed your config in the right dir, without any funny names, it'd be picked up.

 

First, if you're compiling from source, there's no need to install (but it requires editing the config). Nothing requires root priviliges, unless you chose a path that's not writable by you (eg. the default fhs setting). Anyway, you can set the cache dir to something completely different (like /tmp/gege) in the config.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...