[Glade-users] downgrade Linux

John (J5) Palmieri johnp@martianrock.com
Fri, 04 Jun 2004 14:29:51 -0400


On Tue, 2004-06-01 at 10:48, Skull, Temple of wrote:
> Guys I'm probably not supposed to do this but I have downgraded my Linux 
> system from RedHat-9.0 to RH-7.3.
> 
> The evaluation 9.0 distro did not have working driver for my built in VGA, 
> an S3 Pro Savage KM133.  The older Linux runs it on the standard vesa 
> driver which also doesn't work in my RH-9.0.
> 
> Both versions detect my monitor, and NEC MultiSync C500.  But enough about 
> RedHat.  I want my game compatible with the older Linux which appears to 
> have more complete drivers.
> 
> I kept my old code for a game I'm working on made with Glade2 on 
> RH-9.0.  Glade1 on RH-7.3 won't rebuild it, needless to say.
> 
> On the first make or the old source it told me I needed a newer autoheader, 
> part of automake.  It has been upgraded to version 2.52 using a source code 
> package.  This automake rebuilt the headers with no errors.  However on 
> recompiling I am getting errors on the most basic of glib and C+ types in 
> one of my source files.  (all source files are included in Makefile.am)
> 
> 
> -------------------->  the code:
> 
> int randPik (gboolean ply)
> {
>    int k = 0;
>    int bowild = 0;   /*  accessed read-write  */
>    for (k=0;k<4;k++) {
>      int l = 0;
>      for (l=0;l<5;l++) {
>        winuz[k][l] = FALSE;
>        int m = g_random_int_range ((guint)0, (guint)63);
>        int n = 0;
>        switch (m) {
>          case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 
> 16: case 17: {
>            n = 1;          /* stays 0 if less than 9 */
>            break;
> 
> 	/* (..more cases ..) */
> 
>          } case 62: case 63: {
>            n = 11;
>            break;
>          } default: {
>            n = 0;
>          }
>        }
>        deal[k][l] = n;
>      }
>    }
> 
>     /*  ( ..  more code .. )  */
> 
> ------------------>  the error:
> 
> callskull.c: In function `randPik':
> callskull.c:251: parse error before `int'
> callskull.c:253: `m' undeclared (first use in this function)
> callskull.c:253: (Each undeclared identifier is reported only once
> callskull.c:253: for each function it appears in.)
> callskull.c:254: case label not within a switch statement
> callskull.c:254: case label not within a switch statement
> callskull.c:254: case label not within a switch statement
> callskull.c:254: case label not within a switch statement
> callskull.c:254: case label not within a switch statement
> callskull.c:254: case label not within a switch statement
> callskull.c:254: case label not within a switch statement
> callskull.c:254: case label not within a switch statement
> callskull.c:254: case label not within a switch statement
> callskull.c:255: `n' undeclared (first use in this function)
> callskull.c:257: case label not within a switch statement
> callskull.c:257: case label not within a switch statement
> callskull.c:257: case label not within a switch statement
> callskull.c:257: case label not within a switch statement
> callskull.c:257: case label not within a switch statement
> callskull.c:257: case label not within a switch statement
> callskull.c:257: case label not within a switch statement
> callskull.c:257: case label not within a switch statement
> callskull.c:257: case label not within a switch statement
> callskull.c:260: case label not within a switch statement
> callskull.c:260: case label not within a switch statement
> callskull.c:260: case label not within a switch statement
> callskull.c:260: case label not within a switch statement
> callskull.c:260: case label not within a switch statement
> callskull.c:260: case label not within a switch statement
> callskull.c:260: case label not within a switch statement
> callskull.c:260: case label not within a switch statement
> callskull.c:260: case label not within a switch statement
> callskull.c:263: case label not within a switch statement
> callskull.c:263: case label not within a switch statement
> callskull.c:263: case label not within a switch statement
> callskull.c:263: case label not within a switch statement
> callskull.c:263: case label not within a switch statement
> callskull.c:263: case label not within a switch statement
> callskull.c:266: case label not within a switch statement
> callskull.c:266: case label not within a switch statement
> callskull.c:266: case label not within a switch statement
> callskull.c:266: case label not within a switch statement
> callskull.c:266: case label not within a switch statement
> callskull.c:266: case label not within a switch statement
> callskull.c:269: case label not within a switch statement
> callskull.c:269: case label not within a switch statement
> callskull.c:269: case label not within a switch statement
> callskull.c:269: case label not within a switch statement
> callskull.c:269: case label not within a switch statement
> callskull.c:272: case label not within a switch statement
> callskull.c:276: case label not within a switch statement
> callskull.c:276: case label not within a switch statement
> callskull.c:276: case label not within a switch statement
> callskull.c:276: case label not within a switch statement
> callskull.c:279: case label not within a switch statement
> callskull.c:279: case label not within a switch statement
> callskull.c:279: case label not within a switch statement
> callskull.c:282: case label not within a switch statement
> callskull.c:286: case label not within a switch statement
> callskull.c:286: case label not within a switch statement
> callskull.c:289: default label not within a switch statement
> make: *** [callskull.o] Error 1
> 
> Is something missing in my random or gbooleans?  This one has stumped 
> me.  I have similar errors later in the code.
> 
> Cheers!

This should most likely be posted to gtk-app-devel-list but from looking
at your code if you are compiling with a c compiler the lines:

winuz[k][l] = FALSE;
int m = g_random_int_range ((guint)0, (guint)63);
int n = 0;

would be completely wrong because you should only be able to declare a
variable at the beginning of a code block.  Later GNU compilers may just
warn you and C++ allows you to do this but in standard C this is an
error.  It is good habit anyway if you want to port to other platforms
that run Gtk apps.

So changing the above lines to read:

int m = g_random_int_range ((guint)0, (guint)63);
int n = 0;
winuz[k][l] = FALSE;

should fix your first error.  I suspect the other stuff is just caused
by gcc getting confused after the first error.

Also next time you post error output please post the code with line
numbers.
  
--
J5