Thoughts on Allegro on Mac OS X
Please provide your thoughts on Allegro for Mac OS X (see front page story) and also comments on it vs. SDL.
Cheers
Cheers
Carlos A. Camacho,
Founder
iDevGames
Well, I'm building it now. I'll have a look at it when it's done and report back. I think I remember encountering Allegro in the bygone days of trying to learn djgpp on Dos around 1996. It was cool, but blew my mind. It was the first time I'd seen a real thing compiled on a computer after being downloaded as source. I imagine it is a different beast nowadays.
Edit: compile failed. You can only imagine how much time I have to troubleshoot it.
Edit: compile failed. You can only imagine how much time I have to troubleshoot it.

Definitely interested in this!
I hope that someone manages to get it to work, and that they can get a nice template project file working for Mac OS X.
Can't wait :-D
I hope that someone manages to get it to work, and that they can get a nice template project file working for Mac OS X.
Can't wait :-D
Hello all
First post here - Thanks to Charles Wardlaw and Carlos Camacho for posting the news item on the main page; I hope this helps spreading Allegro to the Mac community... We need beta testers for the OSX port, so thanks for anyone trying it!
To Feanor: what problem are you having?
The full compile/install instructions are in docs/build/macosx.txt
Following the steps reported there should lead to a successful installation...
joephish: there's already a project template for Project Builder: after you've compiled the library, just do
sudo make install-template
This is also explained in docs/build/macosx.txt.
First post here - Thanks to Charles Wardlaw and Carlos Camacho for posting the news item on the main page; I hope this helps spreading Allegro to the Mac community... We need beta testers for the OSX port, so thanks for anyone trying it!
To Feanor: what problem are you having?
The full compile/install instructions are in docs/build/macosx.txt
Following the steps reported there should lead to a successful installation...
joephish: there's already a project template for Project Builder: after you've compiled the library, just do
sudo make install-template
This is also explained in docs/build/macosx.txt.
Here are some of the problems I had:
**snip**
Code:
gcc: unrecognized option `-single_module'
ld: common symbols not allowed with MH_DYLIB output format
**snip**
Code:
obj/macosx/alleg/guiproc.o definition of common _gui_shadow_box_proc (size 4)
obj/macosx/alleg/guiproc.o definition of common _gui_t/usr/bin/libtool: internal link edit command failed
ext_list_proc (size 4)
obj/macosx/alleg/keyboard.o definition of common __key (size 120)
obj/macosx/alleg/keyboard.o definition of common _key (size 120)
obj/macosx/alleg/sound.o definition of common __phys_voice (size 2816)
obj/macosx/alleg/poly3d.o definition of common __optim_alternative_drawer (size 4)
obj/macosx/alleg/sound.o definition of common __voice (size 5120)
obj/macosx/alleg/timer.o definition of common __timer_queue (size 320)
obj/macosx/alleg/system.o definition of common _osx_event_mutex (size 44)
obj/macosx/alleg/main.o definition of common ___crt0_argc (size 4)
obj/macosx/alleg/main.o definition of common ___crt0_argv (size 4)
obj/macosx/alleg/qzwindow.o definition of common _osx_window_mutex (size 44)
obj/macosx/alleg/system.o definition of common _osx_window_title (size 4096)
obj/macosx/alleg/usystem.o definition of common __unix_bg_man (size 4)
make: *** [lib/macosx/liballeg-4.1.1.dylib] Error 1
bash-2.05a$
You're using an old version of the Developer Tools.
Check out docs/build/macosx.txt, software requirements section; Allegro requires the December 2002 or newer Dev Tools edition to build.
AFAIK the -single_module ld option was introduced in this version.
If you don't want to download recent Dev Tools, you can still build Allegro as a static library only, but you'll not be able to install it as a framework nor to install and use the PB project template. Again, check docs/build/macosx.txt.
Check out docs/build/macosx.txt, software requirements section; Allegro requires the December 2002 or newer Dev Tools edition to build.
AFAIK the -single_module ld option was introduced in this version.
If you don't want to download recent Dev Tools, you can still build Allegro as a static library only, but you'll not be able to install it as a framework nor to install and use the PB project template. Again, check docs/build/macosx.txt.
Here are some more Allegro related resources you may want to check:
- http://sourceforge.net/projects/alleg: Allegro project page on SF.
- http://allegro.sunsite.dk/files/alldata.zip: holds demo.dat you need to place in the demo/ directory to be able to play the demo game (tip: to create an application bundle for the demo, use "make fixdemo").
- http://www.allegro.cc: the official Allegro community site. Has a depot with tons of Allegro games, a forum where you can discuss about the library and much more.
:-( look difficult to install
the best thing is to give a macosx installer
with precompilled things this help a lot of people
this can be great to put it on idevgames
the best thing is to give a macosx installer
with precompilled things this help a lot of people
this can be great to put it on idevgames
I don't think it looks that tricky to install really, as long as you find the docs/build/macosx.txt. I'm going to install the new version of the developer tools as soon as possible, but right now I've gotta revise for a Comp Sci Math exam in 1 hour's time :-)
**gets back to cramming revision**
**gets back to cramming revision**
Hi all,
To install, first download from CVS as stated on the allegro pages (http://allegro.sunsite.dk/cvs.html).
Then, cd into the directory and type the following:
chmod +x fix.sh
./fix.sh macosx
make depend
make
Hopefully, you won't have any problems. Once make finishes, type
sudo make install
to install the library dynamic library
sudo make install-framework
to install the framework, and
sudo make install-template
to install the Project Builder template (a basic allegro "Hello, World!" app).
If you're interested in building the static library, running, check the readme -- I think it's a call to "make STATIC=1", or something similar.
More notes: programs in the examples directory are not built as app bundles by default. They run identically if run from the command line, but if you're interested in having double-clickable apps, check tools/macosx/fixbundle.c -- it's a tool meant to generate app bundles and icons from source images. Angelo (the guy who did the vast majority of this port) is the one who wrote it, and it works pretty well.
I'll watch this thread to help people get it up and running.
- Charles Wardlaw
To install, first download from CVS as stated on the allegro pages (http://allegro.sunsite.dk/cvs.html).
Then, cd into the directory and type the following:
chmod +x fix.sh
./fix.sh macosx
make depend
make
Hopefully, you won't have any problems. Once make finishes, type
sudo make install
to install the library dynamic library
sudo make install-framework
to install the framework, and
sudo make install-template
to install the Project Builder template (a basic allegro "Hello, World!" app).
If you're interested in building the static library, running, check the readme -- I think it's a call to "make STATIC=1", or something similar.
More notes: programs in the examples directory are not built as app bundles by default. They run identically if run from the command line, but if you're interested in having double-clickable apps, check tools/macosx/fixbundle.c -- it's a tool meant to generate app bundles and icons from source images. Angelo (the guy who did the vast majority of this port) is the one who wrote it, and it works pretty well.
I'll watch this thread to help people get it up and running.
- Charles Wardlaw
Quote:Originally posted by Danlab
:-( look difficult to install
the best thing is to give a macosx installer
with precompilled things this help a lot of people
this can be great to put it on idevgames
This is actually a *very* good idea, seeing as a .pkg installer could install both the Allegro framework and the Project Builder template quite easily.
I'll look into it. I'm sure the community would benefit greatly from a binary distribution like this.
From lillo:
> To Feanor: what problem are you having?
Here is the text of the error:
tools/macosx/fixbundle.c:30: warning: could not use precompiled header '/System/Library/Frameworks/Carbon.framework/Headers/Carbon-gcc3.p', because:
tools/macosx/fixbundle.c:30: warning: 'CarbonSound/CarbonSound.h' has different date than in precomp
tools/macosx/fixbundle.c:30: warning: 'CarbonSound/Sound.h' has different date than in precomp
{standard input}:unknown:FATAL:can't create output file: obj/macosx/alleg/macosx/fixbundle.o
make: *** [obj/macosx/alleg/macosx/fixbundle.o] Error 1
something wrong with my Carbon sdk? I don't use Carbon, at least not directly.
> To Feanor: what problem are you having?
Here is the text of the error:
tools/macosx/fixbundle.c:30: warning: could not use precompiled header '/System/Library/Frameworks/Carbon.framework/Headers/Carbon-gcc3.p', because:
tools/macosx/fixbundle.c:30: warning: 'CarbonSound/CarbonSound.h' has different date than in precomp
tools/macosx/fixbundle.c:30: warning: 'CarbonSound/Sound.h' has different date than in precomp
{standard input}:unknown:FATAL:can't create output file: obj/macosx/alleg/macosx/fixbundle.o
make: *** [obj/macosx/alleg/macosx/fixbundle.o] Error 1
something wrong with my Carbon sdk? I don't use Carbon, at least not directly.
This looks like an empty directory didn't get built from CVS. The warnings are stupid precompiled header stuff from the 2002 Dev tools -- if you install and download the latest dev tools these errors disappear.
To fix your problem: in the allegro directory (the one where you typed make), type 'mkdir -p obj/macosx/alleg/macosx'.
Hope this helps,
To fix your problem: in the allegro directory (the one where you typed make), type 'mkdir -p obj/macosx/alleg/macosx'.
Hope this helps,
to Feanor: you can also try running
sudo fixPrecomps
and see if it fixes the problem.
sudo fixPrecomps
and see if it fixes the problem.
Well that fixed one problem, but even after making clean, I got this unhelpful error:
gcc -Wall -Wno-unused -Wno-long-double -O2 -funroll-loops -ffast-math -fomit-frame-pointer -pipe -DALLEGRO_USE_C -I. -I./include -o obj/macosx/alleg/macosx/fixbundle.o -c tools/macosx/fixbundle.c
{standard input}:unknown:FATAL:can't create output file: obj/macosx/alleg/macosx/fixbundle.o
make: *** [obj/macosx/alleg/macosx/fixbundle.o] Error 1
What would cause an "unknown" error? I might be able to look at the source tonight...
gcc -Wall -Wno-unused -Wno-long-double -O2 -funroll-loops -ffast-math -fomit-frame-pointer -pipe -DALLEGRO_USE_C -I. -I./include -o obj/macosx/alleg/macosx/fixbundle.o -c tools/macosx/fixbundle.c
{standard input}:unknown:FATAL:can't create output file: obj/macosx/alleg/macosx/fixbundle.o
make: *** [obj/macosx/alleg/macosx/fixbundle.o] Error 1
What would cause an "unknown" error? I might be able to look at the source tonight...