kraptor game has evident problems with palette of images in VirtualBox (only) 
and I tought compiling it would 
help do some experiments to figure out what the problem is. 
 
Fun fact: the author of the game (released in 2004) have made kfixpal tool, to 
change a bunch of pictures, so 
as they share a common palette. Released in 2007: 
https://master.dl.sourceforge.net/project/kraptor/kfixpal/0.9.9/kfixpal.0.9.9.zip?viasf=1
 
Like the other says, less usefull, as the world evolve toward truecolor images. 
 
I decided to start from: 
https://master.dl.sourceforge.net/project/kraptor/kraptor_source_code/final_apr_03_2004/kraptor_final_apr_03_2004.tar.gz?viasf=1
 
rather than: 
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/repositories/1.3/games/kraptor.zip
 
 
I have no idea yet if it was a good/bad choice. 
 
I decided to use DOSEMU2 (that work well with Ubuntu Linux... might be less 
well in other Linux... in Gecko Linux I had no predefined, 
command.com and minimal tools). 
 
And so, I created in ~/.dosemu/drive_c two main directories: djzip were I put 
DJGPP Zip files, that I unzip in djpaul: 
paul@kasparno:~/.dosemu/drive_c$ ls 
DEBUG.COM  djpaul  djzip  dumb093  gpm  hello2.exe  hello.exe  krapto  M2Sys135 
 mydos  obnc  tmp  VGAPAL.EXE 
 
paul@kasparno:~/.dosemu/drive_c$ ls djzip 
all422ar2.zip  all422br2.zip  bnu2351b.zip  djdev205.zip  gcc1030b.zip  
mak43b.zip 
 
So I have unzip32 from: 
https://www.mirrorservice.org/sites/ftp.delorie.com/pub/djgpp/current/unzip32.exe
 
in djpaul, and I have extracted each file in djzip from djpaul: 
cd djpaul 
unzip32 \djpaul\djdev205.zip 
etc. 
 
And I edited /usr/share/dosemu/commands/fdppauto.bat to have: 
path %DOSEMUDRV%:\dosemu;C:\DJPAUL\BIN 
... 
SET DJGPP=C:\DJPAUL\DJGPP.ENV 
 
so that I can use make as soon I launch dosemu . 
 
kraptor game use 
https://iweb.dl.sourceforge.net/project/dumb/dumb/0.9.3/dumb-0.9.3.zip 
to play music and that is not already compiled in 
http://www.delorie.com/pub/djgpp/current/v2tk/allegro/ 
 
So I uncompressed it and copied it in ~/.dosemu/drive_c 
 
I note that makefile "included" Makefile.rdy (so I had to edit that last one). 
 
Compilation did not finish for dumb, but it build the .h file and .lib file 
that I did copy to: 
/home/paul/.dosemu/drive_c/djpaul/lib/ and 
/home/paul/.dosemu/drive_c/djpaul/include/ 
respectively. 
 
So after that I was ready to work on raptor itself. 
 
First I had to: 
fix DJGPP 
to edit the makefile so as it does target DJGPP. 
 
Then make build it. 
I got an error in guiprocs.c: 
 
int xedit_proc(int msg, DIALOG *d, int c) 
{ 
 int ret = D_O_K; 
 typedef int (*func_ptr)(DIALOG*); 
 int n = d->h-text_height(font); 
 DIALOG edit, button; 
 
 SET_DIALOG(edit,   d_edit_proc,  d->x+n/2, d->y+n/2, d->w-n, d->h-n, d->fg, 
gui_white_color, 0, d->flags,        d->d1, d->d2, d->dp, NULL, NULL); 
 SET_DIALOG(button, xbutton_proc, 0,        d->y+1,   d->h-2, d->h-2, d->fg, 
gui_back_color,  0, d->flags|D_EXIT, 0,     0,     "...", NULL, NULL); 
 
 if(d->dp2) 
 { 
 button.x = d->x + d->w - button.w - 1; 
 edit.w -= button.w; 
//if(font == &_default_font) 
 button.dp = "_"; 
 } 
 
_default_font was undefined, so I just commented it. ;-) 
 
Also there were many errors about storage class of functions not valid... 
 
this was on imbricated functions: 
 
static void a(){ 
 
 static void b(){...} 
... 
 
I just removed the "static" beofre b() [imbricated functions] 
 
I get a lot of warnings about deprecated functions in Allegro. 
Up to now I did not care... but I thought it may be link to problem with 
palette... don't really knows. 
 
Finally, linking give a lot of errors looking like: 
ld: obj/djgpp/captura.o:captura.c:(.text+0x0): multiple definition of 
`install_allegro'; obj/djgpp/bomba.o:bomba.c:(.text+0x0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x20): multiple definition of 
`set_window_title'; obj/djgpp/bomba.o:bomba.c:(.text+0x20): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x40): multiple definition of 
`desktop_color_depth'; obj/djgpp/bomba.o:bomba.c:(.text+0x40): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x60): multiple definition of 
`get_desktop_resolution'; obj/djgpp/bomba.o:bomba.c:(.text+0x60): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x80): multiple definition of 
`_default_ds'; obj/djgpp/bomba.o:bomba.c:(.text+0x80): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x90): multiple definition of 
`bmp_write_line'; obj/djgpp/bomba.o:bomba.c:(.text+0x90): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xa0): multiple definition of 
`bmp_read_line'; obj/djgpp/bomba.o:bomba.c:(.text+0xa0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xb0): multiple definition of 
`bmp_unwrite_line'; obj/djgpp/bomba.o:bomba.c:(.text+0xb0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xc0): multiple definition of 
`is_windowed_mode'; obj/djgpp/bomba.o:bomba.c:(.text+0xc0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xd0): multiple definition of 
`clear_to_color'; obj/djgpp/bomba.o:bomba.c:(.text+0xd0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xf0): multiple definition of 
`bitmap_color_depth'; obj/djgpp/bomba.o:bomba.c:(.text+0xf0): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x100): multiple definition of 
`bitmap_mask_color'; obj/djgpp/bomba.o:bomba.c:(.text+0x100): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x110): multiple definition of 
`is_same_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x110): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x160): multiple definition of 
`is_linear_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x160): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x180): multiple definition of 
`is_planar_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x180): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1a0): multiple definition of 
`is_memory_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x1a0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1c0): multiple definition of 
`is_screen_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x1c0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x210): multiple definition of 
`is_video_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x210): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x220): multiple definition of 
`is_system_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x220): first defined here 
...
ld: obj/djgpp/captura.o:captura.c:(.text+0xa50): multiple definition of 
`rotate_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xa50): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xaa0): multiple definition of 
`rotate_sprite_v_flip'; obj/djgpp/bomba.o:bomba.c:(.text+0xaa0): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xaf0): multiple definition of 
`rotate_scaled_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xaf0): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xb60): multiple definition of 
`rotate_scaled_sprite_v_flip'; obj/djgpp/bomba.o:bomba.c:(.text+0xb60): first 
defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xbd0): multiple definition of 
`pivot_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xbd0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xc20): multiple definition of 
`pivot_sprite_v_flip'; obj/djgpp/bomba.o:bomba.c:(.text+0xc20): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xc70): multiple definition of 
`pivot_scaled_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xc70): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xcc0): multiple definition of 
`pivot_scaled_sprite_v_flip'; obj/djgpp/bomba.o:bomba.c:(.text+0xcc0): first 
defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xd10): multiple definition of 
`_putpixel'; obj/djgpp/bomba.o:bomba.c:(.text+0xd10): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xd40): multiple definition of 
`_getpixel'; obj/djgpp/bomba.o:bomba.c:(.text+0xd40): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xd70): multiple definition of 
`_putpixel15'; obj/djgpp/bomba.o:bomba.c:(.text+0xd70): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xda0): multiple definition of 
`_getpixel15'; obj/djgpp/bomba.o:bomba.c:(.text+0xda0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xdd0): multiple definition of 
`_putpixel16'; obj/djgpp/bomba.o:bomba.c:(.text+0xdd0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xe00): multiple definition of 
`_getpixel16'; obj/djgpp/bomba.o:bomba.c:(.text+0xe00): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xe30): multiple definition of 
`_putpixel24'; obj/djgpp/bomba.o:bomba.c:(.text+0xe30): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xe70): multiple definition of 
`_getpixel24'; obj/djgpp/bomba.o:bomba.c:(.text+0xe70): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xea0): multiple definition of 
`_putpixel32'; obj/djgpp/bomba.o:bomba.c:(.text+0xea0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xed0): multiple definition of 
`_getpixel32'; obj/djgpp/bomba.o:bomba.c:(.text+0xed0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xf00): multiple definition of 
`draw_rle_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xf00): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xf10): multiple definition of 
`draw_trans_rle_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xf10): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xf50): multiple definition of 
`draw_lit_rle_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xf50): first defined 
here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xf60): multiple definition of 
`fixadd'; obj/djgpp/bomba.o:bomba.c:(.text+0xf60): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xf90): multiple definition of 
`fixsub'; obj/djgpp/bomba.o:bomba.c:(.text+0xf90): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0xfc0): multiple definition of 
`fixmul'; obj/djgpp/bomba.o:bomba.c:(.text+0xfc0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1000): multiple definition of 
`fixdiv'; obj/djgpp/bomba.o:bomba.c:(.text+0x1000): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1070): multiple definition of 
`fixfloor'; obj/djgpp/bomba.o:bomba.c:(.text+0x1070): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1080): multiple definition of 
`fixceil'; obj/djgpp/bomba.o:bomba.c:(.text+0x1080): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x10b0): multiple definition of 
`ftofix'; obj/djgpp/bomba.o:bomba.c:(.text+0x10b0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1150): multiple definition of 
`fixtof'; obj/djgpp/bomba.o:bomba.c:(.text+0x1150): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1160): multiple definition of 
`itofix'; obj/djgpp/bomba.o:bomba.c:(.text+0x1160): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1170): multiple definition of 
`fixtoi'; obj/djgpp/bomba.o:bomba.c:(.text+0x1170): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1190): multiple definition of 
`fixcos'; obj/djgpp/bomba.o:bomba.c:(.text+0x1190): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x11b0): multiple definition of 
`fixsin'; obj/djgpp/bomba.o:bomba.c:(.text+0x11b0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x11d0): multiple definition of 
`fixtan'; obj/djgpp/bomba.o:bomba.c:(.text+0x11d0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x11f0): multiple definition of 
`fixacos'; obj/djgpp/bomba.o:bomba.c:(.text+0x11f0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1230): multiple definition of 
`fixasin'; obj/djgpp/bomba.o:bomba.c:(.text+0x1230): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1270): multiple definition of 
`apply_matrix'; obj/djgpp/bomba.o:bomba.c:(.text+0x1270): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1490): multiple definition of 
`dot_product'; obj/djgpp/bomba.o:bomba.c:(.text+0x1490): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1540): multiple definition of 
`dot_product_f'; obj/djgpp/bomba.o:bomba.c:(.text+0x1540): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1560): multiple definition of 
`persp_project'; obj/djgpp/bomba.o:bomba.c:(.text+0x1560): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x16c0): multiple definition of 
`persp_project_f'; obj/djgpp/bomba.o:bomba.c:(.text+0x16c0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1700): multiple definition of 
`file_select'; obj/djgpp/bomba.o:bomba.c:(.text+0x1700): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1730): multiple definition of 
`textout'; obj/djgpp/bomba.o:bomba.c:(.text+0x1730): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1760): multiple definition of 
`textout_centre'; obj/djgpp/bomba.o:bomba.c:(.text+0x1760): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1790): multiple definition of 
`textout_right'; obj/djgpp/bomba.o:bomba.c:(.text+0x1790): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x17c0): multiple definition of 
`textout_justify'; obj/djgpp/bomba.o:bomba.c:(.text+0x17c0): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1800): multiple definition of 
`draw_character'; obj/djgpp/bomba.o:bomba.c:(.text+0x1800): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1830): multiple definition of 
`gui_textout'; obj/djgpp/bomba.o:bomba.c:(.text+0x1830): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1860): multiple definition of 
`set_window_close_button'; obj/djgpp/bomba.o:bomba.c:(.text+0x1860): first 
defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1870): multiple definition of 
`set_window_close_hook'; obj/djgpp/bomba.o:bomba.c:(.text+0x1870): first 
defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x1880): multiple definition of 
`yield_timeslice'; obj/djgpp/bomba.o:bomba.c:(.text+0x1880): first defined here 
ld: obj/djgpp/captura.o:captura.c:(.text+0x18a0): multiple definition of 
`_set_color'; obj/djgpp/bomba.o:bomba.c:(.text+0x18a0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x0): multiple definition of 
`install_allegro'; obj/djgpp/bomba.o:bomba.c:(.text+0x0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x20): multiple definition of 
`set_window_title'; obj/djgpp/bomba.o:bomba.c:(.text+0x20): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x4a): multiple definition of 
`desktop_color_depth'; obj/djgpp/bomba.o:bomba.c:(.text+0x40): first defined 
here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x71): multiple definition of 
`get_desktop_resolution'; obj/djgpp/bomba.o:bomba.c:(.text+0x60): first defined 
here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0xa4): multiple definition of 
`_default_ds'; obj/djgpp/bomba.o:bomba.c:(.text+0x80): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0xb9): multiple definition of 
`bmp_write_line'; obj/djgpp/bomba.o:bomba.c:(.text+0x90): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0xd7): multiple definition of 
`bmp_read_line'; obj/djgpp/bomba.o:bomba.c:(.text+0xa0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0xf5): multiple definition of 
`bmp_unwrite_line'; obj/djgpp/bomba.o:bomba.c:(.text+0xb0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x10b): multiple definition of 
`is_windowed_mode'; obj/djgpp/bomba.o:bomba.c:(.text+0xc0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x11b): multiple definition of 
`clear_to_color'; obj/djgpp/bomba.o:bomba.c:(.text+0xd0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x140): multiple definition of 
`bitmap_color_depth'; obj/djgpp/bomba.o:bomba.c:(.text+0xf0): first defined 
here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x14d): multiple definition of 
`bitmap_mask_color'; obj/djgpp/bomba.o:bomba.c:(.text+0x100): first defined 
here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x15b): multiple definition of 
`is_same_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x110): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1bd): multiple definition of 
`is_linear_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x160): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1d7): multiple definition of 
`is_planar_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x180): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1f1): multiple definition of 
`is_memory_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x1a0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x20b): multiple definition of 
`is_screen_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x1c0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x223): multiple definition of 
`is_video_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x210): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x236): multiple definition of 
`is_system_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x220): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x250): multiple definition of 
`is_sub_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x240): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x26a): multiple definition of 
`acquire_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x260): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x296): multiple definition of 
`release_bitmap'; obj/djgpp/bomba.o:bomba.c:(.text+0x280): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x2c2): multiple definition of 
`acquire_screen'; obj/djgpp/bomba.o:bomba.c:(.text+0x2a0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x2de): multiple definition of 
`release_screen'; obj/djgpp/bomba.o:bomba.c:(.text+0x2d0): first defined here 
...
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x10c7): multiple definition of 
`_getpixel15'; obj/djgpp/bomba.o:bomba.c:(.text+0xda0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x112c): multiple definition of 
`_putpixel16'; obj/djgpp/bomba.o:bomba.c:(.text+0xdd0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1190): multiple definition of 
`_getpixel16'; obj/djgpp/bomba.o:bomba.c:(.text+0xe00): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x11f5): multiple definition of 
`_putpixel24'; obj/djgpp/bomba.o:bomba.c:(.text+0xe30): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1288): multiple definition of 
`_getpixel24'; obj/djgpp/bomba.o:bomba.c:(.text+0xe70): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x12f2): multiple definition of 
`_putpixel32'; obj/djgpp/bomba.o:bomba.c:(.text+0xea0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1355): multiple definition of 
`_getpixel32'; obj/djgpp/bomba.o:bomba.c:(.text+0xed0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x13b9): multiple definition of 
`draw_rle_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xf00): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x13de): multiple definition of 
`draw_trans_rle_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xf10): first defined 
here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x142a): multiple definition of 
`draw_lit_rle_sprite'; obj/djgpp/bomba.o:bomba.c:(.text+0xf50): first defined 
here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1455): multiple definition of 
`fixadd'; obj/djgpp/bomba.o:bomba.c:(.text+0xf60): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1485): multiple definition of 
`fixsub'; obj/djgpp/bomba.o:bomba.c:(.text+0xf90): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x14b5): multiple definition of 
`fixmul'; obj/djgpp/bomba.o:bomba.c:(.text+0xfc0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x14fd): multiple definition of 
`fixdiv'; obj/djgpp/bomba.o:bomba.c:(.text+0x1000): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1576): multiple definition of 
`fixfloor'; obj/djgpp/bomba.o:bomba.c:(.text+0x1070): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x158c): multiple definition of 
`fixceil'; obj/djgpp/bomba.o:bomba.c:(.text+0x1080): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x15bd): multiple definition of 
`ftofix'; obj/djgpp/bomba.o:bomba.c:(.text+0x10b0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x165a): multiple definition of 
`fixtof'; obj/djgpp/bomba.o:bomba.c:(.text+0x1150): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x166a): multiple definition of 
`itofix'; obj/djgpp/bomba.o:bomba.c:(.text+0x1160): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1675): multiple definition of 
`fixtoi'; obj/djgpp/bomba.o:bomba.c:(.text+0x1170): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1692): multiple definition of 
`fixcos'; obj/djgpp/bomba.o:bomba.c:(.text+0x1190): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x16ae): multiple definition of 
`fixsin'; obj/djgpp/bomba.o:bomba.c:(.text+0x11b0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x16ca): multiple definition of 
`fixtan'; obj/djgpp/bomba.o:bomba.c:(.text+0x11d0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x16e6): multiple definition of 
`fixacos'; obj/djgpp/bomba.o:bomba.c:(.text+0x11f0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1721): multiple definition of 
`fixasin'; obj/djgpp/bomba.o:bomba.c:(.text+0x1230): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1763): multiple definition of 
`apply_matrix'; obj/djgpp/bomba.o:bomba.c:(.text+0x1270): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x184c): multiple definition of 
`dot_product'; obj/djgpp/bomba.o:bomba.c:(.text+0x1490): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1887): multiple definition of 
`dot_product_f'; obj/djgpp/bomba.o:bomba.c:(.text+0x1540): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x18a2): multiple definition of 
`persp_project'; obj/djgpp/bomba.o:bomba.c:(.text+0x1560): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1904): multiple definition of 
`persp_project_f'; obj/djgpp/bomba.o:bomba.c:(.text+0x16c0): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1966): multiple definition of 
`file_select'; obj/djgpp/bomba.o:bomba.c:(.text+0x1700): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x198d): multiple definition of 
`textout'; obj/djgpp/bomba.o:bomba.c:(.text+0x1730): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x19bb): multiple definition of 
`textout_centre'; obj/djgpp/bomba.o:bomba.c:(.text+0x1760): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x19e9): multiple definition of 
`textout_right'; obj/djgpp/bomba.o:bomba.c:(.text+0x1790): first defined here 
ld: obj/djgpp/cinema.o:cinema.c:(.text+0x1a17): multiple definition of 
`textout_justify'; obj/djgpp/bomba.o:bomba.c:(.text+0x17c0): first defined here 
...
ld: obj/djgpp/clima.o:clima.c:(.text+0x8b4): multiple definition of `ellipse'; 
obj/djgpp/bomba.o:bomba.c:(.text+0x7e0): first defined here 
ld: obj/djgpp/clima.o:clima.c:(.text+0x8e5): multiple definition of 
`ellipsefill'; obj/djgpp/bomba.o:bomba.c:(.text+0x800): first defined here 
ld: obj/djgpp/clima.o:clima.c:(.text+0x916): multiple definition of `arc'; 
obj/djgpp/bomba.o:bomba.c:(.text+0x820): first defined here 
ld: obj/djgpp/clima.o:clima.c:(.text+0x94a): multiple definition of `spline'; 
obj/djgpp/bomba.o:bomba.c:(.text+0x840): first defined here 
ld: obj/djgpp/clima.o:clima.c:(.text+0x972): multiple definition of 
`floodfill'; obj/djgpp/bomba.o:bomba.c:(.text+0x860): first defined here 
ld: obj/djgpp/clima.o:clima.c:(.text+0x99a): multiple definition of 
`polygon3d'; obj/djgpp/bomba.o:bomba.c:(.text+0x880): first defined here 
ld: obj/djgpp/clima.o:clima.c:(.text+0x9c8): multiple definition of 
`polygon3d_f'; obj/djgpp/bomba.o:bomba.c:(.text+0x8a0): first defined here 
... still many moreBut because of it, it does not generate kraptor.exe file in 
bin.
 
The cause could be that the library needs to be compiled with: -fgnu89-inlineas 
I found from: https://www.allegro.cc/forums/thread/617748
 
I wrote a message on djgpp mailing list about it and got a response that it is 
a known issue:
https://www.delorie.com/djgpp/mail-archives/browse.cgi?p=djgpp/2021/06/21/18:17:06
 
 
 
 




_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to