From Ryzom Forge Wiki
(Created page with "{{tabLang|EN|DE|{{FULLPAGENAME}}|ES|FR|RU}} {{ToTrad|DE|DE translation needed please}} {{ToTrad|ES|ES translation needed please}} {{ToTrad|FR|FR translation needed please}} ...") |
(→Installing and configuring Xcode) |
||
(29 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | {{tabLang|EN| | + | {{migrated to|:en:Building Ryzom Client On Mac OS X}} |
+ | {{tabLang|EN|Mac OS XDE|Building Ryzom Client under Mac OS X|Mac OS XES|Mac OS XFR|Mac OS XRU}} | ||
− | {{ToTrad|DE | + | {{ToTrad|DE}} |
− | {{ToTrad|ES | + | {{ToTrad|ES}} |
− | {{ToTrad|FR| | + | {{ToTrad|FR}} |
+ | {{ToTrad|RU}} | ||
== Installing and configuring Xcode == | == Installing and configuring Xcode == | ||
Line 13: | Line 15: | ||
xcode-select --install | xcode-select --install | ||
− | Ryzom client needs at least Mac OS X 10. | + | Ryzom client needs at least Mac OS X 10.8. If you plan to deploy Ryzom on Mac OS X versions older than your current one (but more recent than 10.8), I suggest you to set MACOSX_DEPLOYMENT_TARGET environment variable before compiling any dependencies : |
− | export MACOSX_DEPLOYMENT_TARGET=10. | + | export MACOSX_DEPLOYMENT_TARGET=10.8 |
And append that line to '''~/.bash_profile''' to be sure it'll be defined later. | And append that line to '''~/.bash_profile''' to be sure it'll be defined later. | ||
− | == Installing and configuring | + | == Installing and configuring MacPorts == |
− | To install all 3rd party libraries needed by Ryzom, you'll to download and install | + | To install all 3rd party libraries needed by Ryzom, you'll need to download and install MacPorts from : https://www.macports.org/install.php |
+ | |||
+ | First install tools that doesn't require support for older OS X versions : | ||
+ | |||
+ | sudo port install mercurial p7zip cmake | ||
By default, it'll target your Mac OS X version. To change the target, type : | By default, it'll target your Mac OS X version. To change the target, type : | ||
Line 29: | Line 35: | ||
And append at the end of the file : | And append at the end of the file : | ||
− | macosx_deployment_target 10. | + | macosx_deployment_target 10.8 |
− | cxx_stdlib | + | cxx_stdlib libc++ |
+ | |||
+ | Press CTRL+X / Apple+X to save and confirm. | ||
Then open a terminal and type : | Then open a terminal and type : | ||
− | sudo port install | + | sudo port install curl freetype jpeg libxml2 lua zlib libpng libogg giflib |
sudo port -s -v install boost libvorbis icu | sudo port -s -v install boost libvorbis icu | ||
Line 43: | Line 51: | ||
Open a terminal and write the following lines : | Open a terminal and write the following lines : | ||
− | hg clone http://hg.kervala.net/ | + | hg clone http://hg.kervala.net/luabind |
hg clone http://hg.kervala.net/cmake | hg clone http://hg.kervala.net/cmake | ||
export CMAKE_MODULE_PATH=$(pwd)/cmake/modules | export CMAKE_MODULE_PATH=$(pwd)/cmake/modules | ||
− | cd | + | cd luabind |
mkdir build | mkdir build | ||
cd build | cd build | ||
− | cmake -DWITH_STATIC=ON - | + | cmake -DWITH_STATIC=ON -DWITH_SHARED=OFF -DWITH_LUA53=ON -DWITH_LUA51=OFF .. |
make | make | ||
sudo make install | sudo make install | ||
− | cd | + | cd ../.. |
− | Luabind will be installed in /usr/local and should not conflict with | + | Luabind will be installed in /usr/local and should not conflict with MacPorts or system files. |
== Downloading Ryzom code == | == Downloading Ryzom code == | ||
Line 62: | Line 70: | ||
For first time, please type : | For first time, please type : | ||
− | hg clone -b compatibility https://bitbucket.org/ryzom/ryzomcore | + | hg clone -b compatibility-develop https://bitbucket.org/ryzom/ryzomcore |
Later, to only update sources you will need to type : | Later, to only update sources you will need to type : | ||
Line 75: | Line 83: | ||
mkdir build | mkdir build | ||
cd build | cd build | ||
− | cmake | + | cmake -DCMAKE_BUILD_TYPE=Release -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON \ |
+ | -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_SERVER=OFF \ | ||
+ | -DWITH_RYZOM_TOOLS=OFF -DWITH_STATIC_EXTERNAL=ON -DWITH_LUA53=ON -DWITH_LUA51=OFF -DWITH_RYZOM_PATCH=ON ../code | ||
make | make | ||
− | + | The resulting application bundle will be '''bin/Ryzom.app''' and you should copy data to : Ryzom.app/Contents/Resources/data. | |
− | |||
− | The resulting application bundle will be '''bin/Ryzom.app''' | ||
− | |||
− | |||
− | |||
− | |||
The application '''Ryzom''' (Ryzom.app folder in fact) should do around 6 GB, you can launch it double-clicking on the icon. | The application '''Ryzom''' (Ryzom.app folder in fact) should do around 6 GB, you can launch it double-clicking on the icon. | ||
− | + | Ryzom will patch itself when launched. | |
− | + | == Compilation errors or warnings == | |
+ | If you get errors like : | ||
<pre> | <pre> | ||
− | + | error: target Objective-C runtime differs in PCH file vs. current file | |
+ | error: PCH file was compiled for the target 'x86_64-apple-macosx10.11.0' but the | ||
+ | current translation unit is being compiled for target | ||
+ | 'x86_64-apple-macosx10.8.0' | ||
+ | </pre> | ||
− | + | You just need to delete compilation files with : | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <pre>make clean</pre> | |
− | + | If you get warnings like : | |
− | + | <pre>ld: warning: object file (/opt/local/lib/libz.a(trees.o)) was built for newer OSX version (10.11) than being linked (10.7)</pre> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </pre> | ||
− | + | You need to recompile these libraries with : | |
− | + | <pre>sudo port upgrade -n -s --force zlib</pre> | |
− | + | (you can replace '''zlib''' with the real library) | |
− | + | {{In_Category|Mac}} | |
− | + | {{TPInWikiRyzom}} | |
+ | [[Category:Tutorials]] [[Category:Support]] [[Category:Mac]] [[Category:EN]] |
Latest revision as of 22:30, 9 November 2018
Migration
Please use the migrated document at URL shown below.
Contents
Installing and configuring Xcode
Last Xcode version can be downloaded from Mac AppStore or https://developer.apple.com/xcode/downloads/
To enable command-line tools under Xcode 5 or more recent versions, you'll need to open a terminal and type :
xcode-select --install
Ryzom client needs at least Mac OS X 10.8. If you plan to deploy Ryzom on Mac OS X versions older than your current one (but more recent than 10.8), I suggest you to set MACOSX_DEPLOYMENT_TARGET environment variable before compiling any dependencies :
export MACOSX_DEPLOYMENT_TARGET=10.8
And append that line to ~/.bash_profile to be sure it'll be defined later.
Installing and configuring MacPorts
To install all 3rd party libraries needed by Ryzom, you'll need to download and install MacPorts from : https://www.macports.org/install.php
First install tools that doesn't require support for older OS X versions :
sudo port install mercurial p7zip cmake
By default, it'll target your Mac OS X version. To change the target, type :
sudo nano /opt/local/etc/macports/macports.conf
And append at the end of the file :
macosx_deployment_target 10.8 cxx_stdlib libc++
Press CTRL+X / Apple+X to save and confirm.
Then open a terminal and type :
sudo port install curl freetype jpeg libxml2 lua zlib libpng libogg giflib sudo port -s -v install boost libvorbis icu
Note : The -s option is used to force a rebuild from source (to take into account the new options added to macports.conf) else it'll use a precompiled package. ICU will be used if you need to compile a static version of Qt.
Compiling Luabind
Open a terminal and write the following lines :
hg clone http://hg.kervala.net/luabind hg clone http://hg.kervala.net/cmake
export CMAKE_MODULE_PATH=$(pwd)/cmake/modules
cd luabind mkdir build cd build cmake -DWITH_STATIC=ON -DWITH_SHARED=OFF -DWITH_LUA53=ON -DWITH_LUA51=OFF .. make sudo make install cd ../..
Luabind will be installed in /usr/local and should not conflict with MacPorts or system files.
Downloading Ryzom code
For first time, please type :
hg clone -b compatibility-develop https://bitbucket.org/ryzom/ryzomcore
Later, to only update sources you will need to type :
hg pull && hg update
Compiling Ryzom client
This section shows how to create a static Ryzom Core client built on Mac OS X. The resulting binary only depends on system libs, therefore can be moved easily to another Mac OS X machine. The given list of CMake options is just an example. For a complete list see: CMake Options. Building a Ryzom Core client that depends on NeL and Ryzom shared libraries is strongly discouraged.
cd ryzomcore mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON \ -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_SERVER=OFF \ -DWITH_RYZOM_TOOLS=OFF -DWITH_STATIC_EXTERNAL=ON -DWITH_LUA53=ON -DWITH_LUA51=OFF -DWITH_RYZOM_PATCH=ON ../code make
The resulting application bundle will be bin/Ryzom.app and you should copy data to : Ryzom.app/Contents/Resources/data.
The application Ryzom (Ryzom.app folder in fact) should do around 6 GB, you can launch it double-clicking on the icon.
Ryzom will patch itself when launched.
Compilation errors or warnings
If you get errors like :
error: target Objective-C runtime differs in PCH file vs. current file error: PCH file was compiled for the target 'x86_64-apple-macosx10.11.0' but the current translation unit is being compiled for target 'x86_64-apple-macosx10.8.0'
You just need to delete compilation files with :
make clean
If you get warnings like :
ld: warning: object file (/opt/local/lib/libz.a(trees.o)) was built for newer OSX version (10.11) than being linked (10.7)
You need to recompile these libraries with :
sudo port upgrade -n -s --force zlib
(you can replace zlib with the real library)
3 pages in Mac