Alright, I took some detailed notes while trying to get this put together. I'm hoping this will be of use to the devs.
The first round:
Log of compilation of Ufo-AI for Mac
12:10 Start installing latest Xcode (312 2621)
Odd errors seen in the logs:
Mar 11 12:36:19 Kleiman-ibook Installer[489]: run preupgrade script for DeveloperToolsCLI
Mar 11 12:36:20 Kleiman-ibook michael[751]: Upgrade scripts will be run.
Mar 11 12:36:20 Kleiman-ibook Installer[489]: Removing obsoleted files
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/^Husr/sbin/vmmap64
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/ usr/libexec/gdb/plugins/MacsBug/MacsBug_plugin
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/ usr/libexec/gdb/gdb-powerpc-apple-darwin
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/ usr/libexec/gdb/gdb-i386-apple-darwin
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/ usr/libexec/gdb/gdb-for-codewarrior
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/^Husr/bin/malloc_history
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/^Husr/bin/leaks
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/^Husr/bin/heap
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/^Husr/bin/atos
Mar 11 12:36:20 Kleiman-ibook runner[493]: trying to delete: /Developer/PLibrary/Developer/3.0/distcc/distcclaunchdconfig
Yes, those are ^H's in the filenames. Go figure.
Large number of missing man pages complained by makewhatis
After install:
Kleiman-ibook:~ michael$ df -l
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/disk0s3 42745372 36480732 6008640 86% /
/dev/disk0s5 15597564 14497592 1099972 93% /Volumes/Time Machine Drive
Just under 6 GB (Finder says 5.73).
Step 2: Install MacPorts 1.7.0
Step 3: Install latest X11 (2.3.2.1)
Mar 11 16:22:51 Kleiman-ibook kernel[0]: Finder[129] Unable to clear quarantine `X11-2.3.2.1.pkg': 30
Can someone explain what that means?
Step 4: "sudo port selfupdate"
At this point, I have a "standardized" development environment.
Kleiman-ibook:~ michael$ sudo port selfupdate
MacPorts base version 1.700 installed
Downloaded MacPorts base version 1.700
The MacPorts installation is not outdated so it was not updated
Kleiman-ibook:~ michael$ df -l
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/disk0s3 42745372 36655848 5833524 87% /
/dev/disk0s5 15597564 14604000 993564 94% /Volumes/Time Machine Drive
/dev/disk1s2 85860 78380 7480 92% /Volumes/X11-2.3.2.1
Kleiman-ibook:~ michael$
(TM snapshot done)
Now, follow the instructions on the wiki:
Kleiman-ibook:~ michael$ sudo port install libsdl_ttf libsdl_mixer
NB: Installing libsdl_mixer also installs gettext
Mar 11 20:21:48 Kleiman-ibook ReportCrash[60141]: thread_get_state() returned 268435459: (ipc/send) invalid destination port
Mar 11 20:21:48 Kleiman-ibook ReportCrash[60141]: Failed to create VMUSymbolicator for mach_kernel[0]
Mar 11 20:21:48 Kleiman-ibook ReportCrash[60141]: Formulating crash report for process mach_kernel[0]
Mar 11 20:21:48 Kleiman-ibook ReportCrash[60141]: Saved crashreport to /Library/Logs/CrashReporter/mach_kernel_2009-03-11-202148_Kleiman-ibook.crash using uid: 0 gid: 0, euid: 0 egid: 0
Yes, that showed up in the console log -- while compiling smpeg for libsdl_mixer.
"libjpeg" does not exist in macports ; the name is "jpeg".
"libpng3" does not exist in macports. A look into the fink database shows that "libpng3 1.2.29-1" has a web page at
http://www.libpng.org/pub/png/libpng.html; checking there shows that it is "libpng" (no 3) and lists 1.2.35 as the current version. That version is fetched from port as libpng
Kleiman-ibook:macports michael$ date ; sudo port install libsdl_ttf +universal libsdl_mixer +universal jpeg +universal libpng +universal ; date
Woot! A complete recompile of everything for universal still triggers this:
Mar 12 00:10:41 Kleiman-ibook ReportCrash[26792]: thread_get_state() returned 268435459: (ipc/send) invalid destination port
Mar 12 00:10:42 Kleiman-ibook ReportCrash[26792]: Failed to create VMUSymbolicator for mach_kernel[0]
Mar 12 00:10:42 Kleiman-ibook ReportCrash[26792]: Formulating crash report for process mach_kernel[0]
Mar 12 00:10:42 Kleiman-ibook ReportCrash[26792]: Saved crashreport to /Library/Logs/CrashReporter/mach_kernel_2009-03-12-001041_Kleiman-ibook.crash using uid: 0 gid: 0, euid: 0 egid: 0
It is repeatable! Congrats, you found a real kernel bug!
Kleiman-ibook:development michael$ mkdir -p ufoai/trunk
Kleiman-ibook:development michael$ cd ufoai/trunk
Kleiman-ibook:trunk michael$ svn co
https://ufoai.svn.sourceforge.net/svnroot/ufoai/ufoai/trunk .
Error validating server certificate for '
https://ufoai.svn.sourceforge.net:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: *.svn.sourceforge.net
- Valid: from Wed, 12 Nov 2008 04:25:27 GMT until Tue, 12 Jan 2010 04:25:27 GMT
- Issuer: Equifax Secure Certificate Authority, Equifax, US
- Fingerprint: 04:b2:70:e9:ba:cf:70:fc:e8:8a:22:86:14:13:51:97:1b:6a:de:38
(R)eject, accept (t)emporarily or accept (p)ermanently?
Ok, so no one has even mentioned what fingerprint we should see.
Come on folks, HTTPS: is only half of the security solution, and is almost useless by itself.
It prevents a stream from being corrupted during transmission, but does nothing to protect against a man-in-the-middle.
Without something to verify the certificate -- either a trusted authority, *or knowing what the fingerprint should be* -- it doesn't do what everyone thinks it does.
Gaah. Even firefox now rejects "self signed" certificates with that big bad police officer.
svn: PROPFIND request failed on '/svnroot/ufoai/ufoai/trunk'
svn: PROPFIND of '/svnroot/ufoai/ufoai/trunk': Could not read status line: connection was closed by server. (
https://ufoai.svn.sourceforge.net)
Sigh. Documenting what you see as you go runs into trouble. :-)
./configure --disable-uforadiant --enable-universal
make && make lang
There are a LOT of warnings on this make:
* [UFO] src/ports/unix/unix_main.c
* [UFO] src/ports/macosx/osx_main.m
src/ports/macosx/osx_main.m:107: warning: cannot find interface declaration for ‘SDLApplication’
src/ports/macosx/osx_main.m:107: warning: cannot find interface declaration for ‘SDLApplication’
* [DED] src/ports/macosx/osx_main.m
src/ports/macosx/osx_main.m:107: warning: cannot find interface declaration for ‘SDLApplication’
src/ports/macosx/osx_main.m:107: warning: cannot find interface declaration for ‘SDLApplication’
* [DED] ... linking -rdynamic (-lz -lcurl -lssl -lcrypto -lz -lcurses )
* [MAP] src/tools/ufo2map/ufo2map.c
In file included from /opt/local/include/jpeglib.h:28,
from src/tools/ufo2map/common/imagelib.h:31,
from src/tools/ufo2map/lighting.h:28,
from src/tools/ufo2map/ufo2map.c:33:
/opt/local/include/jconfig.h:12:1: warning: "HAVE_STDLIB_H" redefined
In file included from src/tools/ufo2map/common/../../../shared/shared.h:30,
from src/tools/ufo2map/common/shared.h:32,
from src/tools/ufo2map/lighting.h:25,
from src/tools/ufo2map/ufo2map.c:33:
src/tools/ufo2map/common/../../../shared/../../config.h:71:1: warning: this is the location of the previous definition
In file included from /opt/local/include/jpeglib.h:28,
from src/tools/ufo2map/common/imagelib.h:31,
from src/tools/ufo2map/lighting.h:28,
from src/tools/ufo2map/ufo2map.c:33:
/opt/local/include/jconfig.h:12:1: warning: "HAVE_STDLIB_H" redefined
In file included from src/tools/ufo2map/common/../../../shared/shared.h:30,
from src/tools/ufo2map/common/shared.h:32,
from src/tools/ufo2map/lighting.h:25,
from src/tools/ufo2map/ufo2map.c:33:
src/tools/ufo2map/common/../../../shared/../../config.h:71:1: warning: this is the location of the previous definition
These errors continue for almost all of [ MAP ] . Odd, I didn't tell it to "make maps".
Kleiman-ibook:trunk michael$ contrib/scripts/map-get
Usage: map-get [options] command
Commands:
upgrade - make sure all maps are up to date
generate DST - generate or update repository dir DST
(probably not what you want)
Options:
-h, --help show this help message and exit
-v, --verbose
Kleiman-ibook:trunk michael$ contrib/scripts/map-get upgrade
getting list of available maps
WARNING ufo2map version mismatch
Continue? [Y|n]n
Alright, this is a flaw. The "How to compile" page says to use this script, but it doesn't work!
Time:
Macports took 3 hours to download, compile and install the needed libraries.
Svn took 2 hours and 20 minutes just to check out a copy of the Ufo AI tree
Dealing with Time Machine blowing up (backup too large for the backup drive; having to cut both the newly installed stuff AND enough of the old stuff that a future backup can backup the new stuff): Days :-). (Small backup drive.)
Final disk space:
/dev/disk0s3 42745372 41292664 1196708 98% /
Starting:
/dev/disk0s3 42745372 36480732 6008640 86% /
That's just about 5 gig. Wow.
===
The second round:
Fixing the maps (thank you geever): It compiles.
I have a .dmg. And I can run the program.
Attempting to run a skirmish, results in this in the console:
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: R_LoadProgram: 'default' loaded.
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: R_LoadProgram: 'warp' loaded.
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: SDL_ttf version 2.0.9 - we need at least 2.0.7
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: ...registering 10 fonts
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Could not find cvar 'cl_3dmap'
Mar 14 13:04:34: --- last message repeated 3 times ---
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Could not find cvar 'g_actorspeed'
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Change gametype to 'Skirmish mode'
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Could not find rank 'rifleman'
Mar 14 13:04:34: --- last message repeated 7 times ---
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: ------- Loading game.dylib -------
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: LoadLibrary (./base/game.dylib)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: ==== InitGame ====
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: SV_ParseAssembly: warning - cvar 'rm_drop' value doesn't seam to be a valid tile id '' - set to default '+drop_firebird'
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: CM_LoadMap: "-africa/af_ +main +drop_firebird" "-40 -16 0 -40 -16 0"
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Map:africa/af_main Offset:(-40, -16, 0)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: wpMins:(128, 128, 0) wpMaxs:(215, 159, 4)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Shifted wpMins:(88, 112, 0) wpMaxs:(175, 143, 4)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Tile bounds: (88, 112, 0) to (175, 143, 4)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Source bounds: (128, 128, 0) to (215, 159, 4)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Done copying data.
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Loaded routing for tile africa/af_main in 0.0s
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Map:africa/af_drop_firebird Offset:(-40, -16, 0)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: wpMins:(128, 128, 0) wpMaxs:(143, 151, 3)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Shifted wpMins:(88, 112, 0) wpMaxs:(103, 135, 3)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Tile bounds: (88, 112, 0) to (103, 135, 3)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Source bounds: (128, 128, 0) to (143, 151, 3)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Done copying data.
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Loaded routing for tile africa/af_drop_firebird in 1.0s
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: checksum for the map '+africa': 2906337093
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: ufo script checksum 285034083
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Created AI player (team 0)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Created AI player (team 7)
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: -------------------------------------
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Connecting to localhost...
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Map: +africa
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: load material file: 'materials/africa.mat'
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Starting the game...
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: michael has joined team 0
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: (player 0) It's team 1's round
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: michael has taken control over team 1.
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Didn't find parent menu "main"
Mar 14 13:04:01 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: music change to PsymongO4 (from van_theme)
Mar 14 13:04:02 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: 0 ufo 0x00198d04 Sys_Mkdir + 180
Mar 14 13:04:03 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Error: Received signal 6.
Mar 14 13:04:03 Kleiman-ibook [0x0-0x2e12e1].net.sourceforge.UFOAI[12328]: Wrote keys.cfg
Mar 14 13:04:03 Kleiman-ibook com.apple.launchd[112] ([0x0-0x2e12e1].net.sourceforge.UFOAI[12328]): Exited with exit code: 1
Alright: Attempting to start a skirmish resulted in the game crashing. It detects and traps a signal 6. Had that signal actually arrived, Mac Os would have given me a nice, easy to submit debugging trace; as it is, I can only report this. And the truth is, I don't know if it's that the africa map from map-get is not compatible with the mac compiled code, or if it's something serious.
Alright, lets go to a campaign game. Playing around with options, ufopedia, etc
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: Campaign data loaded - size 4131324 bytes
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...techs: 192
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...buildings: 22
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...ranks: 16
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...nations: 8
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...cities: 7
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: Sanity check for script data
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...... no mappart for building 'building_aliencontainment2' given
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...... no mappart for building 'building_hangar2' given
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...... no mappart for building 'building_large_ufo_hangar2' given
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...... no mappart for building 'building_workshop2' given
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...buildings failed
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...tech ok
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...aircraft ok
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: ...items ok
...
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: Can't find pic: techs/base_AA51_launcher
Mar 14 14:26:47: --- last message repeated 24 times ---
Mar 14 14:25:33 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: Can't find pic: techs/base_ammo_AA51
Mar 14 14:26:48: --- last message repeated 14 times ---
...
Mar 14 14:26:12 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: Can't find pic: techs/craft_ammo_shiva_1
Mar 14 14:26:51: --- last message repeated 373 times ---
Mar 14 14:26:12 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: Can't find pic: techs/craft_ammo_shiva_2
Mar 14 14:26:51: --- last message repeated 23 times ---
Mar 14 14:26:12 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: Can't find pic: techs/craft_ammo_s
Mar 14 14:26:21 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: hiva_2
Mar 14 14:26:21 Kleiman-ibook [0x0-0x2e52e5].net.sourceforge.UFOAI[12423]: Can't find pic: techs/craft_ammo_shiva_2
Mar 14 14:26:51: --- last message repeated 398 times ---
The shiva pics complaints (1 and 2) show up thousands of times in the logs, in batches of 400.
I never advance the clock past the starting moment. I'm just looking around in the in-game docs, moving the map, playing around with flat vs. 3d world view, building new places in the base, equiping the aircraft, etc. I'm expecting that the first ufo encounter will crash when the map loads.
After playing around, (about an hour), the world map gets messed up. I'm no longer seeing continents, land and water, etc. Instead, colored rectangles -- darn, I should have taken a screen shot.
I'm not sure how much of these problems are from code issues, and how much is from compilation issues.
Kleiman-ibook:trunk michael$ svn info
Path: .
URL:
https://ufoai.svn.sourceforge.net/svnroot/ufoai/ufoai/trunkRepository Root:
https://ufoai.svn.sourceforge.net/svnroot/ufoaiRepository UUID: 39b98707-f80d-0410-bc7e-c6b02f5409da
Revision: 23524
Node Kind: directory
Schedule: normal
Last Changed Author: bayo-fr
Last Changed Rev: 23524
Last Changed Date: 2009-03-14 09:19:22 -0700 (Sat, 14 Mar 2009)
Ohh,here's something:
Kleiman-ibook:trunk michael$ ls ~/.ufoai/2.3-dev/base/
total 372
0 Users/ 4 keys.cfg 364 ufoconsole.log
4 config.cfg 0 save/
0 history 0 stats.log
Kleiman-ibook:trunk michael$
Yep, that console.log file is a duplicate of what got written to the system.log.