It's a misfeature of older FreeBSD releases really, but they have declared
dlerror as returning const char * instead of char *. This leads to the error:
plugins.c: In function 'bool load_plugins(void*, void*, const char*, const
char*, bool (*)(Plugin*))':
plugins.c:162: error: invalid conversion from 'const char*' to 'char*'
The declaration is fixed in the latest FreeBSD, but the following patch works
around it in Bacula:
--- src/lib/plugins.c.orig 2012-01-23 14:56:28.775678852 +0000
+++ src/lib/plugins.c 2012-01-23 15:06:06.752865296 +0000
@@ -159,7 +159,7 @@
plugin->file_len = strstr(plugin->file, type) - plugin->file;
plugin->pHandle = dlopen(fname.c_str(), RTLD_NOW);
if (!plugin->pHandle) {
- char *error = dlerror();
+ char *error = (char *)dlerror();
Jmsg(NULL, M_ERROR, 0, _("dlopen plugin %s failed: ERR=%s\n"),
fname.c_str(), NPRT(error));
Dmsg2(dbglvl, "dlopen plugin %s failed: ERR=%s\n", fname.c_str(),
__Martin
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel