December 18, 2008

Install check_mysql_perf on FreeBSD

I recently had to install check_mysql_perf on our nagios server runing FreeBSD.

After a few failed attempts , I contacted the author Gerhard asking for help. Sure enough a few minutes ( !!! ) later he send me a reply back :

Add the following at the end of the check_mysql_perf.c :

char* strndup(const char* string, size_t n)
{
char* copy_string = 0;

if(0 == string || 0 == n)
return 0;

copy_string = (char*) malloc(n + 1);
if(0 == copy_string)
return 0;

memcpy(copy_string, string, n);
*(copy_string + n) = ‘\0’;

return copy_string;
}

and find this line ( line number 77 in my file ) :

char *mysql_status_historical (MYSQL *, char *, long *, int);

and add below it :

char strndup(const char, size_t);

this worked like a charm and I have a working plugin now.

thanks Gerhard !!!