On 24.06.2016 [06:07:06 -0000], Kern Sibbald wrote: > Hello Nish, > > Thanks for taking the time to send me a personal note. After more > research, I agree 100% with you that it is not related to stripping the > binaries. I deduce from Hiroaki's analysis that the problem is that the > addresses in the shared object that are exported are modified with the > -Bsymbolic-functions from what Bacula expects. While setting the > default values of directives, Bacula compares addresses of function > pointers. If these function pointers are changed from what Bacula > expects, setting the default value fails. Bacula does not use position > independent executables (at least we do not set it in our LDFLAGS).
Yep, and Ubuntu uses PIE by default in 16.10 (on some archs), but I'm not sure it's set in 16.04 based upon the buildlog at https://launchpadlibrarian.net/267315679/buildlog_ubuntu-xenial-amd64.bacula_7.4.1~dfsg-1.1~ppa7_BUILDING.txt.gz. More details on PIE in Ubuntu: https://wiki.ubuntu.com/Security/Features#pie. > In a future version (hopefully the next one), I will identify the > function pointers with a unique index for each function, then instead of > comparing function pointers, I will compare indexes. This will > definitively avoid the problem. Thanks for making the Ubuntu build work > again. Yep, that makes sense! > On a different issue: > If you would like, I will be happy to look at your patch for [Bug > 1570923] Re: bacula-dir won't start with "undefined symbol: mysql_init", > however, I don't know where to find it. So the PPA build has the following changes, with my commentary in []: bacula (7.4.1~dfsg-1.1~ppa7) xenial; urgency=medium * debian/patches/libmysqlclient_r.patch: Fix bug where MySQL 5.7 is improperly linked on Ubuntu 16.04. Closes LP: #1570923. [ backport of http://www.bacula.org/git/cgit.cgi/bacula/commit/?h=Branch-7.4&id=d3196af3e6c9f65b9f0790625a2e844dcb5fd190 ] * debian/patches/mysql_install_update.patch: mysql database install/update scripts patch. Fixes bug #1901. [ backport of http://www.bacula.org/git/cgit.cgi/bacula/commit/?h=Branch-7.4&id=074419ac0c9dbbde2e4d2f5ccb6d4ca85c6ec8a9 ] * debian/patches/disable_mysql_NO_ZERO_DATE.patch: Disable NO_ZERO_DATE mode for MySQL table creation. [ Without this, I get an error from MySQL 5.7 (strict mode) about the CleaningDate field having an invalid default. --- bacula-7.4.1~dfsg.orig/src/cats/make_mysql_tables.in +++ bacula-7.4.1~dfsg/src/cats/make_mysql_tables.in @@ -14,6 +14,8 @@ PATH="$bindir:$PATH" db_name=${db_name:-@db_name@} if mysql -D ${db_name} $* -f <<END-OF-DATA +SET SESSION sql_mode = (SELECT REPLACE(@@sql_mode,'NO_ZERO_DATE', '')); + -- -- Note, we use BLOB rather than TEXT because in MySQL, -- BLOBs are identical to TEXT except that BLOB is case ] * d/rules: do not use -Bsymoblic-functions when linking. [ The result from this bug and Hiroaki's analysis ] -- Nishanth Aravamudan <[email protected]> Thu, 23 Jun 2016 12:35:56 -0700 I'll clean-up the changelog to ensure the bugs get auto-tagged appropriately and submit it for SRU. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1553563 Title: bconsole to Bacula Director fails with authorization problem message To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bacula/+bug/1553563/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
