act_comm errors compiling on ubuntu 9 with gcc 4.4.1

Posted by Milo on Mon 23 Nov 2009 10:45 AM — 33 posts, 133,494 views.

USA #0
ok so here is the problem im having when i go to make the install


gcc -c -pipe -mcpu=pentium -march=pentium -rdynamic -W -O -Wall -Werror -Winline -Wpointer-arith -Wcast-align -gstabs+ -ggdb3
act_comm.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
In file included from act_comm.c:35:
merc.h:34:18: error: zlib.h: No such file or directory
In file included from act_comm.c:35:
merc.h:594: error: expected specifier-qualifier-list before ‘z_stream’
act_comm.c: In function ‘do_timestamp’:
act_comm.c:152: error: lvalue required as left operand of assignment
act_comm.c:157: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_noanno’:
act_comm.c:168: error: lvalue required as left operand of assignment
act_comm.c:173: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_deaf’:
act_comm.c:186: error: lvalue required as left operand of assignment
act_comm.c:191: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_quiet’:
act_comm.c:205: error: lvalue required as left operand of assignment
act_comm.c:210: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_afk’:
act_comm.c:241: error: lvalue required as left operand of assignment
act_comm.c:246: error: lvalue required as left operand of assignment
act_comm.c:247: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_auction’:
act_comm.c:602: error: lvalue required as left operand of assignment
act_comm.c:713: error: lvalue required as left operand of assignment
act_comm.c:720: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_anno’:
act_comm.c:833: error: lvalue required as left operand of assignment
act_comm.c:837: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_telnet_ga’:
act_comm.c:850: error: lvalue required as left operand of assignment
act_comm.c:854: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_fixcolors’:
act_comm.c:866: error: lvalue required as left operand of assignment
act_comm.c:870: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_follow’:
act_comm.c:1319: error: lvalue required as left operand of assignment
act_comm.c: In function ‘stop_follower’:
act_comm.c:1355: error: lvalue required as left operand of assignment
act_comm.c: In function ‘nuke_pets’:
act_comm.c:1394: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_colour’:
act_comm.c:1866: error: lvalue required as left operand of assignment
act_comm.c:1871: error: lvalue required as left operand of assignment
cc1: warnings being treated as errors
act_comm.c: In function ‘reset_remort’:
act_comm.c:2007: error: format not a string literal and no format arguments
act_comm.c: In function ‘do_remort’:
act_comm.c:2182: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_clears’:
act_comm.c:2196: error: lvalue required as left operand of assignment
act_comm.c:2200: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_misses’:
act_comm.c:2212: error: lvalue required as left operand of assignment
act_comm.c:2216: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_pdfont’:
act_comm.c:2228: error: lvalue required as left operand of assignment
act_comm.c:2232: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_mxp’:
act_comm.c:2244: error: lvalue required as left operand of assignment
act_comm.c:2248: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_pkill’:
act_comm.c:2299: error: lvalue required as left operand of assignment
act_comm.c:2303: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_public’:
act_comm.c:2316: error: lvalue required as left operand of assignment
act_comm.c:2320: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_multipass’:
act_comm.c:2531: error: lvalue required as left operand of assignment
act_comm.c:2535: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_troublemaker’:
act_comm.c:2559: error: lvalue required as left operand of assignment
act_comm.c:2563: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_noaddict’:
act_comm.c:2587: error: lvalue required as left operand of assignment
act_comm.c:2591: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_outcast’:
act_comm.c:2674: error: lvalue required as left operand of assignment
act_comm.c:2679: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_altokay’:
act_comm.c:2759: error: lvalue required as left operand of assignment
act_comm.c:2763: error: lvalue required as left operand of assignment
make: *** [act_comm.o] Error 1



Thanks for any help with this

Milo
USA #1
merc.h:34:18: error: zlib.h: No such file or directory

This means you need to install zlib. If you search for 'zlib' on these forums, you'll find instructions. The short version is that you need the dev package from Ubuntu's package manager.

act_comm.c:2007: error: format not a string literal and no format arguments

This is saying that you might as well use strcat and not (presumably) sprintf. Normally this is a warning, but you're using -Werror so warnings become errors.

act_comm.c:152: error: lvalue required as left operand of assignment

This error comes up pretty frequently, just search the forums for lvalue. The forum might have material for SMAUG but it's basically the same coding problem as ROM.
USA #2
ok i got the zlib dev installed and i still don't know how to fix the others i search the forums for the same errors i have but im such a nubie to this stuff my uncle is the one who used to run this mud im just trying to bring it back...

i post the errors on the next reply down


Thank You for the help

Milo


home page
http://egnsystems.info
USA #3

pdragon@EGNSystems:~/Rom24/src$ make
gcc -c -pipe -mcpu=pentium -march=pentium -rdynamic -W -O -Wall -Werror -Winline -Wpointer-arith -Wcast-align -gstabs+ -ggdb3
act_comm.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
In file included from act_comm.c:35:
merc.h:28:24: error: ../compile.h: No such file or directory
act_comm.c: In function ‘do_timestamp’:
act_comm.c:152: error: lvalue required as left operand of assignment
act_comm.c:157: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_noanno’:
act_comm.c:168: error: lvalue required as left operand of assignment
act_comm.c:173: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_deaf’:
act_comm.c:186: error: lvalue required as left operand of assignment
act_comm.c:191: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_quiet’:
act_comm.c:205: error: lvalue required as left operand of assignment
act_comm.c:210: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_afk’:
act_comm.c:241: error: lvalue required as left operand of assignment
act_comm.c:246: error: lvalue required as left operand of assignment
act_comm.c:247: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_auction’:
act_comm.c:602: error: lvalue required as left operand of assignment
act_comm.c:713: error: lvalue required as left operand of assignment
act_comm.c:720: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_anno’:
act_comm.c:833: error: lvalue required as left operand of assignment
act_comm.c:837: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_telnet_ga’:
act_comm.c:850: error: lvalue required as left operand of assignment
act_comm.c:854: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_fixcolors’:
act_comm.c:866: error: lvalue required as left operand of assignment
act_comm.c:870: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_follow’:
act_comm.c:1319: error: lvalue required as left operand of assignment
act_comm.c: In function ‘stop_follower’:
act_comm.c:1355: error: lvalue required as left operand of assignment
act_comm.c: In function ‘nuke_pets’:
act_comm.c:1394: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_colour’:
act_comm.c:1866: error: lvalue required as left operand of assignment
act_comm.c:1871: error: lvalue required as left operand of assignment
cc1: warnings being treated as errors
act_comm.c: In function ‘reset_remort’:
act_comm.c:2007: error: format not a string literal and no format arguments
act_comm.c: In function ‘do_remort’:
act_comm.c:2182: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_clears’:
act_comm.c:2196: error: lvalue required as left operand of assignment
act_comm.c:2200: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_misses’:
act_comm.c:2212: error: lvalue required as left operand of assignment
act_comm.c:2216: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_pdfont’:
act_comm.c:2228: error: lvalue required as left operand of assignment
act_comm.c:2232: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_mxp’:
act_comm.c:2244: error: lvalue required as left operand of assignment
act_comm.c:2248: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_pkill’:
act_comm.c:2299: error: lvalue required as left operand of assignment
act_comm.c:2303: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_public’:
act_comm.c:2316: error: lvalue required as left operand of assignment
act_comm.c:2320: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_multipass’:
act_comm.c:2531: error: lvalue required as left operand of assignment
act_comm.c:2535: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_troublemaker’:
act_comm.c:2559: error: lvalue required as left operand of assignment
act_comm.c:2563: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_noaddict’:
act_comm.c:2587: error: lvalue required as left operand of assignment
act_comm.c:2591: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_outcast’:
act_comm.c:2674: error: lvalue required as left operand of assignment
act_comm.c:2679: error: lvalue required as left operand of assignment
act_comm.c: In function ‘do_altokay’:
act_comm.c:2759: error: lvalue required as left operand of assignment
act_comm.c:2763: error: lvalue required as left operand of assignment
make: *** [act_comm.o] Error 1
pdragon@EGNSystems:~/Rom24/src$
USA #4
When you found posts on the forum explaining those problems, which parts weren't clear or helpful to you? If you plan on running the MUD yourself, you'll need to understand these things, so you might as well start now. If you help us understand what confused you, we can better help you learn your way around.
USA #5
ok i will use this one as a example

act_comm.c:152: error: lvalue required as left operand of assignment

line 152 is
 REMOVE_BIT(ch->comm,COMM_TIMESTAMP);



the hole part of the script is


void do_timestamp( CHAR_DATA *ch, char *argument)
{
    ARGUMENT(argument);
    
   if (IS_SET(ch->comm,COMM_TIMESTAMP))
   {
     send_to_char("Channel timestamps are OFF.\n\r",ch);
     REMOVE_BIT(ch->comm,COMM_TIMESTAMP);
   }
   else 
   {
     send_to_char("Channel timestamps are ON.\n\r",ch);
     SET_BIT(ch->comm,COMM_TIMESTAMP);
   }
}



and i do not see any thing wrong with the code layout or how it is in there
Amended on Mon 23 Nov 2009 10:14 PM by Milo
Australia Forum Administrator #6
Quote:

In file included from act_comm.c:35:
merc.h:28:24: error: ../compile.h: No such file or directory


You have to fix missing include files first. They may have very important things in them that would make everything else work.
Australia Forum Administrator #7
Can you tell us exactly where you got your copy of ROM from? I could at least look at the source to see what is happening then. There have been a few versions, so a link to where you downloaded it would help.
USA #8
well i got it from my uncle and i do not know where he got it from

and i have tryed to get it to read the compile.h but still not luck

i have tryed


#include <compile.h>
and yes when i tried it this way i did move a copy of the compile in the src folder 

and 

#include "../compile.h"

Amended on Mon 23 Nov 2009 11:38 PM by Milo
Australia Forum Administrator #9
  • Can you show what REMOVE_BIT does? I found in my copy of ROM, this in merc.h:

    
    #define REMOVE_BIT(var, bit)    ((var) &= ~(bit))
    


    (Yours may be different).
  • Can you show what COMM_TIMESTAMP is declared as?
  • What is the "comm" field inside CHAR_DATA? In my copy it is:

    
    long        comm; 
    
USA #10
here is the define

#define REMOVE_BIT(var, bit)	((u_int64)(var) &= ~(u_int64)(bit))


i don't know where to fine the comm_timestamp stuff
USA #11
could it be using a 64bit os and the reson it is doing this to me is i need a 64 bit os insted of the 32bit os im trying to do this on
Australia Forum Administrator #12
Milo said:

i don't know where to fine the comm_timestamp stuff



grep COMM_TIMESTAMP *.{c,h}


More importantly, how is comm defined? If it is the same as mine, and is a long, then the code is trying to coerce it into a 64-bit integer, which it can't do.

It is nothing to do with the OS, because the compiler will still complain.

You might try removing the coercion from the macro (ie. make it the same as mine). Similarly for SET_BIT.
Amended on Tue 24 Nov 2009 12:10 AM by Nick Gammon
Australia Forum Administrator #13
Or, change "comm" to be u_int64.
USA #14
i can load the rom and src in a web dir or i can give you a use on ssh to check it out cuz im still not finding anything

do you have teamspeak or any kind of messenger so we can talk faster


Thanks

Milo
Australia Forum Administrator #15
Just upload it somewhere and post the link to it.
USA #16
http://pdragon.homelinux.org/Rom24.tar.bz2
Australia Forum Administrator #17

Not Found

The requested URL /Rom24.tar.bz2 was not found on this server.

Apache/2.2.12 (Ubuntu) Server at pdragon.homelinux.org Port 80
USA #18
opps lol i forgot one part of the url sorry

http://pdragon.homelinux.org/downloads/Rom24.tar.bz2
Australia Forum Administrator #19
Milo said:

i have tryed


#include <compile.h>
and yes when i tried it this way i did move a copy of the compile in the src folder 

and 

#include "../compile.h"




My first comment is, after looking at the source, that compile.h is in the *same* directory, so change:


#include "../compile.h"


to:


#include "compile.h"


That gets rid of that error.
Amended on Tue 24 Nov 2009 06:31 AM by Nick Gammon
Australia Forum Administrator #20
Well I can reproduce the problem:


typedef unsigned long long int u_int64;

#define REMOVE_BIT(var, bit)    ((u_int64)(var) &= ~(u_int64)(bit))
#define Ox          0x0000400000000000ULL

#define COMM_TIMESTAMP      (Ox)

int main (void)
  {
  u_int64     comm;

  REMOVE_BIT(comm,COMM_TIMESTAMP);
  }


This test program gives:


test.c:12: error: lvalue required as left operand of assignment


Not quite sure why.

However this compiles OK:


typedef unsigned long long int u_int64;

#define REMOVE_BIT(var, bit)    ((var) &= ~(u_int64)(bit))
#define Ox          0x0000400000000000ULL

#define COMM_TIMESTAMP      (Ox)

int main (void)
  {
  u_int64     comm;

  REMOVE_BIT(comm,COMM_TIMESTAMP);
  }


If you get rid of the casts in merc.h it compiles with much less errors:


#define SET_BIT(var, bit)   ((var) |= (u_int64)(bit))
#define TOGGLE_BIT(var, bit)    ((var) ^= (u_int64)(bit))
#define REMOVE_BIT(var, bit)    ((var) &= ~(u_int64)(bit))


After that is only one error (for this particular file) on this line:


    if (ch->pcdata->spousename && ch->pcdata->spousename[0] !='\0') sprintf(spouse,ch->pcdata->spousename);


Try changing that to:


    if (ch->pcdata->spousename && ch->pcdata->spousename[0] !='\0') sprintf(spouse, "%s", ch->pcdata->spousename);


I still get some errors after that, but this is at least past the part that was troubling you before.

Amended on Tue 24 Nov 2009 06:57 AM by Nick Gammon
USA #21
well i tryed that and it still not work
USA #22
well the

#include "compile.h"


but it still tells me that it can not find it

USA #23
well i got the compile.h working now i have some bit.c errors
USA #24
ok so here is what i am getting now


gcc -c -pipe -mcpu=pentium -march=pentium -rdynamic -W -O -Wall -Winline -Wpointer-arith -Wcast-align -gstabs+ -ggdb3   bit.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
bit.c:50: error: initializer element is not constant
bit.c:50: error: (near initialization for ‘flag_stat_table[0].structure’)
bit.c:51: error: initializer element is not constant
bit.c:51: error: (near initialization for ‘flag_stat_table[1].structure’)
bit.c:52: error: initializer element is not constant
bit.c:52: error: (near initialization for ‘flag_stat_table[2].structure’)
bit.c:53: error: initializer element is not constant
bit.c:53: error: (near initialization for ‘flag_stat_table[3].structure’)
bit.c:54: error: initializer element is not constant
bit.c:54: error: (near initialization for ‘flag_stat_table[4].structure’)
bit.c:55: error: initializer element is not constant
bit.c:55: error: (near initialization for ‘flag_stat_table[5].structure’)
bit.c:56: error: initializer element is not constant
bit.c:56: error: (near initialization for ‘flag_stat_table[6].structure’)
bit.c:57: error: initializer element is not constant
bit.c:57: error: (near initialization for ‘flag_stat_table[7].structure’)
bit.c:58: error: initializer element is not constant
bit.c:58: error: (near initialization for ‘flag_stat_table[8].structure’)
bit.c:59: error: initializer element is not constant
bit.c:59: error: (near initialization for ‘flag_stat_table[9].structure’)
bit.c:60: error: initializer element is not constant
bit.c:60: error: (near initialization for ‘flag_stat_table[10].structure’)
bit.c:61: error: initializer element is not constant
bit.c:61: error: (near initialization for ‘flag_stat_table[11].structure’)
bit.c:62: error: initializer element is not constant
bit.c:62: error: (near initialization for ‘flag_stat_table[12].structure’)
bit.c:63: error: initializer element is not constant
bit.c:63: error: (near initialization for ‘flag_stat_table[13].structure’)
bit.c:64: error: initializer element is not constant
bit.c:64: error: (near initialization for ‘flag_stat_table[14].structure’)
bit.c:68: error: initializer element is not constant
bit.c:68: error: (near initialization for ‘flag_stat_table[15].structure’)
bit.c:69: error: initializer element is not constant
bit.c:69: error: (near initialization for ‘flag_stat_table[16].structure’)
bit.c:70: error: initializer element is not constant
bit.c:70: error: (near initialization for ‘flag_stat_table[17].structure’)
bit.c:71: error: initializer element is not constant
bit.c:71: error: (near initialization for ‘flag_stat_table[18].structure’)
bit.c:72: error: initializer element is not constant
bit.c:72: error: (near initialization for ‘flag_stat_table[19].structure’)
bit.c:73: error: initializer element is not constant
bit.c:73: error: (near initialization for ‘flag_stat_table[20].structure’)
bit.c:74: error: initializer element is not constant
bit.c:74: error: (near initialization for ‘flag_stat_table[21].structure’)
bit.c:75: error: initializer element is not constant
bit.c:75: error: (near initialization for ‘flag_stat_table[22].structure’)
bit.c:76: error: initializer element is not constant
bit.c:76: error: (near initialization for ‘flag_stat_table[23].structure’)
bit.c:77: error: initializer element is not constant
bit.c:77: error: (near initialization for ‘flag_stat_table[24].structure’)
bit.c:78: error: initializer element is not constant
bit.c:78: error: (near initialization for ‘flag_stat_table[25].structure’)
bit.c:79: error: initializer element is not constant
bit.c:79: error: (near initialization for ‘flag_stat_table[26].structure’)
bit.c:80: error: initializer element is not constant
bit.c:80: error: (near initialization for ‘flag_stat_table[27].structure’)
*** Error code 1

Stop.
pmake: stopped in /home/pdragon/Rom24/src

Australia Forum Administrator #25
Well this has me puzzled. This is a test program which reproduces the relevant parts:


typedef unsigned long long int u_int64;
typedef int             bool;

#define FALSE    0
#define TRUE     1

extern  const   struct  flag_type * area_flags;
extern  const   struct  flag_type * sex_flags;
extern  const   struct  flag_type * exit_flags;

struct flag_type
{
    char *name;
    u_int64 bit;
    bool settable;
};

struct flag_stat_type
{
    const struct flag_type *structure;
    bool stat;
};

const struct flag_stat_type flag_stat_table[] =
{
/*  {   structure       stat    }, */
    {   area_flags,     FALSE   },
    {   sex_flags,      TRUE    },
    {   exit_flags,     FALSE   },
    {   0,          0   }
};



Compiling that (gcc test.c) gives:


test.c:27: error: initializer element is not constant
test.c:27: error: (near initialization for ‘flag_stat_table[0].structure’)
test.c:28: error: initializer element is not constant
test.c:28: error: (near initialization for ‘flag_stat_table[1].structure’)
test.c:29: error: initializer element is not constant
test.c:29: error: (near initialization for ‘flag_stat_table[2].structure’)


Even if I get rid of every const (by doing a global change of "const" to "") I get the same error.

I tried adding in more const declarations here and there without success. Perhaps David Haley or some other C guru can cast some light on this?
USA #26
Try this?


extern  const   struct  flag_type * const area_flags;
extern  const   struct  flag_type * const sex_flags;
extern  const   struct  flag_type * const exit_flags;


Hopefully that should const-ize the pointer, which is the value that's really going in the array initializer.
Amended on Tue 24 Nov 2009 08:02 PM by Twisol
Australia Forum Administrator #27
No. Same results.

Anyway, as I said, even with the word "const" not appearing in the file at all, it still does it. There is something more subtle happening.
USA #28
You can only do compile-time initialization with compile-time constants. The syntax is deceptive as it makes it look like it's doing fancier and potentially dynamic initialization, but really it's just compile-time.

Contrast with this code:


$ cat test.c
typedef unsigned long long int u_int64;
typedef int             bool;

#define FALSE    0
#define TRUE     1

extern  const   struct  flag_type area_flags;
extern  const   struct  flag_type sex_flags;
extern  const   struct  flag_type exit_flags;

struct flag_type
{
    char *name;
    u_int64 bit;
    bool settable;
};

struct flag_stat_type
{
    const struct flag_type *structure;
    bool stat;
};

const struct flag_stat_type flag_stat_table[] =
{
    /*  {   structure       stat    }, */
    {   &area_flags,     FALSE   },
    {   &sex_flags,      TRUE    },
    {   &exit_flags,     FALSE   },
    {   0,          0   }
};

int main()
{
    return 0;
}


In this case, the compiler knows (at compile time, or more accurately at link time) what the address of those structures is, and therefore can (at compile/link time) insert the address into the initialization list.

But it still doesn't compile, although this time for other reasons: the structs are declared as extern but don't actually exist:

$ gcc test.c
/tmp/cc0GQVkE.o:(.rodata+0x0): undefined reference to `area_flags'
/tmp/cc0GQVkE.o:(.rodata+0x8): undefined reference to `sex_flags'
/tmp/cc0GQVkE.o:(.rodata+0x10): undefined reference to `exit_flags'
collect2: ld returned 1 exit status
$ 
USA #29
ok here is the new errors i get


pdragon@EGNSystems:~/Rom24/src$ make
gcc -c -pipe -mcpu=pentium -march=pentium -rdynamic -W -O -Wall -Winline -Wpointer-arith -Wcast-align -gstabs+ -ggdb3   act_obj.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
In file included from act_obj.h:1,
                 from act_obj.c:35:
                 triggers.h:1: error: array type has incomplete element type
                 make: *** [act_obj.o] Error 1
                 pdragon@EGNSystems:~/Rom24/src$
USA #30
well i got that fixed lol sorry
USA #31
ok here is the new errors i can get past


pdragon@EGNSystems:~/Rom24/src$ make
gcc -c -pipe -mcpu=pentium -march=pentium -rdynamic -W -O -Wall -Winline -Wpointer-arith -Wcast-align -gstabs+ -ggdb3   act_wiz2.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
act_wiz2.c: In function ‘do_auto_copyover’:
act_wiz2.c:415: warning: ignoring return value of ‘system’, declared with attribute warn_unused_result
act_wiz2.c: In function ‘list_mxp_flags’:
act_wiz2.c:2299: error: conflicting types for ‘mxp_support_flags’
tables.h:77: note: previous declaration of ‘mxp_support_flags’ was here
act_wiz2.c: In function ‘do_idle’:
act_wiz2.c:3630: warning: format not a string literal and no format arguments
act_wiz2.c: In function ‘do_copyover’:
act_wiz2.c:3961: warning: format not a string literal and no format arguments
act_wiz2.c: In function ‘copyover_recover’:
act_wiz2.c:4022: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
make: *** [act_wiz2.o] Error 1
pdragon@EGNSystems:~/Rom24/src$
USA #32
Well, this is telling you that mxp_support_flags has been declared two times with two different types at the lines given; you need to fix the declarations to be of the same type. First determine what the correct type is, then find the declaration with the wrong type and fix it.