Jump to content

HOWTO : easy way to build GemRB on windows


zefklop

Recommended Posts

So i finally succeeded there were 2 issues with the original description.

First, the folder structure wasn't exactly clear, but now we have an example of the structure on the wiki.

Second issue was that the batch file treated compiler warnings as errors, so the vorbis files (third party soundsupport) broke the compile-process.

 

New revision of the manual is up at http://www.gemrb.org/wiki/doku.php?id=install:windows

 

Pay attention to step 7a (structure) and make_mingw.cmd in step 6 :)

Link to comment
So i finally succeeded there were 2 issues with the original description.

First, the folder structure wasn't exactly clear, but now we have an example of the structure on the wiki.

Second issue was that the batch file treated compiler warnings as errors, so the vorbis files (third party soundsupport) broke the compile-process.

 

New revision of the manual is up at http://www.gemrb.org/wiki/doku.php?id=install:windows

 

Pay attention to step 7a (structure) and make_mingw.cmd in step 6 :)

 

 

Finally succeeded !!

 

So what's missing on the tutorial ?

. GemRB-Buildenv has to Run as Administrator

. MinGW manual install didn't work for me. I had to choose automatic method (3a). There's no MinGW base tools or g++ compiler or MinGW make. See what I see. Ended up ticking them all.

MinGW.jpg

. Looking at MinGW folder structure after installation, step 3b clearly doesn't tell the whole story

. when build is installed, it asks for openal32.dll. I got it from of 0.6.5 latest install

 

Anyway I'm all set now, thank you all

Link to comment
So what's missing on the tutorial ?

. GemRB-Buildenv has to Run as Administrator

. MinGW manual install didn't work for me. I had to choose automatic method (3a). There's no MinGW base tools or g++ compiler or MinGW make. See what I see. Ended up ticking them all.

MinGW.jpg

. Looking at MinGW folder structure after installation, step 3b clearly doesn't tell the whole story

. when build is installed, it asks for openal32.dll. I got it from of 0.6.5 latest install

 

Anyway I'm all set now, thank you all

 

Thanks for the report.

 

I do admit I made the original document long ago, and the automatic installer may have been updated since then (in that case I need to revise it), I began using the manual way as the automatic installer was long since outdated and I haven't bothered looking back since.

 

GemRB-Buildenv shouldn't need any admin rights, UNLESS you set GEMRB_INSTALLDIR to inside a protected folder (such as Program Files) on Vista and 7 (another thing to point out in the instruction, I guess).

Link to comment

Hi Maighstir

 

just ran into an issue

 

process stops at 65% and throw out nasty errors. Please can you take a look. Thanks !

 

 

C:\Users\Four\gemrb_source>make

 

C:\Users\Four\gemrb_source>PUSHD gemrb_build

Build environment: MinGW, GCC 4.5.2

 

C:\Users\Four\gemrb_source\gemrb_build>cmake ..\gemrb -G "MinGW Makefiles" -DCMA

KE_INSTALL_PREFIX=C:\GemRB -DDISABLE_WERROR=Yes

-- The C compiler identification is GNU

-- The CXX compiler identification is GNU

-- Check for working C compiler: C:/MinGW/bin/gcc.exe

-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working CXX compiler: C:/MinGW/bin/g++.exe

-- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

Detected version:

-- Performing Test VISIBILITY_HIDDEN

-- Performing Test VISIBILITY_HIDDEN - Success

-- Found PythonLibs: C:/Python27/libs/libpython27.a

-- Looking for Python libraries and headers: found

-- Looking for include files CMAKE_HAVE_PTHREAD_H

-- Looking for include files CMAKE_HAVE_PTHREAD_H - found

-- Looking for pthread_create in pthreads

-- Looking for pthread_create in pthreads - not found

-- Looking for pthread_create in pthread

-- Looking for pthread_create in pthread - found

-- Found Threads: TRUE

-- Looking for SDL: found

-- Found ZLIB: C:/MinGW/lib/libz.dll.a (found version "1.2.3")

-- Looking for Zlib: found

-- Found OpenAL: C:/MinGW/lib/libopenal.a

-- Looking for OpenAL: found

CMake Warning at CMakeLists.txt:200 (MESSAGE):

Looking for SDL_mixer: not found!

 

 

CMake Warning at CMakeLists.txt:201 (MESSAGE):

If you want to build the SDL_mixer plugin, install SDL_mixer first.

 

 

-- Found PNG: C:/MinGW/lib/libpng.dll.a

-- Looking for libPNG: found

-- Looking for Ogg Vorbis support: found

-- Looking for sys/types.h

-- Looking for sys/types.h - found

-- Looking for stdint.h

-- Looking for stdint.h - found

-- Looking for stddef.h

-- Looking for stddef.h - found

-- Check size of int

-- Check size of int - done

-- Check size of long int

-- Check size of long int - done

-- Looking for strndup

-- Looking for strndup - not found

-- Looking for include files HAVE_UNISTD_H

-- Looking for include files HAVE_UNISTD_H - found

-- Looking for include files HAVE_MALLOC_H

-- Looking for include files HAVE_MALLOC_H - found

--

-- These are the configured paths:

-- PREFIX: C:/GemRB

-- LIB_DIR: C:/GemRB

-- PLUGIN_DIR: C:/GemRB/plugins

-- BIN_DIR: C:/GemRB

-- DATA_DIR: C:/GemRB

-- MAN_DIR: C:/GemRB/man/man6

-- SYSCONF_DIR: C:/GemRB

-- DOC_DIR: C:/GemRB/doc

-- ICON_DIR: C:/GemRB

-- SVG_DIR: C:/GemRB

-- MENU_DIR: C:/GemRB

--

-- Options:

-- LAYOUT: home

-- NOCOLOR: disabled

-- STATIC_LINK: disabled

-- INSOURCEBUILD: disabled

-- DISABLE_WERROR: Yes

-- WIN32_USE_STDIO: disabled

--

-- Build type: RelWithDebInfo

--

-- Configuring done

-- Generating done

-- Build files have been written to: C:/Users/Four/gemrb_source/gemrb_build

 

C:\Users\Four\gemrb_source\gemrb_build>mingw32-make

Scanning dependencies of target gemrb_core

[ 1%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ActorMgr.obj

[ 1%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Ambient.obj

[ 2%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/AmbientMgr.obj

[ 3%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Animation.obj

[ 3%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/AnimationFactory

.obj

[ 4%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/AnimationMgr.obj

 

[ 4%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ArchiveImporter.

obj

[ 5%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Audio.obj

[ 5%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Bitmap.obj

[ 6%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Cache.obj

[ 6%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Calendar.obj

[ 7%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Callback.obj

[ 8%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/CharAnimations.o

bj

[ 8%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Compressor.obj

[ 9%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ControlAnimation

.obj

[ 9%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Core.obj

[ 10%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/DataFileMgr.obj

[ 10%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Dialog.obj

[ 11%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/DialogHandler.ob

j

[ 12%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/DialogMgr.obj

[ 12%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/DisplayMessage.o

bj

[ 13%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/EffectMgr.obj

[ 13%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/EffectQueue.obj

[ 14%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Factory.obj

[ 14%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/FactoryObject.ob

j

[ 15%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/FileCache.obj

[ 16%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Font.obj

[ 16%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Game.obj

[ 17%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GameData.obj

[ 17%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GlobalTimer.obj

[ 18%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Image.obj

[ 18%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ImageFactory.obj

 

[ 19%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ImageMgr.obj

[ 19%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ImageWriter.obj

[ 20%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/IndexedArchive.o

bj

[ 21%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/IniSpawn.obj

[ 21%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Interface.obj

[ 22%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Inventory.obj

[ 22%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Item.obj

[ 23%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ItemMgr.obj

[ 23%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/KeyMap.obj

[ 24%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/LRUCache.obj

[ 25%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Map.obj

[ 25%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/MapMgr.obj

[ 26%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/MoviePlayer.obj

[ 26%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/MusicMgr.obj

[ 27%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Palette.obj

[ 27%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/PalettedImageMgr

.obj

[ 28%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Particles.obj

[ 29%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Plugin.obj

[ 29%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/PluginLoader.obj

 

[ 30%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/PluginMgr.obj

[ 30%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Polygon.obj

[ 31%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Projectile.obj

[ 31%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ProjectileMgr.ob

j

[ 32%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ProjectileServer

.obj

[ 32%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Region.obj

[ 33%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Resource.obj

[ 34%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ResourceDesc.obj

 

[ 34%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ResourceManager.

obj

[ 35%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ResourceSource.o

bj

[ 35%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/SaveGameIterator

.obj

[ 36%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/SaveGameMgr.obj

[ 36%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ScriptEngine.obj

 

[ 37%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/ScriptedAnimatio

n.obj

[ 38%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/SoundMgr.obj

[ 38%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Spell.obj

[ 39%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/SpellMgr.obj

[ 39%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Spellbook.obj

[ 40%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Sprite2D.obj

[ 40%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/SpriteCover.obj

[ 41%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Store.obj

[ 42%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/StoreMgr.obj

[ 42%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/StringMgr.obj

[ 43%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/SymbolMgr.obj

[ 43%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/TableMgr.obj

[ 44%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Tile.obj

[ 44%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/TileMap.obj

[ 45%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/TileMapMgr.obj

[ 45%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/TileOverlay.obj

[ 46%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/TileSetMgr.obj

[ 47%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Variables.obj

[ 47%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Video.obj

[ 48%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/WindowMgr.obj

[ 48%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/WorldMap.obj

[ 49%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/WorldMapMgr.obj

[ 49%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/Actio

ns.obj

[ 50%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/GSUti

ls.obj

[ 51%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/GameS

cript.obj

[ 51%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/Match

ing.obj

[ 52%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/Objec

ts.obj

[ 52%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/Trigg

ers.obj

[ 53%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Button.obj

[ 53%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Console.obj

[ 54%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Control.obj

[ 55%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/EventMgr.obj

 

[ 55%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/GameControl.

obj

[ 56%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Label.obj

[ 56%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/MapControl.o

bj

[ 57%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Progressbar.

obj

[ 57%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/ScrollBar.ob

j

[ 58%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Slider.obj

[ 58%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/TextArea.obj

 

[ 59%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/TextEdit.obj

 

[ 60%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Window.obj

[ 60%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/GUI/WorldMapCont

rol.obj

[ 61%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Scriptable/Actor

.obj

[ 61%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Scriptable/Conta

iner.obj

[ 62%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Scriptable/Door.

obj

[ 62%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Scriptable/InfoP

oint.obj

[ 63%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Scriptable/Scrip

table.obj

[ 64%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/Scriptable/PCSta

tStruct.obj

[ 64%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/System/DataStrea

m.obj

[ 65%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/System/FileStrea

m.obj

[ 65%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/System/MemoryStr

eam.obj

[ 66%] Building CXX object gemrb/core/CMakeFiles/gemrb_core.dir/System/Logging.o

bj

C:\Users\Four\gemrb_source\gemrb\gemrb\core\System\Logging.cpp: In function 'voi

d vprint(const char*, char*)':

C:\Users\Four\gemrb_source\gemrb\gemrb\core\System\Logging.cpp:45:20: error: 'cp

rintf' was not declared in this scope

mingw32-make[2]: *** [gemrb/core/CMakeFiles/gemrb_core.dir/System/Logging.obj] E

rror 1

mingw32-make[1]: *** [gemrb/core/CMakeFiles/gemrb_core.dir/all] Error 2

mingw32-make: *** [all] Error 2

ERROR: 2

 

C:\Users\Four\gemrb_source\gemrb_build>POPD

 

C:\Users\Four\gemrb_source>

Link to comment

Hi, I'm having an issue installing this. I don't really know what I'm doing at all, just following the guide on the GemRB wiki blindly.

 

2ezs5s1.jpg

Anyone have any idea what this means?

Link to comment

Excuse the double post, can't edit as a guest (no surprise there). I managed to fix it by just reinstalling Python, guess something went amiss during the installation.

Link to comment

I've run into what appears (?) to be an openAL error.

 

For reference, I'm running Win7 with Python 2.6.6 and the latest download of openAL as of today. I've done clean re-installs to both python and openAL to no effect. I also pulled the most recent GemRB source right before my last build attempt.

 

Error message follows. Any help is appreciated :)

 

Scanning dependencies of target OGGReader

[ 90%] Building CXX object gemrb/plugins/OGGReader/CMakeFiles/OGGReader.dir/OGGReader.cpp.obj

Linking CXX shared module ..\OGGReader.dll

[ 90%] Built target OGGReader

Scanning dependencies of target OpenALAudio

[ 90%] Building CXX object gemrb/plugins/OpenALAudio/CMakeFiles/OpenALAudio.dir/AmbientMgrAL.cpp.obj

In file included from C:/MinGW/include/SDL/SDL_thread.h:31:0,

from C:\gemrb_source\gemrb\gemrb\plugins\OpenALAudio\AmbientMgrAL.h:29,

from C:\gemrb_source\gemrb\gemrb\plugins\OpenALAudio\AmbientMgrAL.cpp:21:

C:/MinGW/include/SDL/SDL_stdinc.h:581:42: warning: 'SDL_iconv' initialized and declared 'extern' [enabled by default]

C:/MinGW/include/SDL/SDL_stdinc.h:581:42: error: 'iconv_t' was not declared in this scope

C:/MinGW/include/SDL/SDL_stdinc.h:581:58: error: expected primary-expression before 'const'

C:/MinGW/include/SDL/SDL_stdinc.h:581:85: error: expected primary-expression before '*' token

C:/MinGW/include/SDL/SDL_stdinc.h:581:86: error: 'inbytesleft' was not declaredin this scope

C:/MinGW/include/SDL/SDL_stdinc.h:581:99: error: expected primary-expression before 'char'

C:/MinGW/include/SDL/SDL_stdinc.h:581:121: error: expected primary-expression before '*' token

C:/MinGW/include/SDL/SDL_stdinc.h:581:122: error: 'outbytesleft' was not declared in this scope

In file included from C:/MinGW/include/SDL/SDL_thread.h:31:0,

from C:\gemrb_source\gemrb\gemrb\plugins\OpenALAudio\AmbientMgrAL.h:29,

from C:\gemrb_source\gemrb\gemrb\plugins\OpenALAudio\AmbientMgrAL.cpp:21:

C:/MinGW/include/SDL/SDL_stdinc.h:581:134: error: expression list treated as compound expression in initializer [-fpermissive]

gemrb\plugins\OpenALAudio\CMakeFiles\OpenALAudio.dir\build.make:57: recipe for target 'gemrb/plugins/OpenALAudio/CMakeFiles/OpenALAudio.dir/AmbientMgrAL.cpp.obj' failed

mingw32-make[2]: *** [gemrb/plugins/OpenALAudio/CMakeFiles/OpenALAudio.dir/AmbientMgrAL.cpp.obj] Error 1

CMakeFiles\Makefile2:1792: recipe for target 'gemrb/plugins/OpenALAudio/CMakeFiles/OpenALAudio.dir/all' failed

mingw32-make[1]: *** [gemrb/plugins/OpenALAudio/CMakeFiles/OpenALAudio.dir/all]Error 2

Makefile:115: recipe for target 'all' failed

mingw32-make: *** [all] Error 2

ERROR: 2

Link to comment

Archived

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

×
×
  • Create New...