Day 7
Feeling a bit under the weather with a cold, I didn't have a good sleep but did install Ubuntu Mate 16.04 LTS
on my Powerbook G4.
Still need to tweak it, as in get a working battery meter and apply the fix done by
@Tito910 for the brightness
keys as found here (and other usefull tips )
#28
Tried running some of my Windows QEMU images on Ubuntu Mate PPC with qemu 2.5 but gave up after 15 minutes when they were still booting .
Day 8 The Final day of the Challenge
I booted my Clean Leopard install and installed xcode 3.11 , MacPorts 2.5.4, TFF, Webkit, LittleSnitch, TextWrangler.
Currently installing Git in order to fork SMtube and OpenConnect .
Xserve G4 is also booted to check the WoW server install.
These were the instructions I wrote somewhere between Christmas and NewYear.
How to install a WoW server on PowerPC XServe G4 running OS X 10.5.8 using Macports
https://github.com/pablocrossa/trinitycore-portable
Requirements :
- Processor with SSE2 support (Unless you compile with cmake option "SKIP_SSE2")
- ACE ≥ 5.8.3 (included for Windows)
- MySQL ≥ 5.1.0 (included for Windows)
- CMake ≥ 2.8.0
- OpenSSL ≥ 1.0.0
- GCC ≥ 4.7.2 (Linux only)
- Installed via Macports Macports 2.4.2
- mysql51-server (later versions dont' compile)
cd ~
mkdir TCP
cd TCP
git clone
https://github.com/pablocrossa/trinitycore-portable.git
mkdir build
mkdir server
cd build
Install the dependencies , mostly via MacPorts
cmake
openssl
mp-gcc6
Install ACE
ACE via Macports cannot get around the -Wno-long-double parameter
Solution install ACE from sources, need complete install for Makefile templates
I used version ACE-6.5.3.tar.gz from here , No Makefile , look for explanation here :
http://bluelove1968.pixnet.net/blog/post/222277717-full-build-ace/μmanager-on-macos-x-snow-leopard
cd ACE_wrappers
export ACE_ROOT=`pwd`
export CFLAGS="-g -O2 -isysroot /Developer/SDKs/MacOSX10.5.sdk"
cd $ACE_ROOT/ace
nano config.h
#include "ace/config-macosx-leopard.h"
#define _XOPEN_SOURCE
Save the file
nano ${ACE_ROOT}/include/makeinclude/platform_macros.GNU
debug=1
shared_libs=0
static_libs=1
include ${ACE_ROOT}/include/makeinclude/platform_macosx_leopard.GNU
Save the file
nano ${ACE_ROOT}/include/makeinclude/platform_macosx_tiger.GNU
Comment the CFLAGS line containing -Wno-long-double ( sounds familiar ? ) by placing a # at the begin of this line
Save this file
To avoid later when you start make , that you can't get around the -fdelayed-template-parsing error
nano ${ACE_ROOT}/include/makeinclude/platform_clang_common.GNU
Comment the following line by placing a # before it
CCFLAGS += -fdelayed-template-parsing
Save this file
cd $ACE_ROOT/include/makeinclude
Now generate the Makefile
$ACE_ROOT/bin/mwc.pl -type gnuace $ACE_ROOT/ACE.mwc
In order to not have an error immediately during your compilation like I did
ACE_wrappers/ace/config-macosx-leopard.h:232:2: error: #error "Compiler must be upgraded, see
http://developer.apple.com"
make[1]: *** [.obj/ACE.o] Error 1
make: *** [ACE] Error 2
I found some info here
https://github.com/jeremymeile/jeremymeile/blob/master/ACElibtool.sh on line 292
and patched the following file
cat ${ACE_ROOT}/ace/config-macosx-leopard.h | sed -n '/if defined(__APPLE_CC__) && (__APPLE_CC__ < 1173)/!p' | sed -n '/Compiler must be upgraded/!p' | sed -n '/ __APPLE_CC__ /!p' > /tmp/config-macosx-leopard.h
cp /tmp/config-macosx-leopard.h ${ACE_ROOT}/ace/.
And we are almost there in order to compile ACE
Use GCC 6 as your default compiler or you will get the following error using an older GCC
ACE_wrappers/ace/Barrier.cpp:170:1: internal compiler error: in output_die, at dwarf2out.c:
sudo port select --set gcc mp-gcc6
I decided only to compile ace since this is all I needed
cd ${ACE_ROOT}/ace
make
And then copy the files to
sudo ln -s $ACE_ROOT/ace /usr/include/ace
sudo ln -s $ACE_ROOT/ace/libACE.a /usr/lib/
And now at last compiling TrinityCore portable
but cmake 3.9.4 from Macports cannot find OpenSSL 1.0 from Macports , AARGH
-- Found OpenSSL library: /usr/lib/libssl.dylib;/usr/lib/libcrypto.dylib
-- Found OpenSSL headers: /usr/include
CMake Error at cmake/macros/FindOpenSSL.cmake:223 (message):
TrinityCore needs OpenSSL version 1.0.0 but found version 0.9.7`
Oh well, then we compile OpenSSL from source
so it gets installed in the /usr directories
Download from here
https://www.openssl.org/source/openssl-1.0.2q.tar.gz
go into the directory
./config
make
Adapted the make file so the INSTALLTO goes to /usr
sudo make install
And now finally the last steps after all dependency hell :
In your /TCP/build directory
cmake ../trinitycore-portable -DSKIP_SSE2=1 -DSTANDARDIZE_ASM=1 -DPREFIX=~/TCP/server
make
protector:build uz3r$ make
Scanning dependencies of target g3dlib
[ 0%] Building CXX object dep/g3dlite/CMakeFiles/g3dlib.dir/source/AABox.cpp.o
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/format.h:32: warning: 'cdecl' attribute directive ignored
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/debugPrintf.h:44: warning: 'cdecl' attribute directive ignored
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/debugPrintf.h:56: warning: 'cdecl' attribute directive ignored
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/AtomicInt32.h: In member function 'G3D::int32 G3D::AtomicInt32::add(G3D::int32)':
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/AtomicInt32.h:80: error: '__sync_fetch_and_add' was not declared in this scope
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/AtomicInt32.h: In member function 'G3D::int32 G3D::AtomicInt32::decrement()':
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/AtomicInt32.h:123: error: '__sync_sub_and_fetch' was not declared in this scope
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/AtomicInt32.h: In member function 'G3D::int32 G3D::AtomicInt32::compareAndSet(G3D::int32, G3D::int32)':
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/AtomicInt32.h:156: error: '__sync_val_compare_and_swap' was not declared in this scope
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/Array.h: At global scope:
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/Array.h:135: warning: 'cdecl' attribute directive ignored
/Volumes/data/TCP/trinitycore-portable/dep/g3dlite/include/G3D/Array.h:986: warning: 'cdecl' attribute directive ignored
make[2]: *** [dep/g3dlite/CMakeFiles/g3dlib.dir/source/AABox.cpp.o] Error 1
make[1]: *** [dep/g3dlite/CMakeFiles/g3dlib.dir/all] Error 2
make: *** [all] Error 2
And that's how far I got.
(make install)