Call of overloaded is ambiguous on print

I’m running this sketch on a pinocc.io —>

#include <SPI.h>
#include <Wire.h>
#include <Scout.h>
#include <GS.h>
#include <bitlash.h>
#include <lwm.h>
#include <js0n.h>

#include "version.h"


/* ========================== PROTOTYPES ==========================  */
static void sendMessage(void);
static bool receiveMessage(NWK_DataInd_t *ind);
static void sendConfirm( NWK_DataReq_t *req );

byte counter = 0;          // Counts how many messages sent and received
unsigned long time = 0;
int messageNumber = 0;
char outmsg[250];
int sending = 0;

void setup() {
  /*Initialize serial 1 for debug purpose */
  Serial1.begin(9600);  // We use serial1 as a monitor for incoming data
  Serial1.println("Setup");


  /* Initialize Pinocc.io scout */
  Scout.setup(SKETCH_NAME, SKETCH_REVISION, SKETCH_BUILD);
  Scout.meshListen(Scout.getAddress(), receiveMessage);  //Open the endpoint and start listening for incoming messagges
  Serial1.println("postSetup");
  time=millis();
}

void loop() {
  Scout.loop();

   
  //Serial1.println(Scout.getAddress());   //check the current pinocc.io address
  
  /* Read the scout address and send out a message if it equals 1 */
  if ( (Scout.getAddress() == 1 ) && ( ( time + 1000 ) < millis() ) )
  {
    Serial1.println("enter cycle");
    time = millis();
    
    /*If we aren't in the sending function; then call it to send a message */
    if ( !sending )
    {
  
      messageNumber++;
  
      strcpy( outmsg, "Hello " );
      
      char rv[100];
      sprintf(rv,"%d", messageNumber);
      strcat( outmsg, rv );
      strcat( outmsg, "\0" );
  
      //sendMsg( outmsg, 2);
    }
  }
}



/* Send a message to another scout  parse the destination ID and data using char  */
static void sendMsg( uint8_t * data, int destination_mesh_id ) {
  
  sending = 1;

  // we just leak for now
  NWK_DataReq_t *message = (NWK_DataReq_t*) malloc( sizeof( NWK_DataReq_t ) ); //package all the data into a payload

  /* Setup the mesh pointers and send the data */
  message->dstAddr = destination_mesh_id;      //Destination pinocc.io address
  message->dstEndpoint = destination_mesh_id;  //Destination pinocc.io endpoint (same as address)
  message->srcEndpoint = Scout.getAddress();   //Sender pinocc.io address
  message->options = NWK_OPT_ACK_REQUEST;      //Example: NWK_OPT_ACK_REQUEST|NWK_OPT_ENABLE_SECURITY
  message->data = (uint8_t *) data;            //Send the payload of data out 
  message->size = sizeof(message);             //Send the payload size
  message->confirm = sendConfirm;              //Ask for confirmation
  NWK_DataReq(message);                        //Close the message
}

/* Active callback to receive data */
static bool receiveMessage(NWK_DataInd_t *ind) {
  
  //unsigned long *recdata = (unsigned long*)ind->data;   //store received data into a pointer

  /*Serial1.print("Received message - ");
  Serial1.print("lqi: ");
  Serial1.print(ind->lqi, DEC);

  Serial1.print("from:  ");
  Serial1.print(ind->srcAddr, DEC);
  Serial1.print("  ");

  Serial1.print("rssi: ");
  Serial1.print(ind->rssi, DEC);
  Serial1.print("  ");
*/
  Serial1.print("Data: ");
  Serial1.print(ind->size);
  Serial.print("  ");
  Serial1.print(ind->data);
  Serial1.println("  ");

  NWK_SetAckControl(abs(ind->rssi));   //Enable message returns and check if there are any
  return true;
}


/* Confirm a successfully message sent */
static void sendConfirm( NWK_DataReq_t *req ) {
  sending = 0;
  /* Check if the message has been successfully received */
  if (NWK_SUCCESS_STATUS == req->status)
  {
    //You can add your function here that will execute once the message has been successfully sent
  }
}

and getting this error message

Arduino: 1.6.8 (Mac OS X), TD: 1.28, Board: "Pinoccio Scout, ATmega256RFR2"

call of overloaded 'print(uint8_t*&)' is ambiguous

referring to this line

   Serial1.print(ind->data);

and getting this error message

There is a LOT more to that message. It is telling you that there is no print() method that explicitly takes a uint8_t array. So, either print the data one element at a time, or cast the array to some type that there is a print() method explicitly defined for.