Hello,
To everyone who is having problems building Bacula to support MySQL
version 5.7.x. This is indeed a linking problem. This version is found
on Ubuntu 16.04, and probably other OSes with the most recent MySQL
releases. MySQL has eliminated the libmysqlclient_r.so library, which
is the thread safe library by making the standard libmysqlclient.so
thread safe. While this is logical and desirable, to do so, they
modified the way that MySQL is linked and rely on mysql_config to
provide the correct parameters. All is OK to that point.
Unfortunately, since Bacula has a lot of detection code for old versions
of MySQL, the Bacula implementation was not quite up to par.
I have now fixed that problem and pushed a somewhat complicated patch
into the Bacula public repositories for Branch-7.0, Branch-7.2, and
Branch-7.4.
If you want a quickie work around without getting the latest code:
- cd <bacula>
- run your ./configure
- cd <bacula>/src/cats
- edit Makefile
- Change the line that reads:
MYSQL_LIBS =
to
MYSQL_LIBS = -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm
-lrt -ldl
- cd <bacula>
- make -j9
- ...
You should then have a Bacula that is correctly built. Note: it is
possible that the mysqlclient library is in a different place on your
system. To get the correct values to assign to MYSQL_LIBS, on your
system simply do:
mysql_setup --libs_r
A final note about MySQL: for version 5.7, it seems that either they
have a bug or more likely some default sync/fsync has been made the
default, which means that using an out of the box MySQL and delivered on
Ubuntu 16.04 is 10-15 times slower than either PostgreSQL out of the box
or prior MySQL versions. For me, this makes even running regression
tests on that particular MySQL totally unusable (i.e. the normal set of
regression tests run in about 2 hours; with this version of MySQL, it
will probably take between 20 and 30 hours). Hopefully Ubuntu or Oracle
(MySQL) will fix this problem, which I will officially report today.
Best regards,
Kern
PS:
If any of you are C/C++ experienced Linux or Windows developers, Bacula
Systems is hiring two new developers. These jobs are in Switzerland.
If you are interested, please see:
http://www.baculasystems.com/company/careers
On 01/30/2016 03:16 AM, Phil Stracchino wrote:
> On 01/29/16 19:41, Hector Javier Agudelo Corredor wrote:
>> HI team
>>
>>
>> I installed centos 6.7.
>>
>> I have installed bacula 7.4 with postgres 5.7.10 but when I set the
>> mysql password in the file director.
> [...]
>
>> But when I test settings file manager with the command
>>
>> bacula-dir sudo -tc /etc/bacula/bacula-dir.conf
>>
>> get the following error:
>>
>> bacula-dir: symbol lookup error: /usr/lib64/libbaccats-7.4.0.so
>> <http://libbaccats-7.4.0.so>: undefined symbol: mysql_init
>
> Ummmmm...... What's wrong with this picture?
>
> Did you mean you installed with *MySQL* 5.7.10?
>
>
> Personally, if I were you, I would not be using MySQL 5.7 yet. It seems
> to still have some teething issues, some of them serious. You might try
> backing out to MySQL (or Percona Server) 5.6.28.
>
> That said, as Michael suggested, it looks as though there is something
> wrong (or simply odd) about either your configure options or your build
> environment.
>
>
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports. http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users
|