tepples wrote:
How did you manage to get Allegro built on Mac OS X? I tried building Allegro 4.2.2 under Xcode 3.2 that comes with Mac OS X 10.6 (Snow Leopard), but it appears the QuickDraw framework is no longer available, and the build fails. On another machine (Ubuntu Karmic on an Eee PC), Allegro appears to compile and run, albeit without sound. So I'm thinking about switching to SDL, which at least is supported by paid professionals. SDL works including sound, but the mixer isn't as capable.
I was hoping you wouldn't ask that
I've had Xcode tools installed on my machine(s) for years so it's likely I've got old libraries/frameworks knocking about somewhere. I tried loads of times to build it without much success but I bit the bullet and grabbed the latest unstable version (4.9?) which uses "Cmake" to build. I followed instructions and despite several warnings and certain aspects (sound is one of them actually) being forcibly disabled (though I thought "I don't need sound to edit pixels anyway!"
), it seemed to build OK. Having said that I managed to build 4.2 also (as that's the one that is installed in my lib path) by grabbing it from SVN but I get the same errors (below).
tepples wrote:
Is allegro_init() or install_allegro() one of these undefined symbol errors? If so, you need to replace -lalleg on the command line with whatever Mac OS X requires. Under Ubuntu Hardy, back when Allegro still worked 100%, I had to replace -lalleg with `allegro-config --libs` and things built fine once I turned off the warnings for things in Allegro 4.0 that were deprecated in 4.2 because they depended on a deprecated global variable that set the background color for the textout and textprintf families of functions.
Here's the output (apologies for the size but I figured best to include the whole thing - maybe we should continue this via email/not-forum). From the first couple of lines I'm guessing I need to build
Code:
ld: warning: in /usr/local/lib/liballeg-4.2.4.dylib, file is not of required architecture
ld: warning: in /usr/local/lib/liballeg-main.a, file is not of required architecture
Undefined symbols:
"_key", referenced from:
_handle_right_click in ccrmMn0g.o
_handle_left_click in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_alert3", referenced from:
_ask_save_changes in ccrmMn0g.o
"_get_filename", referenced from:
_update_status in ccrmMn0g.o
"_system_driver", referenced from:
_update_status in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_unscare_mouse", referenced from:
_update_clipboard in ccrmMn0g.o
_update_paled in ccrmMn0g.o
_update_palette in ccrmMn0g.o
_update_tile in ccrmMn0g.o
_update_screen in ccrmMn0g.o
_update_status in ccrmMn0g.o
"_set_close_button_callback", referenced from:
__mangled_main in ccrmMn0g.o
"_vsync", referenced from:
__mangled_main in ccrmMn0g.o
"_d_shadow_box_proc", referenced from:
_resize_file in ccrmMn0g.o
"_mouse_b", referenced from:
__mangled_main in ccrmMn0g.o
"_d_button_proc", referenced from:
_resize_file in ccrmMn0g.o
"_mouse_x", referenced from:
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_mouse_y", referenced from:
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_font", referenced from:
_update_clipboard in ccrmMn0g.o
_update_paled in ccrmMn0g.o
_update_status in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_readkey", referenced from:
__mangled_main in ccrmMn0g.o
"_gfx_driver", referenced from:
_update_status in ccrmMn0g.o
_update_status in ccrmMn0g.o
_update_status in ccrmMn0g.o
"_set_display_switch_callback", referenced from:
__mangled_main in ccrmMn0g.o
"_textout_ex", referenced from:
_update_clipboard in ccrmMn0g.o
_update_paled in ccrmMn0g.o
_update_status in ccrmMn0g.o
_update_status in ccrmMn0g.o
"_allegro_message", referenced from:
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_create_bitmap_ex", referenced from:
_update_screen in ccrmMn0g.o
"_clear_bitmap", referenced from:
_update_screen in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"__install_allegro_version_check", referenced from:
__mangled_main in ccrmMn0g.o
"_screen", referenced from:
_update_clipboard in ccrmMn0g.o
_update_paled in ccrmMn0g.o
_update_palette in ccrmMn0g.o
_update_tile in ccrmMn0g.o
_update_screen in ccrmMn0g.o
_update_screen in ccrmMn0g.o
_update_status in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_create_bitmap", referenced from:
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_rest", referenced from:
__mangled_main in ccrmMn0g.o
"_textprintf_ex", referenced from:
_update_status in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_show_mouse", referenced from:
__mangled_main in ccrmMn0g.o
"_d_edit_proc", referenced from:
_resize_file in ccrmMn0g.o
"_d_text_proc", referenced from:
_resize_file in ccrmMn0g.o
"_destroy_bitmap", referenced from:
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_install_timer", referenced from:
__mangled_main in ccrmMn0g.o
"_set_gfx_mode", referenced from:
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_scare_mouse", referenced from:
_update_clipboard in ccrmMn0g.o
_update_paled in ccrmMn0g.o
_update_palette in ccrmMn0g.o
_update_tile in ccrmMn0g.o
_update_screen in ccrmMn0g.o
_update_status in ccrmMn0g.o
"_stretch_blit", referenced from:
_update_tile in ccrmMn0g.o
"_popup_dialog", referenced from:
_resize_file in ccrmMn0g.o
"_centre_dialog", referenced from:
_resize_file in ccrmMn0g.o
"_blit", referenced from:
_update_clipboard in ccrmMn0g.o
_update_clipboard in ccrmMn0g.o
_handle_left_click in ccrmMn0g.o
_update_screen in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_install_keyboard", referenced from:
__mangled_main in ccrmMn0g.o
"_get_palette", referenced from:
_load_pal in ccrmMn0g.o
"_keypressed", referenced from:
__mangled_main in ccrmMn0g.o
"_get_extension", referenced from:
_get_system in ccrmMn0g.o
"_file_select_ex", referenced from:
_load_dialog in ccrmMn0g.o
_write_chr in ccrmMn0g.o
"_alert", referenced from:
_save_pal in ccrmMn0g.o
_save_pal in ccrmMn0g.o
_load_chr in ccrmMn0g.o
_load_chr in ccrmMn0g.o
_write_chr in ccrmMn0g.o
_write_chr in ccrmMn0g.o
_resize_file in ccrmMn0g.o
_resize_file in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
__mangled_main in ccrmMn0g.o
"_install_mouse", referenced from:
__mangled_main in ccrmMn0g.o
"_set_palette", referenced from:
__mangled_main in ccrmMn0g.o
"_set_color", referenced from:
_update_paled in ccrmMn0g.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [ted] Error 1
tepples wrote:
Lately I've been rewriting 'name' in Python, using Tkinter and PIL.
Nice