======Development Environment Setup for Mageia 2====== This page presently references resources (like scripts) currently located on [[user:kbulgrien|KBulgrien's page]]. Note that this guide was created using an x86_64 operating system. In general, simply remove "64" from the lib file names to convert it to a 32-bit operating system. =====Trunk Client===== $ urpmq --fuzzy --whatprovides libglade2 lib64glade2.0_0 lib64glade2.0_0-devel $ sudo urpmi lib64glade2.0_0-devel In order to satisfy the 'devel(libcairo(64bit))' dependency, one of the following packages is needed: 1- lib64cairo-devel-1.10.2-6.mga2.x86_64: Development files for Cairo library (to install) 2- lib64cairo-xcb-devel-1.10.2-6.mga2.x86_64: Development files for Cairo library (to install) What is your choice? (1-2) 1 To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release") lib64atk1.0-devel 2.4.0 1.mga2 x86_64 lib64cairo-devel 1.10.2 6.mga2 x86_64 lib64directfb-devel 1.5.3 4.mga2 x86_64 lib64ffi5-devel 3.0.10 1.mga2 x86_64 lib64fontconfig-devel 2.8.0 6.mga2 x86_64 lib64gdk_pixbuf2.0-devel 2.26.1 1.mga2 x86_64 lib64glade2.0_0-devel 2.6.4 6.mga2 x86_64 lib64gtk+2.0-devel 2.24.10 4.mga2 x86_64 lib64lzma-devel 5.0.3 3.mga2 x86_64 lib64pango1.0-devel 1.30.0 1.mga2 x86_64 lib64pcre-devel 8.21 1.mga2 x86_64 lib64png-devel 1.5.10 1.mga2 x86_64 lib64x11_6-devel 1.4.99.1 4.mga2 x86_64 lib64xau6-devel 1.0.7 1.mga2 x86_64 lib64xcb-composite0 1.8.1 1.mga2 x86_64 lib64xcb-damage0 1.8.1 1.mga2 x86_64 lib64xcb-devel 1.8.1 1.mga2 x86_64 lib64xcb-dpms0 1.8.1 1.mga2 x86_64 lib64xcb-randr0 1.8.1 1.mga2 x86_64 lib64xcb-record0 1.8.1 1.mga2 x86_64 lib64xcb-render0 1.8.1 1.mga2 x86_64 lib64xcb-res0 1.8.1 1.mga2 x86_64 lib64xcb-screensaver0 1.8.1 1.mga2 x86_64 lib64xcb-shape0 1.8.1 1.mga2 x86_64 lib64xcb-shm0 1.8.1 1.mga2 x86_64 lib64xcb-sync0 1.8.1 1.mga2 x86_64 lib64xcb-xevie0 1.8.1 1.mga2 x86_64 lib64xcb-xf86dri0 1.8.1 1.mga2 x86_64 lib64xcb-xinerama0 1.8.1 1.mga2 x86_64 lib64xcb-xprint0 1.8.1 1.mga2 x86_64 lib64xcb-xtest0 1.8.1 1.mga2 x86_64 lib64xcb-xv0 1.8.1 1.mga2 x86_64 lib64xcb-xvmc0 1.8.1 1.mga2 x86_64 lib64xcomposite1-devel 0.4.3 2.mga2 x86_64 lib64xcursor-devel 1.1.13 1.mga2 x86_64 lib64xdamage-devel 1.1.3 2.mga2 x86_64 lib64xdmcp6-devel 1.1.1 1.mga2 x86_64 lib64xext6-devel 1.3.1 1.mga2 x86_64 lib64xfixes3-devel 5.0 2.mga2 x86_64 lib64xft-devel 2.3.0 1.mga2 x86_64 lib64xi-devel 1.4.5 1.mga2 x86_64 lib64xinerama1-devel 1.1.2 1.mga2 x86_64 lib64xrandr2-devel 1.3.2 2.mga2 x86_64 lib64xrender1-devel 0.9.7 1.mga2 x86_64 libpthread-stubs 0.3 1.mga1 x86_64 pango-doc 1.30.0 1.mga2 x86_64 (suggested) x11-proto-devel 7.6 17.mga2 x86_64 (medium "Core Updates") glib-gettextize 2.32.4 1.1.mga2 x86_64 lib64glib2.0-devel 2.32.4 1.1.mga2 x86_64 lib64pixman-devel 0.24.4 1.1.mga2 x86_64 lib64xml2-devel 2.7.8 14.20120229.> x86_64 lib64zlib-devel 1.2.6 1.1.mga2 x86_64 (medium "Tainted Updates") lib64freetype6-devel 2.4.9 1.1.mga2.tai> x86_64 88MB of additional disk space will be used. 10MB of packages will be retrieved. Proceed with the installation of the 53 packages? (Y/n) Y ... $ sudo urpmq --fuzzy curl-devel lib64curl-devel lib64flickcurl-devel ocaml-curl-devel $ sudo urpmi lib64curl-devel To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release") lib64curl-devel 7.24.0 1.mga2 x86_64 lib64ext2fs-devel 1.42.2 2.mga2 x86_64 lib64idn-devel 1.24 1.mga2 x86_64 lib64sasl2-devel 2.1.23 19.mga2 x86_64 lib64ssh2-devel 1.4.0 1.mga2 x86_64 lib64wrap-devel 7.6 42.mga1 x86_64 (medium "Core Updates") lib64krb53-devel 1.9.2 2.4.mga2 x86_64 lib64ldap2.4_2-devel 2.4.29 2.1.mga2 x86_64 lib64openssl-devel 1.0.0k 1.mga2 x86_64 13MB of additional disk space will be used. 3.1MB of packages will be retrieved. Proceed with the installation of the 9 packages? (Y/n) Y ... $ sudo urpmq --fuzzy lua-devel lib64lua-devel $ sudo urpmi lib64lua-devel To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release") lib64readline-devel 6.2 4.mga2 x86_64 (medium "Core Updates") lib64lua-devel 5.1.4 10.1.mga2 x86_64 lib64ncursesw-devel 5.9 6.1.mga2 x86_64 lua 5.1.4 10.1.mga2 x86_64 13MB of additional disk space will be used. 2.6MB of packages will be retrieved. Proceed with the installation of the 4 packages? (Y/n) Y ... $ sudo urpmq --fuzzy image-devel lib64SDL_image-devel lib64freeimage-devel lib64xcb-util-image-devel $ sudo urpmi lib64SDL_image-devel To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release") lib64SDL-devel 1.2.14 10.mga2 x86_64 lib64SDL_image-devel 1.2.12 1.mga2 x86_64 lib64aa-devel 1.4.0 0.rc5.23.mga2 x86_64 lib64alsa2-devel 1.0.25 3.mga2 x86_64 lib64drm-devel 2.4.33 1.mga2 x86_64 lib64ggi-devel 2.2.2 18.mga2 x86_64 lib64gii-devel 1.0.2 16.mga2 x86_64 lib64gpm-devel 1.20.6 7.mga2 x86_64 lib64jbig-devel 2.0 5.mga1 x86_64 lib64pciaccess-devel 0.13 1.mga2 x86_64 lib64slang-devel 2.2.4 3.mga2 x86_64 lib64xxf86dga-devel 1.1.3 1.mga2 x86_64 lib64xxf86vm-devel 1.1.2 1.mga2 x86_64 (medium "Core Updates") lib64jpeg-devel 1.2.0 4.1.mga2 x86_64 lib64tiff-devel 4.0.1 2.5.mga2 x86_64 (medium "Tainted Updates") lib64glapi0-devel 8.0.4 2.1.mga2.tai> x86_64 lib64mesagl1-devel 8.0.4 2.1.mga2.tai> x86_64 lib64mesaglu1-devel 8.0.4 2.1.mga2.tai> x86_64 6.4MB of additional disk space will be used. 1.6MB of packages will be retrieved. Proceed with the installation of the 18 packages? (Y/n) Y ... $ sudo urpmq --fuzzy glut lib64freeglut-devel lib64freeglut3 lib64kwinglutils1 $ sudo urpmi --fuzzy lib64freeglut-devel To satisfy dependencies, the following package is going to be installed: Package Version Release Arch (medium "Core Release") lib64freeglut-devel 2.8.0 2.mga2 x86_64 120KB of additional disk space will be used. 101KB of packages will be retrieved. Proceed with the installation of one package? (Y/n) Y ... $ sudo urpmi makedepend $ sudo urpmi cproto Above instructions created a full client build environment. $ cd /home/devel/crossfire $ curl -l trunk.autogen.sh http://invidious.meflin.net/~kbulgrien/files/trunk.autogen.sh $ cd client/trunk $ bash ../../trunk.autogen.sh $ make $ sudo mkdir -p /home/apps/crossfire $ sudo chgrp -R ctools /home/apps $ sudo chmod -R g+rwx /home/apps $ make install $ /home/apps/crossfire/bin/crossfire-client-gtk2 =====client RPMs===== TBD =====.glade files===== Client .glade window and dialog layout files are maintained using glade3: $ sudo urpmq --fuzzy glade glade glade-sharp2 glade3 lib64glade2.0_0 lib64glade2.0_0-devel lib64glademm2.4-devel lib64glademm2.4_1 lib64gladeui-gir2.0 lib64gladeui1-devel lib64gladeui1_11 lib64gladeui2-devel lib64gladeui2_0 libglademm2.4-doc libxfce4ui-glade libxfcegui4-glade pygtk2.0-libglade squirrelmail-bn-bangladesh $ sudo urpmi glade3 To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release") devhelp 3.4.1 1.mga2 x86_64 glade3 3.8.2 1.mga2 x86_64 lib64devhelp3_0 3.4.1 1.mga2 x86_64 lib64gladeui1_11 3.8.2 1.mga2 x86_64 7.8MB of additional disk space will be used. 1.8MB of packages will be retrieved. Proceed with the installation of the 4 packages? (Y/n) Y =====Trunk Server===== After installing the client packages, this still needed to be done: $ sudo urpmi flex installing flex-2.5.35-7.mga1.x86_64.rpm ... $ sudo uprmi python-devel installing lib64python-devel-2.7.3-2.3.mga2.x86_64.rpm ... =====Mapper (Server)===== Presuming the client and server dependencies are loaded, this was needed: $ sudo urpmq --fuzzy gd-devel lib64gd-devel lib64gupnp-igd-devel $ sudo urpmi lib64gd-devel To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release") lib64gd-devel 2.0.35 18.mga2 x86_64 lib64xpm-devel 3.5.10 1.mga2 x86_64 359KB of additional disk space will be used. 97KB of packages will be retrieved. Proceed with the installation of the 2 packages? (Y/n) Y =====CRE (Server)===== CRE needs qmake: $ sudo urpmq --fuzzy qt4-devel ibus-qt4-devel lib64avahi-qt4-devel lib64libntrack-qt4-devel lib64poppler-qt4-devel lib64qt4-devel perl-qt4-devel python-qt4-devel qt4-devel-private ruby-qt4-devel $ sudo urpmi lib64qt4-devel To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release") lib64asyncns-devel 0.8 3.mga1 x86_64 lib64cap-devel 2.22 2.mga2 x86_64 lib64flac-devel 1.2.1 10.mga2 x86_64 lib64ice-devel 1.0.8 1.mga2 x86_64 lib64json-devel 0.9 1.mga1 x86_64 lib64ogg-devel 1.3.0 1.mga2 x86_64 lib64phononexperimental4 4.6.0 1.mga2 x86_64 lib64pulseaudio-devel 2.0 1.mga2 x86_64 lib64sm-devel 1.2.1 1.mga2 x86_64 lib64sndfile-devel 1.0.25 1.mga2 x86_64 lib64vorbis-devel 1.3.3 1.mga2 x86_64 lib64xtst6-devel 1.2.1 1.mga2 x86_64 phonon-devel 4.6.0 1.mga2 x86_64 (medium "Core Updates") lib64dbus-1-devel 1.4.16 5.1.mga2 x86_64 lib64qt4-devel 4.8.4 1.1.mga2 x86_64 lib64qtclucene4 4.8.4 1.1.mga2 x86_64 lib64qthelp4 4.8.4 1.1.mga2 x86_64 lib64qtscripttools4 4.8.4 1.1.mga2 x86_64 qt4-designer-plugin-qt3support 4.8.4 1.1.mga2 x86_64 qt4-designer-plugin-webkit 4.8.4 1.1.mga2 x86_64 qt4-qtconfig 4.8.4 1.1.mga2 x86_64 55MB of additional disk space will be used. 8.5MB of packages will be retrieved. Proceed with the installation of the 21 packages? (Y/n) Y The setup defaults to not building the random house generator plugin. Add ''--enable-cfrhg'' when running ''./configure'' (or the ''autogen.sh'' script) to assure it is built. The above instructions do not explain how to set up the unit test environment. See the [[dev:check|check unit test framework]] page for an install procedure. configure: configure: Configuration summary.... configure: configure: Paths configure: prefix default value /home/apps/crossfire configure: exec_prefix default value ${prefix} configure: Will put executables in ${exec_prefix}/bin configure: Will put resources in ${datarootdir} configure: Will put config in ${prefix}/etc configure: Will put server runtime datas in: ${prefix}/var configure: configure: Build options configure: configure: Will build metaserver2 support? yes configure: Will build plugins? yes configure: Will build python plugin? yes configure: Will build random house plugin? no configure: Will process unit testing? no configure: If you are a developer, you MUST install the check framework configure: and write automated tests for all your add-ons! configure: configure: Build utilities (Not required to build or run the server) configure: configure: Will build crossfire-mapper? yes configure: