compiling erroes, error code problems

i have written a sketch for the receiver end of a remote control. i have completed the transmitter and it is compiled but i cant complie the receiver i am haveing error code after error code but im new to this and dont know what they mean or how to fix them

this is the current error message:

Arduino: 1.6.5 (Windows 8.1), Board: "Arduino/Genuino Uno"

In file included from sketch_may29b.ino:8:0:
C:\Program Files (x86)\Arduino\libraries\ServoTimer2/ServoTimer2.h:41:17: error: conflicting declaration 'typedef uint8_t boolean'
 typedef uint8_t boolean;
                 ^
In file included from C:\Program Files (x86)\Arduino\libraries\VirtualWire/VirtualWire.h:146:0,
                 from sketch_may29b.ino:5:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:117:14: error: 'boolean' has a previous declaration as 'typedef bool boolean'
 typedef bool boolean;
              ^
Error compiling.

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.

this is the code;

// RECIEVER CODE

//NOTE :- THIS CODE IS USED WHEN CONTROLLING THE ROBOT VIA THE BREADBORD REMOTE

#include <VirtualWire.h>
// this sketch cycles three servos at different rates

#include <ServoTimer2.h>  // the servo library

// define the pins for the servos
#define rollPin  2


ServoTimer2 servoRoll;    // declare variables for up to eight servos


void setup()
{
    Serial.begin(9600);  // Debugging only
    Serial.println("setup");
servoRoll.attach(rollPin);     // attach a pin to the servos and they will start pulsing
 
    // Initialise the IO and ISR
    vw_setup(2000);  // Bits per sec
    vw_set_rx_pin(2);    //Rx Data pin to Digital  Pin 2
    vw_rx_start();       // Start the receiver PLL running

    
}


// this function just increments a value until it reaches a maximum
int incPulse(int val, int inc){
   if( val + inc  > 2000 )
  return 1000 ;
   else
   return val + inc;

}//close setup

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
  int i;

        digitalWrite(13, true); // Flash a light to show received good message
  // Message with a good checksum received, dump it.
  for (i = 0; i < buflen; i++)
  {
   Serial.print(buf[i]);//print received command
        if(buf[i] == '1')//if button 1 is pressed.... i.e.forward buton
      {
         servoRoll.write(0);

 

   delay(10);
  
       }
      Serial.print(" ");
  }
  Serial.println("");
        digitalWrite(13, false);

   }//close if
}//close loop

dont know what they mean or how to fix them

Two different files have typedef statements that define what a boolean really is. They are different. Get rid of the one in the ServoTimer2 library. It is wrong.

Please read the sticky post, "How to use this forum - please read," shown near the top of the subject listing for all, or nearly all, of the many sections of this forum. Please pay particular attention to the item in section 11, "Tips for getting the most out of your post," where it says,

If you are using a library that does not come with the IDE (in other words, you downloaded it from somewhere) please post a link to this library.

Can you tell us where you got those libraries? I can find a version of VirtualWire that doesn't have the offending statement. I'm wondering if the versions you have are out-of-date.