With cordite in the air, splintered steel, shell casings and powder burns, there’s only one explanation...
If you have any trouble with SG, this is the place to ask.

Moderator: Pardner

Postby Tequila » Thu Sep 10, 2009 7:26 am

Can I suggest you to put the Mac build in the SF Smokin' Guns project ?
About the torrent, you should remember I still provides a tracker for SG 1.0 releases at that URL: http://smokinguns.fr:6969/
I can prepare the torrent and add it to that tracker. (You have also sufficient rights to add it by yourself but I need to document the process... and I have not really time to, sorry)
User avatar
Tequila
SG Team
 
Posts: 1100
Joined: Thu Nov 15, 2007 11:33 pm
Location: Montpellier, France



Postby sparcdr » Thu Sep 10, 2009 8:19 am

Smokin' Guns Mac 1.0 was built on iBook G4 running Mac OS X 10.4 (Tiger). It was originally tested on 10.4.11 and 10.5.6 on both PowerPC and Intel platforms. It has been tested to build correctly on 10.5 (Leopard) as well, but not yet on 10.6 (Snow Leopard).

You need XCode 2.5, 3.0, or 3.1 installed. It is available for free at the Apple Developer Connection

1.) Download Smokin' Guns 1.0 "Generic" Zip Archive from a download mirror
2.) Download XCode (2.5, 3.1, or newer) from http://connect.apple.com or use (for now) the copy that is available on your Mac OS X installation DVD in Optional Installs
3.) Download MacPorts (1.7.1 or newer) from http://www.macports.org/
4.) Download SDL 1.2 Mac OS X Runtime (DMG) and Source Code (GZ) from http://www.libsdl.org/
5.) Install XCode (2.5 or newer)
6.) Install MacPorts (1.7.1 or newer)
7.) Open Terminal from Applications -> Utilities
8.) Navigate into your Downloads directory with 'cd Downloads'
9.) Checkout a fresh copy of the 1.1 engine source code from svn by typing
Code: Select all
svn co https://smokinguns.svn.sourceforge.net/svnroot/smokinguns/branches/1.1/ sg11-engine
where sg11-engine is the destination directory to be created
10.) Type
Code: Select all
sudo port install pkg-config libsdl

11.) Extract SDL by typing
Code: Select all
tar -xzf SDL-1.2.13.tar.gz

12.) Navigate into the newly created SDL directory and type
Code: Select all
./configure
then
Code: Select all
make
and finally
Code: Select all
sudo make install

13.) You can now navigate back a level by typing
Code: Select all
cd ..
where you will then enter the sg11-engine directory with
Code: Select all
cd sg11-engine

14.) Start the build process by typing
Code: Select all
./make-macosx-ub.sh

15.) Generated files if compilation succeeds will appear in Build
16.) Navigate back a level again via the same method, where you will end up in Downloads again.
17.) Extract your SG Generic zip with the command
Code: Select all
unzip Smokin_Guns_1.0.zip

18.) You can open a Finder window and navigate to Downloads -> sg11-engine -> build -> release-darwin-ub to find the application bundle which you'd want to ctrl + click (or right) and then Show Contents of, then drilling down until you're inside Contents -> MacOS -> baseq3.
19.) Open a second Finder window with cmd + n hotkey and navigate to Downloads -> Smokin' Guns -> smokinguns
20.) Drag and drop the pk3 and cfg files from the unpacked generic area mentioned in 19 into the place indicated in step 18
21.) Make modifications to your baseq3/*.cfg files with textedit or other editor if applicable (Widescreen users, those with 3D glasses)
22.) Try and start the game (Assuming the thing we call a bundle has the correct icon, that is what to click..)

My apologies for not checking against build steps for errors, but I have only one Mac and am using SL. Please help me improve the quality of this guide if you find problems and have gotten it to work.

Notes:
You could install SDL from MacPorts, but it would draw more dependencies, and wouldn't mesh as well with the environment.

Using the Framework alone instead of compiling from source should be enough, and is as simple as dragging and dropping the Directory.Framework folder from a Finder window into /Library/Frameworks. This will not be detected on SL, but as I recall works on Tiger and Leopard.

Since SDL does not build due to QD depreciation, a binary build of the pkg-config files that are build from gzip compressed source (Not the framework) may in fact be necessary for a faithful build. We do ship a dylib, which is used in linking, but no promises it'll be fully functional. Build on 10.3.9 to 10.5 for now if you can help it.

A workaround to some build problems is to remove the ppc sections of the make-macosx-ub.sh file, and build each binary if you have hardware access on the native target platform, later using the lipo(1) tool to rejoin the pieces. While SL does not support PPC, one could join a 10.5 built PPC binary with a 10.6 i386 binary to create a production mach-o multi-arch bundle.

Since I haven't had time to fix the script, you can simply move out SDKs you don't want the program built against them, but there's no point since the build at this time would only need you to do this on SL, which is broken upstream. Don't fret, 10.4/10.5 binaries work on SL, and you can reuse my package once I get it back up, simply replacing a few files if you want the fresh.
sparcdr
SG Team
 
Posts: 334
Joined: Wed Jun 13, 2007 3:41 pm



Postby sparcdr » Fri Sep 11, 2009 6:09 am

My mirror is back online as of Friday, September 11, 2009 06:00 GMT. The Mac dmg has been re-uploaded, and I have provided sha1 checksums instead of md5sums due to the fairly recent security problem with md5's algorithm.

The Mac dmg is marked 1.0 now, but is the same version as the RC since I did not receive any negative reports. The generic and win32 binaries were fetched off a current sg mirror, and those also have sha1 checksums.

Bandwidth statistics are enabled and I will see how popular I end up in a month or two to make changes to speed limits. Since this is not commercially hosted, I have connections set to 2 concurrent, 2 persistent, 64kb/s (512kbit) per user, with 8 user maximum global concurrent for the domain.

Source archives in BSD zip (bz2) are available with .svn entries packed if you need a copy and need them for some reason.

New win32 binaries based on r274 for 1.1 branch are out here for your testing and pleasure.

This mirror at the moment hosts only public distributable files which you may find on other mirrors plus spins of binaries made by me for your convenience.
sparcdr
SG Team
 
Posts: 334
Joined: Wed Jun 13, 2007 3:41 pm



Postby Pyrite » Mon Sep 14, 2009 11:22 pm

Howdy all, I thought I'd try out the latest SVN version of 1.1, as I haven't updated the code on my server since the beginning of the year. As per the README for Linux, I just typed 'make'. All seemed to go well, until I got to this point:
Code: Select all
...
CC code/client/cl_curl.c
In file included from code/SDL12/include/SDL_config.h:42,
                 from code/SDL12/include/SDL_stdinc.h:28,
                 from code/SDL12/include/SDL_main.h:26,
                 from code/SDL12/include/SDL.h:28,
                 from code/client/../sys/sys_loadlib.h:39,
                 from code/client/cl_curl.c:28:
code/SDL12/include/SDL_config_minimal.h:39: error: conflicting types for ‘uintptr_t’
/usr/include/stdint.h:129: error: previous declaration of ‘uintptr_t’ was here
make[2]: *** [build/release-linux-ppc/client/cl_curl.o] Error 1
make[2]: Leaving directory `/home/pyrite/smokinguns/1.1'
make[1]: *** [targets] Error 2
make[1]: Leaving directory `/home/pyrite/smokinguns/1.1'
make: *** [release] Error 2

Any thoughts? Is this a bug or a conflict with one of the libraries on my system? The server is running Ubuntu 8.10 on PowerPC, and I successfully built a January SVN release of SG 1.1 on it with the same config. Not sure if the dependencies have changed.

As always, thanks for your hard work!

EDIT: I tried building the current SVN release on my laptop (Ubuntu 8.10 x86), which worked fine. The laptop and the server have different configurations, so it doesn't rule out the possibility of the conflict with a system library, but I mention it in case it helps narrow the problem down.
Last edited by Pyrite on Tue Sep 15, 2009 12:19 am, edited 1 time in total.
User avatar
Pyrite
Pistolero
 
Posts: 28
Joined: Sat Aug 30, 2008 12:43 am



Postby sparcdr » Tue Sep 15, 2009 12:18 am

Pyrite: I vaguely remember a GCC bug with PowerPC. Which version of GCC are you using to compile?
sparcdr
SG Team
 
Posts: 334
Joined: Wed Jun 13, 2007 3:41 pm



Postby Pyrite » Tue Sep 15, 2009 12:35 am

Here's the info in all its lengthy detail:
Code: Select all
$ gcc -v
Using built-in specs.
Target: powerpc-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu12' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --disable-softfloat --enable-secureplt --enable-targets=powerpc-linux,powerpc64-linux --with-cpu=default32 --with-long-double-128 --enable-checking=release --build=powerpc-linux-gnu --host=powerpc-linux-gnu --target=powerpc-linux-gnu
Thread model: posix
gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu12)

I can't see a mention of a bug that looks related to the problem in /usr/share/doc/gcc-4.3/README.Bugs, but that doesn't mean it isn't there, the file is a bit devoid of information! The system also has gcc 4.1 and 4.2 installed if you think they might be worth a shot instead.
User avatar
Pyrite
Pistolero
 
Posts: 28
Joined: Sat Aug 30, 2008 12:43 am



Previous

Return to Doc's Office

Show Sidebar
Show Sidebar

User Control Panel

cron