Bug 193641

Summary: sysutils/bacula-server does not upgrade nicely with shared libraries
Product: Ports & Packages Reporter: Dan Langille <dvl>
Component: Individual Port(s)Assignee: Dan Langille <dvl>
Status: Closed FIXED    
Severity: Affects Many People CC: danmcgrath.ca, ler
Priority: --- Keywords: needs-qa
Version: LatestFlags: dvl: maintainer-feedback? (dan)
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192526
Attachments:
Description Flags
use USES=localbase
none
full compile log
none
proposed fix
none
proposed fix, including the added patch
none
Hopefully final version
none
Update patch -
none
final patch none

Description Dan Langille freebsd_committer freebsd_triage 2014-09-14 19:26:57 UTC
As reported by Larry Rosenman in 192526, upgrading sysutils/bacula-server from one version to another gives bad exe.

original install of 7.0.4:

$ ldd /usr/local/sbin/bconsole /usr/local/sbin/bacula-* | grep bac
	libbaccfg-7.0.4.so => /usr/local/lib/libbaccfg-7.0.4.so (0x8010c3000)
	libbac-7.0.4.so => /usr/local/lib/libbac-7.0.4.so (0x8012cd000)
/usr/local/sbin/bacula-dir:
	libbacfind-7.0.4.so => /usr/local/lib/libbacfind-7.0.4.so (0x800aa1000)
	libbacsql-7.0.4.so => /usr/local/lib/libbacsql-7.0.4.so (0x800caf000)
	libbaccats-7.0.4.so => /usr/local/lib/libbaccats-7.0.4.so (0x800ed8000)
	libbaccfg-7.0.4.so => /usr/local/lib/libbaccfg-7.0.4.so (0x8010e1000)
	libbac-7.0.4.so => /usr/local/lib/libbac-7.0.4.so (0x8012eb000)
/usr/local/sbin/bacula-fd:
	libbacfind-7.0.4.so => /usr/local/lib/libbacfind-7.0.4.so (0x800c65000)
	libbaccfg-7.0.4.so => /usr/local/lib/libbaccfg-7.0.4.so (0x800e73000)
	libbac-7.0.4.so => /usr/local/lib/libbac-7.0.4.so (0x80107d000)
/usr/local/sbin/bacula-sd:
	libbaccfg-7.0.4.so => /usr/local/lib/libbaccfg-7.0.4.so (0x800c91000)
	libbac-7.0.4.so => /usr/local/lib/libbac-7.0.4.so (0x800e9b000)


After portupgrade bacula-*


$ ldd /usr/local/sbin/bconsole /usr/local/sbin/bacula-* | grep bac
	libbaccfg-7.0.4.so => not found (0)
	libbac-7.0.4.so => not found (0)
/usr/local/sbin/bacula-dir:
	libbacfind-7.0.5.so => /usr/local/lib/libbacfind-7.0.5.so (0x800aa2000)
	libbacsql-7.0.4.so => not found (0)
	libbaccats-postgresql-7.0.4.so => not found (0)
	libbaccfg-7.0.5.so => /usr/local/lib/libbaccfg-7.0.5.so (0x800cb0000)
	libbac-7.0.5.so => /usr/local/lib/libbac-7.0.5.so (0x800ebb000)
/usr/local/sbin/bacula-fd:
	libbacfind-7.0.4.so => not found (0)
	libbaccfg-7.0.4.so => not found (0)
	libbac-7.0.4.so => not found (0)
/usr/local/sbin/bacula-sd:
	libbaccfg-7.0.5.so => /usr/local/lib/libbaccfg-7.0.5.so (0x800c91000)
	libbac-7.0.5.so => /usr/local/lib/libbac-7.0.5.so (0x800e9c000)

 $ ls -l /usr/local/lib/libbac*
-rwxr-xr-x  1 root  wheel  454693 Sep 14 19:18 /usr/local/lib/libbac-7.0.5.so
-rwxr-xr-x  1 root  wheel     934 Sep 14 19:18 /usr/local/lib/libbac.la
lrwxr-xr-x  1 root  wheel      15 Sep 14 19:18 /usr/local/lib/libbac.so -> libbac-7.0.5.so
lrwxr-xr-x  1 root  wheel      24 Sep 14 19:19 /usr/local/lib/libbaccats-7.0.5.so -> libbaccats-postgresql.so
-rwxr-xr-x  1 root  wheel   44863 Sep 14 19:19 /usr/local/lib/libbaccats-postgresql-7.0.5.so
-rwxr-xr-x  1 root  wheel    1024 Sep 14 19:19 /usr/local/lib/libbaccats-postgresql.la
lrwxr-xr-x  1 root  wheel      30 Sep 14 19:19 /usr/local/lib/libbaccats-postgresql.so -> libbaccats-postgresql-7.0.5.so
-rwxr-xr-x  1 root  wheel     958 Sep 14 19:19 /usr/local/lib/libbaccats.la
lrwxr-xr-x  1 root  wheel      19 Sep 14 19:19 /usr/local/lib/libbaccats.so -> libbaccats-7.0.5.so
-rwxr-xr-x  1 root  wheel   55195 Sep 14 19:18 /usr/local/lib/libbaccfg-7.0.5.so
-rwxr-xr-x  1 root  wheel     952 Sep 14 19:18 /usr/local/lib/libbaccfg.la
lrwxr-xr-x  1 root  wheel      18 Sep 14 19:18 /usr/local/lib/libbaccfg.so -> libbaccfg-7.0.5.so
-rwxr-xr-x  1 root  wheel   66567 Sep 14 19:18 /usr/local/lib/libbacfind-7.0.5.so
-rwxr-xr-x  1 root  wheel     958 Sep 14 19:18 /usr/local/lib/libbacfind.la
lrwxr-xr-x  1 root  wheel      19 Sep 14 19:18 /usr/local/lib/libbacfind.so -> libbacfind-7.0.5.so
-rwxr-xr-x  1 root  wheel  190694 Sep 14 19:19 /usr/local/lib/libbacsql-7.0.5.so
-rwxr-xr-x  1 root  wheel     952 Sep 14 19:19 /usr/local/lib/libbacsql.la
lrwxr-xr-x  1 root  wheel      18 Sep 14 19:19 /usr/local/lib/libbacsql.so -> libbacsql-7.0.5.so
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2014-09-14 19:26:57 UTC
Maintainer CC'd
Comment 2 Dan Langille freebsd_committer freebsd_triage 2014-09-14 19:30:48 UTC
sysutils/bacula-client is a slave port of sysutils/bacula-server

sysutils/bacula-client installs shared libraries

sysutils/bacula-server requires sysutils/bacula-client
Comment 3 Dan Langille freebsd_committer freebsd_triage 2014-09-14 19:34:03 UTC
It seems like everything installed by sysutils/bacula-client gets the wrong libraries.

ie. bacula-dir and bacula-sd are fine.

bconsole and bacula-fd are wrong, still pointing to the old libraries: 790,4

$ ldd /usr/local/sbin/bconsole /usr/local/sbin/bacula-* 
/usr/local/sbin/bconsole:
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x800822000)
	libreadline.so.8 => /lib/libreadline.so.8 (0x800a2c000)
	libncurses.so.8 => /lib/libncurses.so.8 (0x800c6d000)
	libbaccfg-7.0.4.so => not found (0)
	libbac-7.0.4.so => not found (0)
	libthr.so.3 => /lib/libthr.so.3 (0x800ebb000)
	libssl.so.6 => /usr/lib/libssl.so.6 (0x8010de000)
	libcrypto.so.6 => /lib/libcrypto.so.6 (0x801334000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x8016dc000)
	libm.so.5 => /lib/libm.so.5 (0x8019e3000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x801c04000)
	libc.so.7 => /lib/libc.so.7 (0x801e12000)
	libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x80216d000)
/usr/local/sbin/bacula-dir:
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x800898000)
	libbacfind-7.0.5.so => /usr/local/lib/libbacfind-7.0.5.so (0x800aa2000)
	libbacsql-7.0.4.so => not found (0)
	libbaccats-postgresql-7.0.4.so => not found (0)
	libbaccfg-7.0.5.so => /usr/local/lib/libbaccfg-7.0.5.so (0x800cb0000)
	libbac-7.0.5.so => /usr/local/lib/libbac-7.0.5.so (0x800ebb000)
	libthr.so.3 => /lib/libthr.so.3 (0x801126000)
	libwrap.so.6 => /usr/lib/libwrap.so.6 (0x801349000)
	libssl.so.6 => /usr/lib/libssl.so.6 (0x801552000)
	libcrypto.so.6 => /lib/libcrypto.so.6 (0x8017a8000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x801b50000)
	libm.so.5 => /lib/libm.so.5 (0x801e57000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x802078000)
	libc.so.7 => /lib/libc.so.7 (0x802286000)
	libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x8025e1000)
	libz.so.6 => /lib/libz.so.6 (0x8028dd000)
/usr/local/sbin/bacula-fd:
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x800847000)
	libz.so.6 => /lib/libz.so.6 (0x800a51000)
	libbacfind-7.0.4.so => not found (0)
	libbaccfg-7.0.4.so => not found (0)
	libbac-7.0.4.so => not found (0)
	libthr.so.3 => /lib/libthr.so.3 (0x800c65000)
	libwrap.so.6 => /usr/lib/libwrap.so.6 (0x800e88000)
	libssl.so.6 => /usr/lib/libssl.so.6 (0x801091000)
	libcrypto.so.6 => /lib/libcrypto.so.6 (0x8012e7000)
	liblzo2.so.2 => /usr/local/lib/liblzo2.so.2 (0x80168f000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x8018ae000)
	libm.so.5 => /lib/libm.so.5 (0x801bb5000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x801dd6000)
	libc.so.7 => /lib/libc.so.7 (0x801fe4000)
	libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x80233f000)
/usr/local/sbin/bacula-sd:
	libintl.so.9 => /usr/local/lib/libintl.so.9 (0x800873000)
	libz.so.6 => /lib/libz.so.6 (0x800a7d000)
	libbaccfg-7.0.5.so => /usr/local/lib/libbaccfg-7.0.5.so (0x800c91000)
	libbac-7.0.5.so => /usr/local/lib/libbac-7.0.5.so (0x800e9c000)
	libthr.so.3 => /lib/libthr.so.3 (0x801107000)
	libwrap.so.6 => /usr/lib/libwrap.so.6 (0x80132a000)
	libssl.so.6 => /usr/lib/libssl.so.6 (0x801533000)
	libcrypto.so.6 => /lib/libcrypto.so.6 (0x801789000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x801b31000)
	libm.so.5 => /lib/libm.so.5 (0x801e38000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x802059000)
	libc.so.7 => /lib/libc.so.7 (0x802267000)
	libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x8025c2000)
[dan@testing:/usr/ports.SVN/sysutils/bacula-server] $
Comment 4 Dan Langille freebsd_committer freebsd_triage 2014-09-14 21:38:15 UTC
See UPDATING 20140909

It sounds like there is no fix I can implement now.  It's a matter of just reinstalling stuff until it works.

see also https://lists.freebsd.org/pipermail/freebsd-ports/2014-May/092082.html

At present, we use: USES+=                libtool:oldver

I wonder if removeing :oldver might help.

I've run out of time to test this further today.
Comment 5 Dan Langille freebsd_committer freebsd_triage 2015-10-09 19:03:12 UTC
Larry: I just submitted patches for Bacula 7.2.0
Comment 6 Larry Rosenman freebsd_committer freebsd_triage 2015-10-09 19:06:14 UTC
IIRC there also was a recent Ports Framework change to put the workdir stuff before ${PREFIX}/lib which should help as well
Comment 7 Larry Rosenman freebsd_committer freebsd_triage 2015-10-09 19:43:15 UTC
The issue persists with 7.2.0 and a current (as of today) -CURRENT and PORTS tree.

I'll look and see if I can figure out a way to get Bacula to search wrkdir first.
Comment 8 Dan Langille freebsd_committer freebsd_triage 2015-10-13 18:03:01 UTC
Created attachment 161990 [details]
use USES=localbase
Comment 9 Larry Rosenman freebsd_committer freebsd_triage 2015-10-13 18:33:17 UTC
that patch does NOT fix it for me:
inking bacula-dir ...
/var/ports/basejail/usr/ports/sysutils/bacula-server/work/bacula-7.2.0/libtool --silent --tag=CXX --mode=link /usr/bin/c++  -L/usr/local/lib -L/usr/local/lib -fstack-protector -L../lib -L../cats -L../findlib -o bacula-dir dird.o admin.o authenticate.o autoprune.o backup.o bsr.o catreq.o dir_plugins.o dird_conf.o expand.o fd_cmds.o getmsg.o inc_conf.o job.o jobq.o mac.o mac_sql.o mountreq.o msgchan.o next_vol.o newvol.o recycle.o restore.o run_conf.o scheduler.o ua_acl.o ua_cmds.o ua_dotcmds.o ua_query.o ua_input.o ua_label.o ua_output.o ua_prune.o ua_purge.o ua_restore.o ua_run.o ua_select.o ua_server.o snapshot.o ua_status.o ua_tree.o ua_update.o vbackup.o verify.o  -lbacfind -lbacsql -lbaccats -lbaccfg -lbac -lm   -lpthread  -lintl  -lwrap /usr/local/lib/libintl.so -Wl,-rpath -Wl,/usr/local/lib -lssl -lcrypto
dird.o: In function `main':
dird.c:(.text+0x2f3): undefined reference to `debug_level_tags'
dird.c:(.text+0x9e7): undefined reference to `bdb_debug_print(JCR*, __sFILE*)'
dird.o: In function `check_catalog(cat_op)':
dird.c:(.text+0x1d42): undefined reference to `BDB::bdb_create_client_record(JCR*, CLIENT_DBR*)'
dird.c:(.text+0x1e25): undefined reference to `BDB::bdb_create_mediatype_record(JCR*, MEDIATYPE_DBR*)'
dird.c:(.text+0x1e66): undefined reference to `BDB::bdb_create_storage_record(JCR*, STORAGE_DBR*)'
dird.c:(.text+0x1ec5): undefined reference to `BDB::bdb_update_storage_record(JCR*, STORAGE_DBR*)'
dird.c:(.text+0x20a9): undefined reference to `BDB::bdb_create_counter_record(JCR*, COUNTER_DBR*)'
dird.c:(.text+0x2153): undefined reference to `BDB::bdb_get_engine_name()'
dird.c:(.text+0x215b): undefined reference to `set_db_engine_name(char const*)'
dird.c:(.text+0x21ff): undefined reference to `BDB::bdb_check_max_connections(JCR*, unsigned int)'
admin.o: In function `admin_cleanup(JCR*, int)':
admin.c:(.text+0x117): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
autoprune.o: In function `prune_volumes(JCR*, bool, MEDIA_DBR*, STORE*)':
autoprune.c:(.text+0x205): undefined reference to `BDB::bdb_lock(char const*, int)'
autoprune.c:(.text+0x25b): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
autoprune.c:(.text+0x3ed): undefined reference to `BDB::bdb_get_query_dbids(JCR*, POOL_MEM&, dbid_list&)'
autoprune.c:(.text+0x4a5): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
autoprune.c:(.text+0x84a): undefined reference to `BDB::bdb_unlock(char const*, int)'
backup.o: In function `send_accurate_current_files(JCR*)':
backup.c:(.text+0x286): undefined reference to `BDB::bdb_get_base_jobid(JCR*, JOB_DBR*, unsigned int*)'
backup.c:(.text+0x33b): undefined reference to `BDB::bdb_get_accurate_jobids(JCR*, JOB_DBR*, db_list_ctx*)'
backup.c:(.text+0x5ee): undefined reference to `BDB::bdb_open_batch_connexion(JCR*)'
backup.c:(.text+0x62c): undefined reference to `BDB::bdb_create_base_file_list(JCR*, char*)'
backup.c:(.text+0x652): undefined reference to `BDB::bdb_get_base_file_list(JCR*, bool, int (*)(void*, int, char**), void*)'
backup.c:(.text+0x6ea): undefined reference to `BDB::bdb_get_file_list(JCR*, char*, bool, bool, int (*)(void*, int, char**), void*)'
backup.o: In function `do_backup(JCR*)':
backup.c:(.text+0xc94): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
backup.c:(.text+0x132d): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
backup.c:(.text+0x13d5): undefined reference to `bdb_write_batch_file_records(JCR*)'
backup.c:(.text+0x13ee): undefined reference to `BDB::bdb_commit_base_file_attributes_record(JCR*)'
backup.o: In function `backup_cleanup(JCR*, int)':
backup.c:(.text+0x1a55): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
backup.c:(.text+0x1ac4): undefined reference to `BDB::bdb_get_client_record(JCR*, CLIENT_DBR*)'
backup.c:(.text+0x1b25): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
backup.c:(.text+0x1d84): undefined reference to `BDB::bdb_get_job_volume_names(JCR*, unsigned int, char**)'
backup.o: In function `update_bootstrap_file(JCR*)':
backup.c:(.text+0x2635): undefined reference to `open_bpipe(char*, int, char const*, char**)'
backup.c:(.text+0x26a7): undefined reference to `BDB::bdb_get_job_volume_parameters(JCR*, unsigned int, VOL_PARAMS**)'
bsr.o: In function `complete_bsr(UAContext*, RBSR*)':
bsr.c:(.text+0x144): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
bsr.c:(.text+0x17a): undefined reference to `BDB::bdb_get_job_volume_parameters(JCR*, unsigned int, VOL_PARAMS**)'
catreq.o: In function `catalog_request(JCR*, BSOCK*)':
catreq.c:(.text+0x12c): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
catreq.c:(.text+0x30d): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
catreq.c:(.text+0x552): undefined reference to `BDB::bdb_lock(char const*, int)'
catreq.c:(.text+0x5c4): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
catreq.c:(.text+0x748): undefined reference to `BDB::bdb_lock(char const*, int)'
catreq.c:(.text+0x85e): undefined reference to `BDB::bdb_create_jobmedia_record(JCR*, JOBMEDIA_DBR*)'
catreq.c:(.text+0x8a1): undefined reference to `BDB::bdb_unlock(char const*, int)'
catreq.c:(.text+0x950): undefined reference to `BDB::bdb_unlock(char const*, int)'
catreq.c:(.text+0xb9a): undefined reference to `BDB::bdb_unlock(char const*, int)'
catreq.c:(.text+0xcca): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
catreq.c:(.text+0xd64): undefined reference to `BDB::bdb_unlock(char const*, int)'
catreq.o: In function `update_attribute(JCR*, char*, int)':
catreq.c:(.text+0x1533): undefined reference to `BDB::bdb_create_attributes_record(JCR*, ATTR_DBR*)'
catreq.c:(.text+0x1ab1): undefined reference to `BDB::bdb_create_restore_object_record(JCR*, ROBJECT_DBR*)'
catreq.c:(.text+0x1cb9): undefined reference to `BDB::bdb_create_attributes_record(JCR*, ATTR_DBR*)'
catreq.c:(.text+0x1d29): undefined reference to `BDB::bdb_add_digest_to_file_record(JCR*, unsigned long, char*, int)'
dir_plugins.o: In function `generate_plugin_event':
dir_plugins.c:(.text+0x23): undefined reference to `b_plugin_list'
dir_plugins.c:(.text+0xa7): undefined reference to `b_plugin_list'
dir_plugins.c:(.text+0xe5): undefined reference to `b_plugin_list'
dir_plugins.o: In function `load_dir_plugins':
dir_plugins.c:(.text+0x264): undefined reference to `b_plugin_list'
dir_plugins.c:(.text+0x28a): undefined reference to `b_plugin_list'
dir_plugins.o:dir_plugins.c:(.text+0x30b): more undefined references to `b_plugin_list' follow
dir_plugins.o: In function `baculaGetValue(bpContext*, brDirVariable, void*)':
dir_plugins.c:(.text+0xba8): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
expand.o: In function `lookup_var(var_st*, void*, char const*, int, int, int, char const**, int*, int*)':
expand.c:(.text+0x682): undefined reference to `BDB::bdb_update_counter_record(JCR*, COUNTER_DBR*)'
fd_cmds.o: In function `connect_to_file_daemon(JCR*, int, int, int)':
fd_cmds.c:(.text+0x491): undefined reference to `BDB::bdb_update_client_record(JCR*, CLIENT_DBR*)'
fd_cmds.o: In function `get_level_since_time(JCR*, char*, int)':
fd_cmds.c:(.text+0x61b): undefined reference to `BDB::bdb_find_job_start_time(JCR*, JOB_DBR*, char**, char*)'
fd_cmds.c:(.text+0x645): undefined reference to `BDB::bdb_find_last_job_start_time(JCR*, JOB_DBR*, char**, char*, int)'
fd_cmds.c:(.text+0x70b): undefined reference to `BDB::bdb_find_last_job_start_time(JCR*, JOB_DBR*, char**, char*, int)'
fd_cmds.c:(.text+0x961): undefined reference to `BDB::bdb_find_failed_job_since(JCR*, JOB_DBR*, char*, int&)'
fd_cmds.o: In function `restore_object_handler(void*, int, char**)':
fd_cmds.c:(.text+0x1a4c): undefined reference to `BSOCK::send(int)'
fd_cmds.c:(.text+0x1ac4): undefined reference to `BSOCK::send(int)'
fd_cmds.o: In function `get_attributes_and_put_in_catalog(JCR*)':
fd_cmds.c:(.text+0x1ed7): undefined reference to `BDB::bdb_create_file_attributes_record(JCR*, ATTR_DBR*)'
fd_cmds.c:(.text+0x229e): undefined reference to `BDB::bdb_create_file_attributes_record(JCR*, ATTR_DBR*)'
fd_cmds.o: In function `send_list_item(JCR*, char const*, char*, BSOCK*)':
fd_cmds.c:(.text+0x2487): undefined reference to `BSOCK::send(int)'
fd_cmds.c:(.text+0x24d4): undefined reference to `open_bpipe(char*, int, char const*, char**)'
fd_cmds.c:(.text+0x25de): undefined reference to `BSOCK::send(int)'
fd_cmds.c:(.text+0x2662): undefined reference to `BSOCK::send(int)'
job.o: In function `job_thread(void*)':
job.c:(.text+0x313): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
job.c:(.text+0x37d): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
job.o: In function `setup_job(JCR*)':
job.c:(.text+0x100e): undefined reference to `BDB::bdb_create_job_record(JCR*, JOB_DBR*)'
job.o: In function `get_or_create_client_record(JCR*)':
job.c:(.text+0x172d): undefined reference to `BDB::bdb_create_client_record(JCR*, CLIENT_DBR*)'
job.o: In function `update_job_end_record(JCR*)':
job.c:(.text+0x202f): undefined reference to `BDB::bdb_update_job_end_record(JCR*, JOB_DBR*)'
job.o: In function `cancel_job(UAContext*, JCR*, bool)':
job.c:(.text+0x24fe): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
job.c:(.text+0x252e): undefined reference to `BDB::bdb_get_client_record(JCR*, CLIENT_DBR*)'
job.o: In function `get_or_create_pool_record(JCR*, char*)':
job.c:(.text+0x2f35): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
job.c:(.text+0x2f9e): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
job.o: In function `get_or_create_fileset_record(JCR*)':
job.c:(.text+0x38be): undefined reference to `BDB::bdb_get_fileset_record(JCR*, FILESET_DBR*)'
job.c:(.text+0x38d8): undefined reference to `BDB::bdb_create_fileset_record(JCR*, FILESET_DBR*)'
mac.o: In function `set_mac_next_pool(JCR*, POOL**)':
mac.c:(.text+0x5c1): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
mac.o: In function `do_mac(JCR*)':
mac.c:(.text+0x724): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
mac.c:(.text+0xae9): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
mac.c:(.text+0xb3b): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
mac.c:(.text+0xf59): undefined reference to `bdb_write_batch_file_records(JCR*)'
mac.o: In function `mac_cleanup(JCR*, int, int)':
mac.c:(.text+0x13fc): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
mac.c:(.text+0x1461): undefined reference to `BDB::bdb_get_job_volume_names(JCR*, unsigned int, char**)'
mac.c:(.text+0x14f9): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
mac_sql.o: In function `getJob_to_migrate(JCR*)':
mac_sql.c:(.text+0x165): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
next_vol.o: In function `find_next_volume_for_append(JCR*, MEDIA_DBR*, int, bool, bool)':
next_vol.c:(.text+0xd6): undefined reference to `BDB::bdb_lock(char const*, int)'
next_vol.c:(.text+0x173): undefined reference to `BDB::bdb_find_next_volume(JCR*, int, bool, MEDIA_DBR*)'
next_vol.c:(.text+0x46b): undefined reference to `BDB::bdb_find_next_volume(JCR*, int, bool, MEDIA_DBR*)'
next_vol.c:(.text+0x690): undefined reference to `BDB::bdb_unlock(char const*, int)'
next_vol.o: In function `get_scratch_volume(JCR*, bool, MEDIA_DBR*, STORE*)':
next_vol.c:(.text+0x770): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
next_vol.c:(.text+0x7e6): undefined reference to `BDB::bdb_find_next_volume(JCR*, int, bool, MEDIA_DBR*)'
next_vol.c:(.text+0x87e): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
next_vol.c:(.text+0x90a): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
next_vol.o: In function `has_volume_expired(JCR*, MEDIA_DBR*)':
next_vol.c:(.text+0xcf4): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
newvol.o: In function `newVolume(JCR*, MEDIA_DBR*, STORE*)':
newvol.c:(.text+0x51): undefined reference to `BDB::bdb_lock(char const*, int)'
newvol.c:(.text+0x71): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
newvol.c:(.text+0x14f): undefined reference to `BDB::bdb_create_media_record(JCR*, MEDIA_DBR*)'
newvol.c:(.text+0x16e): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
newvol.c:(.text+0x1e8): undefined reference to `BDB::bdb_unlock(char const*, int)'
newvol.c:(.text+0x326): undefined reference to `BDB::bdb_unlock(char const*, int)'
newvol.c:(.text+0x4bc): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
recycle.o: In function `find_recycled_volume(JCR*, bool, MEDIA_DBR*, STORE*)':
recycle.c:(.text+0x4f): undefined reference to `BDB::bdb_find_next_volume(JCR*, int, bool, MEDIA_DBR*)'
recycle.o: In function `recycle_oldest_purged_volume(JCR*, bool, MEDIA_DBR*, STORE*)':
recycle.c:(.text+0x10a): undefined reference to `BDB::bdb_find_next_volume(JCR*, int, bool, MEDIA_DBR*)'
recycle.c:(.text+0x195): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
recycle.o: In function `recycle_volume(JCR*, MEDIA_DBR*)':
recycle.c:(.text+0x2b9): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
restore.o: In function `do_restore(JCR*)':
restore.c:(.text+0xcaa): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
scheduler.o: In function `wait_for_next_job(char*)':
scheduler.c:(.text+0x48): undefined reference to `debug_level_tags'
scheduler.c:(.text+0x189): undefined reference to `debug_level_tags'
scheduler.c:(.text+0x240): undefined reference to `debug_level_tags'
scheduler.c:(.text+0x336): undefined reference to `debug_level_tags'
scheduler.c:(.text+0x5eb): undefined reference to `debug_level_tags'
scheduler.o:scheduler.c:(.text+0x81d): more undefined references to `debug_level_tags' follow
ua_cmds.o: In function `add_cmd(UAContext*, char const*)':
ua_cmds.c:(.text+0x520): undefined reference to `BDB::bdb_create_media_record(JCR*, MEDIA_DBR*)'
ua_cmds.c:(.text+0x57f): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
ua_cmds.o: In function `setdebug_cmd(UAContext*, char const*)':
ua_cmds.c:(.text+0x159e): undefined reference to `debug_level_tags'
ua_cmds.o: In function `wait_cmd(UAContext*, char const*)':
ua_cmds.c:(.text+0x21cf): undefined reference to `job_status_to_str(int, int)'
ua_cmds.o: In function `update_pool_references(JCR*, BDB*, POOL*)':
ua_cmds.c:(.text+0x26bb): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_cmds.c:(.text+0x2700): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
ua_cmds.o: In function `set_pooldbr_references(JCR*, BDB*, POOL_DBR*, POOL*)':
ua_cmds.c:(.text+0x27be): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_cmds.c:(.text+0x2880): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_cmds.o: In function `create_pool(JCR*, BDB*, POOL*, e_pool_op)':
ua_cmds.c:(.text+0x2976): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_cmds.c:(.text+0x29b9): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
ua_cmds.c:(.text+0x29f2): undefined reference to `BDB::bdb_create_pool_record(JCR*, POOL_DBR*)'
ua_cmds.o: In function `do_enable_disable_cmd(UAContext*, bool)':
ua_cmds.c:(.text+0x32b0): undefined reference to `bdb_disable_batch_insert(bool)'
ua_cmds.o: In function `delete_volume(UAContext*)':
ua_cmds.c:(.text+0x41dd): undefined reference to `BDB::bdb_get_volume_jobids(JCR*, MEDIA_DBR*, db_list_ctx*)'
ua_cmds.c:(.text+0x425e): undefined reference to `BDB::bdb_delete_media_record(JCR*, MEDIA_DBR*)'
ua_cmds.o: In function `delete_pool(UAContext*)':
ua_cmds.c:(.text+0x4399): undefined reference to `BDB::bdb_delete_pool_record(JCR*, POOL_DBR*)'
ua_dotcmds.o: In function `dot_bvfs_lsdirs(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x1709): undefined reference to `Bvfs::Bvfs(JCR*, BDB*)'
ua_dotcmds.o: In function `dot_bvfs_lsfiles(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x1a27): undefined reference to `Bvfs::Bvfs(JCR*, BDB*)'
ua_dotcmds.o: In function `dot_bvfs_get_volumes(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x1dd6): undefined reference to `Bvfs::Bvfs(JCR*, BDB*)'
ua_dotcmds.c:(.text+0x1f41): undefined reference to `Bvfs::get_volumes(unsigned long)'
ua_dotcmds.o: In function `dot_bvfs_update(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x1fea): undefined reference to `bvfs_update_path_hierarchy_cache(JCR*, BDB*, char*)'
ua_dotcmds.c:(.text+0x2014): undefined reference to `bvfs_update_cache(JCR*, BDB*)'
ua_dotcmds.o: In function `dot_bvfs_get_jobids(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x20ef): undefined reference to `Bvfs::Bvfs(JCR*, BDB*)'
ua_dotcmds.c:(.text+0x22fe): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_dotcmds.c:(.text+0x235e): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_dotcmds.c:(.text+0x242c): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_dotcmds.c:(.text+0x247a): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_dotcmds.c:(.text+0x24de): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_dotcmds.c:(.text+0x2682): undefined reference to `BDB::bdb_get_query_dbids(JCR*, POOL_MEM&, dbid_list&)'
ua_dotcmds.c:(.text+0x2715): undefined reference to `BDB::bdb_get_accurate_jobids(JCR*, JOB_DBR*, db_list_ctx*)'
ua_dotcmds.o: In function `dot_bvfs_get_jobs(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x28e2): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_dotcmds.c:(.text+0x29a2): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_dotcmds.o: In function `dot_bvfs_versions(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x2b99): undefined reference to `Bvfs::Bvfs(JCR*, BDB*)'
ua_dotcmds.c:(.text+0x2cdb): undefined reference to `Bvfs::get_all_file_versions(unsigned int, unsigned long, char const*)'
ua_dotcmds.o: In function `dot_bvfs_restore(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x2dcd): undefined reference to `Bvfs::Bvfs(JCR*, BDB*)'
ua_dotcmds.o: In function `dot_bvfs_cleanup(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x3064): undefined reference to `Bvfs::Bvfs(JCR*, BDB*)'
ua_dotcmds.o: In function `dot_bvfs_clear_cache(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x32ef): undefined reference to `Bvfs::Bvfs(JCR*, BDB*)'
ua_dotcmds.o: In function `dot_bvfs_update_fv(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x33aa): undefined reference to `bvfs_update_path_hierarchy_cache(JCR*, BDB*, char*)'
ua_dotcmds.c:(.text+0x33bf): undefined reference to `bvfs_update_fv_cache(JCR*, BDB*, char*)'
ua_dotcmds.o: In function `tagscmd(UAContext*, char const*)':
ua_dotcmds.c:(.text+0x3472): undefined reference to `debug_get_tag(unsigned int, char const**)'
ua_dotcmds.c:(.text+0x34ab): undefined reference to `debug_get_tag(unsigned int, char const**)'
ua_dotcmds.o: In function `bvfs_parse_arg(UAContext*, unsigned int*, char**, char**, char**, int*, int*)':
ua_dotcmds.c:(.text+0x3847): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_query.o: In function `querycmd(UAContext*, char const*)':
ua_query.c:(.text+0x3aa): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_query.c:(.text+0x3c6): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_query.c:(.text+0x50e): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_query.c:(.text+0x54c): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_query.o: In function `sqlquerycmd(UAContext*, char const*)':
ua_query.c:(.text+0xbea): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_label.o: In function `do_label(UAContext*, char const*, int)':
ua_label.c:(.text+0x2f8): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x376): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x500): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x627): undefined reference to `BDB::bdb_create_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x666): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
ua_label.c:(.text+0x70f): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x935): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0xa69): undefined reference to `BDB::bdb_delete_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0xaac): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
ua_label.o: In function `update_slots(UAContext*)':
ua_label.c:(.text+0x1234): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_label.c:(.text+0x1248): undefined reference to `BDB::bdb_make_inchanger_unique(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x125b): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_label.c:(.text+0x12c1): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_label.c:(.text+0x131d): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x144e): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_label.c:(.text+0x14a0): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x14fa): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_label.c:(.text+0x1559): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_label.c:(.text+0x158a): undefined reference to `BDB::bdb_make_inchanger_unique(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x15a6): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_label.o: In function `content_send_info(UAContext*, char, int, char*)':
ua_label.c:(.text+0x24b9): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x24f5): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_label.o: In function `status_slots(UAContext*, STORE*)':
ua_label.c:(.text+0x28b3): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x28f1): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_label.o: In function `send_label_request(UAContext*, MEDIA_DBR*, MEDIA_DBR*, POOL_DBR*, int, bool, int)':
ua_label.c:(.text+0x2f82): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x3037): undefined reference to `BDB::bdb_create_media_record(JCR*, MEDIA_DBR*)'
ua_label.c:(.text+0x3077): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
ua_output.o: In function `acl_access_jobid_ok(UAContext*, char const*)':
ua_output.c:(.text+0xa91): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_output.o: In function `do_list_cmd(UAContext*, char const*, e_list_type)':
ua_output.c:(.text+0xdc5): undefined reference to `BDB::bdb_list_job_records(JCR*, JOB_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0xdef): undefined reference to `BDB::bdb_list_job_records(JCR*, JOB_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0xe18): undefined reference to `BDB::bdb_list_job_totals(JCR*, JOB_DBR*, void (*)(void*, char const*), void*)'
ua_output.c:(.text+0xe81): undefined reference to `BDB::bdb_list_job_records(JCR*, JOB_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0xecd): undefined reference to `BDB::bdb_list_job_records(JCR*, JOB_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x10de): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_output.c:(.text+0x1127): undefined reference to `BDB::bdb_list_base_files_for_job(JCR*, unsigned int, void (*)(void*, char const*), void*)'
ua_output.c:(.text+0x11ae): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_output.c:(.text+0x11f7): undefined reference to `BDB::bdb_list_files_for_job(JCR*, unsigned int, void (*)(void*, char const*), void*)'
ua_output.c:(.text+0x126b): undefined reference to `BDB::bdb_list_pool_records(JCR*, POOL_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x1316): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_output.c:(.text+0x1341): undefined reference to `BDB::bdb_list_jobmedia_records(JCR*, unsigned int, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x1372): undefined reference to `BDB::bdb_list_jobmedia_records(JCR*, unsigned int, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x1416): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_output.c:(.text+0x1441): undefined reference to `BDB::bdb_list_joblog_records(JCR*, unsigned int, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x1472): undefined reference to `BDB::bdb_list_joblog_records(JCR*, unsigned int, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x149b): undefined reference to `BDB::bdb_list_client_records(JCR*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x1549): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_output.c:(.text+0x158c): undefined reference to `BDB::bdb_get_job_volume_names(JCR*, unsigned int, char**)'
ua_output.c:(.text+0x17f7): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_output.c:(.text+0x1b17): undefined reference to `BDB::bdb_list_copies_records(JCR*, unsigned int, char*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x1b67): undefined reference to `BDB::bdb_list_media_records(JCR*, MEDIA_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x1bbc): undefined reference to `BDB::bdb_get_pool_ids(JCR*, int*, unsigned int**)'
ua_output.c:(.text+0x1c08): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_output.c:(.text+0x1c58): undefined reference to `BDB::bdb_list_media_records(JCR*, MEDIA_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.c:(.text+0x1cf0): undefined reference to `BDB::bdb_list_media_records(JCR*, MEDIA_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_output.o: In function `complete_jcr_for_job(JCR*, JOB*, POOL*)':
ua_output.c:(.text+0x22c5): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_output.c:(.text+0x2332): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_output.o: In function `do_messages(UAContext*, char const*)':
ua_output.c:(.text+0x2546): undefined reference to `BSOCK::send(int)'
ua_output.o: In function `bmsg(UAContext*, char const*, __va_list_tag*)':
ua_output.c:(.text+0x277e): undefined reference to `BSOCK::send(int)'
ua_prune.o: In function `prunecmd(UAContext*, char const*)':
ua_prune.c:(.text+0x381): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_prune.c:(.text+0x3d7): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_prune.c:(.text+0x5ad): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
ua_prune.c:(.text+0x7a6): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_prune.o: In function `prune_files(UAContext*, CLIENT*, POOL*)':
ua_prune.c:(.text+0x9b0): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_prune.c:(.text+0xbd3): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_prune.o: In function `prune_jobs(UAContext*, CLIENT*, POOL*, int)':
ua_prune.c:(.text+0xdf6): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_prune.c:(.text+0x1079): undefined reference to `BDB::bdb_get_accurate_jobids(JCR*, JOB_DBR*, db_list_ctx*)'
ua_prune.c:(.text+0x124d): undefined reference to `BDB::bdb_get_used_base_jobids(JCR*, char*, db_list_ctx*)'
ua_prune.c:(.text+0x13f6): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_prune.o: In function `prune_volume(UAContext*, MEDIA_DBR*)':
ua_prune.c:(.text+0x164c): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_prune.c:(.text+0x1757): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_prune.o: In function `prune_stats(UAContext*, long)':
ua_prune.c:(.text+0x1812): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_prune.c:(.text+0x185f): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_prune.o: In function `prune_set_filter(UAContext*, CLIENT*, POOL*, long, POOL_MEM*, POOL_MEM*)':
ua_prune.c:(.text+0x19be): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_prune.c:(.text+0x1b29): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_purge.o: In function `purge_files_from_client(UAContext*, CLIENT*)':
ua_purge.c:(.text+0x4ba): undefined reference to `BDB::bdb_create_client_record(JCR*, CLIENT_DBR*)'
ua_purge.o: In function `purge_jobs_from_client(UAContext*, CLIENT*)':
ua_purge.c:(.text+0x70a): undefined reference to `BDB::bdb_create_client_record(JCR*, CLIENT_DBR*)'
ua_purge.o: In function `purge_jobs_from_volume(UAContext*, MEDIA_DBR*, bool)':
ua_purge.c:(.text+0xa0d): undefined reference to `BDB::bdb_get_volume_jobids(JCR*, MEDIA_DBR*, db_list_ctx*)'
ua_purge.o: In function `truncate_cmd(UAContext*, char const*)':
ua_purge.c:(.text+0xd73): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_purge.c:(.text+0xdec): undefined reference to `BDB::bdb_get_media_ids(JCR*, MEDIA_DBR*, int*, unsigned int**)'
ua_purge.c:(.text+0xe5c): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
ua_purge.c:(.text+0x103a): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_purge.o: In function `upgrade_copies(UAContext*, char*)':
ua_purge.c:(.text+0x183e): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_purge.c:(.text+0x18f7): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_purge.o: In function `mark_media_purged(UAContext*, MEDIA_DBR*)':
ua_purge.c:(.text+0x1c51): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_purge.c:(.text+0x1ce4): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_purge.c:(.text+0x1cfb): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_restore.o: In function `restore_cmd(UAContext*, char const*)':
ua_restore.c:(.text+0x9e6): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_restore.c:(.text+0xad9): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_restore.c:(.text+0xb8f): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_restore.c:(.text+0xedf): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_restore.c:(.text+0xf2d): undefined reference to `BDB::bdb_get_accurate_jobids(JCR*, JOB_DBR*, db_list_ctx*)'
ua_restore.c:(.text+0x12cb): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_restore.c:(.text+0x14fa): undefined reference to `BDB::bdb_get_used_base_jobids(JCR*, char*, db_list_ctx*)'
ua_restore.c:(.text+0x15a9): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_restore.c:(.text+0x1754): undefined reference to `BDB::bdb_get_file_list(JCR*, char*, bool, bool, int (*)(void*, int, char**), void*)'
ua_restore.o: In function `select_backups_before_date(UAContext*, RESTORE_CTX*, char*)':
ua_restore.c:(.text+0x31ae): undefined reference to `BDB::bdb_get_fileset_record(JCR*, FILESET_DBR*)'
ua_restore.c:(.text+0x32c0): undefined reference to `BDB::bdb_get_fileset_record(JCR*, FILESET_DBR*)'
ua_restore.c:(.text+0x3378): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_restore.c:(.text+0x3680): undefined reference to `BDB::bdb_list_copies_records(JCR*, unsigned int, char*, void (*)(void*, char const*), void*, e_list_type)'
ua_restore.c:(.text+0x36a9): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_run.o: In function `run_cmd(UAContext*, char const*)':
ua_run.c:(.text+0x9df): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_run.o: In function `restart_cmd(UAContext*, char const*)':
ua_run.c:(.text+0x440f): undefined reference to `BDB::bdb_list_job_records(JCR*, JOB_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_run.c:(.text+0x4612): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_select.o: In function `get_client_dbr(UAContext*, CLIENT_DBR*)':
ua_select.c:(.text+0x184f): undefined reference to `BDB::bdb_get_client_record(JCR*, CLIENT_DBR*)'
ua_select.c:(.text+0x1925): undefined reference to `BDB::bdb_get_client_record(JCR*, CLIENT_DBR*)'
ua_select.o: In function `select_client_dbr(UAContext*, CLIENT_DBR*)':
ua_select.c:(.text+0x19c3): undefined reference to `BDB::bdb_get_client_ids(JCR*, int*, unsigned int**)'
ua_select.c:(.text+0x1a2c): undefined reference to `BDB::bdb_get_client_record(JCR*, CLIENT_DBR*)'
ua_select.c:(.text+0x1aee): undefined reference to `BDB::bdb_get_client_record(JCR*, CLIENT_DBR*)'
ua_select.o: In function `get_pool_dbr(UAContext*, POOL_DBR*, char const*)':
ua_select.c:(.text+0x1bdb): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_select.o: In function `select_pool_dbr(UAContext*, POOL_DBR*, char const*)':
ua_select.c:(.text+0x1d03): undefined reference to `BDB::bdb_get_pool_ids(JCR*, int*, unsigned int**)'
ua_select.c:(.text+0x1d9b): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_select.c:(.text+0x1e82): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_select.c:(.text+0x1f2a): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_select.o: In function `select_pool_and_media_dbr(UAContext*, POOL_DBR*, MEDIA_DBR*)':
ua_select.c:(.text+0x2030): undefined reference to `BDB::bdb_get_pool_record(JCR*, POOL_DBR*)'
ua_select.o: In function `select_media_dbr(UAContext*, MEDIA_DBR*)':
ua_select.c:(.text+0x21e9): undefined reference to `BDB::bdb_list_media_records(JCR*, MEDIA_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_select.c:(.text+0x226e): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
ua_select.o: In function `get_job_dbr(UAContext*, JOB_DBR*)':
ua_select.c:(.text+0x262b): undefined reference to `BDB::bdb_list_job_records(JCR*, JOB_DBR*, void (*)(void*, char const*), void*, e_list_type)'
ua_select.c:(.text+0x2664): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_select.c:(.text+0x26ca): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
snapshot.o: In function `delete_snapshot(UAContext*)':
snapshot.c:(.text+0x383): undefined reference to `BDB::bdb_delete_snapshot_record(JCR*, SNAPSHOT_DBR*)'
snapshot.o: In function `select_snapshot_dbr(UAContext*, SNAPSHOT_DBR*)':
snapshot.c:(.text+0x5d2): undefined reference to `BDB::bdb_list_snapshot_records(JCR*, SNAPSHOT_DBR*, void (*)(void*, char const*), void*, e_list_type)'
snapshot.o: In function `prune_snapshot(UAContext*)':
snapshot.c:(.text+0xebc): undefined reference to `BDB::bdb_list_snapshot_records(JCR*, SNAPSHOT_DBR*, void (*)(void*, char const*), void*, e_list_type)'
snapshot.c:(.text+0x114e): undefined reference to `BDB::bdb_delete_snapshot_record(JCR*, SNAPSHOT_DBR*)'
snapshot.o: In function `get_snapshot_record(UAContext*, SNAPSHOT_DBR*)':
snapshot.c:(.text+0x1439): undefined reference to `BDB::bdb_get_snapshot_record(JCR*, SNAPSHOT_DBR*)'
snapshot.o: In function `snapshot_catreq(JCR*, BSOCK*)':
snapshot.c:(.text+0x1605): undefined reference to `debug_level_tags'
snapshot.c:(.text+0x175d): undefined reference to `debug_level_tags'
snapshot.c:(.text+0x17a4): undefined reference to `BDB::bdb_lock(char const*, int)'
snapshot.c:(.text+0x17ba): undefined reference to `BDB::bdb_create_snapshot_record(JCR*, SNAPSHOT_DBR*)'
snapshot.c:(.text+0x17ec): undefined reference to `BDB::bdb_unlock(char const*, int)'
snapshot.c:(.text+0x191f): undefined reference to `debug_level_tags'
snapshot.c:(.text+0x1975): undefined reference to `BDB::bdb_list_snapshot_records(JCR*, SNAPSHOT_DBR*, void (*)(void*, char const*), void*, e_list_type)'
snapshot.c:(.text+0x1a1a): undefined reference to `debug_level_tags'
snapshot.c:(.text+0x1a64): undefined reference to `BDB::bdb_lock(char const*, int)'
snapshot.c:(.text+0x1a7a): undefined reference to `BDB::bdb_delete_snapshot_record(JCR*, SNAPSHOT_DBR*)'
snapshot.c:(.text+0x1aad): undefined reference to `BDB::bdb_unlock(char const*, int)'
snapshot.o: In function `snapshot_list(UAContext*, int, void (*)(void*, char const*), e_list_type)':
snapshot.c:(.text+0x1cf4): undefined reference to `BDB::bdb_list_snapshot_records(JCR*, SNAPSHOT_DBR*, void (*)(void*, char const*), void*, e_list_type)'
snapshot.o: In function `list_client_snapshot(UAContext*, bool)':
snapshot.c:(.text+0x22f8): undefined reference to `BDB::bdb_get_snapshot_record(JCR*, SNAPSHOT_DBR*)'
snapshot.c:(.text+0x2313): undefined reference to `BDB::bdb_create_snapshot_record(JCR*, SNAPSHOT_DBR*)'
snapshot.o: In function `update_snapretention(UAContext*, char*, SNAPSHOT_DBR*)':
snapshot.c:(.text+0x29fe): undefined reference to `BDB::bdb_lock(char const*, int)'
snapshot.c:(.text+0x2a0e): undefined reference to `BDB::bdb_update_snapshot_record(JCR*, SNAPSHOT_DBR*)'
snapshot.c:(.text+0x2a3e): undefined reference to `BDB::bdb_unlock(char const*, int)'
snapshot.o: In function `update_snapcomment(UAContext*, char*, SNAPSHOT_DBR*)':
snapshot.c:(.text+0x2b7a): undefined reference to `BDB::bdb_lock(char const*, int)'
snapshot.c:(.text+0x2b8c): undefined reference to `BDB::bdb_update_snapshot_record(JCR*, SNAPSHOT_DBR*)'
snapshot.c:(.text+0x2bbb): undefined reference to `BDB::bdb_unlock(char const*, int)'
snapshot.o: In function `SNAPSHOT_DBR::debug(int)':
snapshot.c:(.text._ZN12SNAPSHOT_DBR5debugEi[_ZN12SNAPSHOT_DBR5debugEi]+0x2b): undefined reference to `debug_level_tags'
ua_status.o: In function `list_dir_status_header(UAContext*)':
ua_status.c:(.text+0x4e0): undefined reference to `b_plugin_list'
ua_status.c:(.text+0x529): undefined reference to `b_plugin_list'
ua_status.c:(.text+0x580): undefined reference to `b_plugin_list'
ua_tree.o: In function `estimatecmd(UAContext*, TREE_CTX*)':
ua_tree.c:(.text+0x5f7): undefined reference to `BDB::bdb_get_file_attributes_record(JCR*, char*, JOB_DBR*, FILE_DBR*)'
ua_tree.o: In function `set_extract(UAContext*, s_tree_node*, TREE_CTX*, bool)':
ua_tree.c:(.text+0x17f8): undefined reference to `BDB::bdb_get_file_attributes_record(JCR*, char*, JOB_DBR*, FILE_DBR*)'
ua_tree.o: In function `do_dircmd(UAContext*, TREE_CTX*, bool)':
ua_tree.c:(.text+0x1b92): undefined reference to `BDB::bdb_get_file_attributes_record(JCR*, char*, JOB_DBR*, FILE_DBR*)'
ua_update.o: In function `update_cmd(UAContext*, char const*)':
ua_update.c:(.text+0x203): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
ua_update.o: In function `update_volume(UAContext*)':
ua_update.c:(.text+0x768): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_update.c:(.text+0xef6): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_update.c:(.text+0x1297): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_update.c:(.text+0x1347): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_update.o: In function `update_pool(UAContext*)':
ua_update.c:(.text+0x14f5): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
ua_update.c:(.text+0x1596): undefined reference to `BDB::bdb_list_sql_query(JCR*, char const*, void (*)(void*, char const*), void*, int, e_list_type)'
ua_update.o: In function `update_stats(UAContext*)':
ua_update.c:(.text+0x162b): undefined reference to `BDB::bdb_update_stats(JCR*, long)'
ua_update.o: In function `update_vol_pool(UAContext*, char*, MEDIA_DBR*, POOL_DBR*)':
ua_update.c:(.text+0x1710): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_update.c:(.text+0x17a8): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
ua_update.c:(.text+0x17e3): undefined reference to `BDB::bdb_update_pool_record(JCR*, POOL_DBR*)'
ua_update.c:(.text+0x1833): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_update.o: In function `update_vol_recyclepool(UAContext*, char*, MEDIA_DBR*)':
ua_update.c:(.text+0x196c): undefined reference to `BDB::bdb_lock(char const*, int)'
ua_update.c:(.text+0x1a14): undefined reference to `BDB::bdb_unlock(char const*, int)'
ua_update.o: In function `update_volslot(UAContext*, char*, MEDIA_DBR*)':
ua_update.c:(.text+0x2527): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_update.c:(.text+0x25a6): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_update.o: In function `update_vol_from_pool(UAContext*, MEDIA_DBR*)':
ua_update.c:(.text+0x2674): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_update.c:(.text+0x26b8): undefined reference to `BDB::bdb_update_media_defaults(JCR*, MEDIA_DBR*)'
ua_update.o: In function `update_all_vols_from_pool(UAContext*, char const*)':
ua_update.c:(.text+0x27d5): undefined reference to `BDB::bdb_update_media_defaults(JCR*, MEDIA_DBR*)'
ua_update.o: In function `update_volenabled(UAContext*, char*, MEDIA_DBR*)':
ua_update.c:(.text+0x2882): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_update.o: In function `update_vol_actiononpurge(UAContext*, char*, MEDIA_DBR*)':
ua_update.c:(.text+0x293f): undefined reference to `BDB::bdb_update_media_record(JCR*, MEDIA_DBR*)'
ua_update.o: In function `update_all_vols(UAContext*)':
ua_update.c:(.text+0x2a4f): undefined reference to `BDB::bdb_get_pool_ids(JCR*, int*, unsigned int**)'
ua_update.c:(.text+0x2a9c): undefined reference to `BDB::bdb_get_pool_numvols(JCR*, POOL_DBR*)'
ua_update.c:(.text+0x2ac7): undefined reference to `BDB::bdb_update_media_defaults(JCR*, MEDIA_DBR*)'
vbackup.o: In function `do_vbackup_init(JCR*)':
vbackup.c:(.text+0x105): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
vbackup.o: In function `do_vbackup(JCR*)':
vbackup.c:(.text+0x440): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
vbackup.c:(.text+0x49c): undefined reference to `BDB::bdb_get_accurate_jobids(JCR*, JOB_DBR*, db_list_ctx*)'
vbackup.c:(.text+0x4c9): undefined reference to `BDB::bdb_get_accurate_jobids(JCR*, JOB_DBR*, db_list_ctx*)'
vbackup.c:(.text+0x7d4): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
vbackup.c:(.text+0x826): undefined reference to `BDB::bdb_open_batch_connexion(JCR*)'
vbackup.c:(.text+0x852): undefined reference to `BDB::bdb_get_file_list(JCR*, char*, bool, bool, int (*)(void*, int, char**), void*)'
vbackup.c:(.text+0x9c2): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
vbackup.c:(.text+0xa25): undefined reference to `bdb_write_batch_file_records(JCR*)'
vbackup.o: In function `vbackup_cleanup(JCR*, int)':
vbackup.c:(.text+0xde6): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
vbackup.c:(.text+0xe55): undefined reference to `BDB::bdb_get_client_record(JCR*, CLIENT_DBR*)'
vbackup.c:(.text+0xeb6): undefined reference to `BDB::bdb_get_media_record(JCR*, MEDIA_DBR*)'
vbackup.c:(.text+0x10cc): undefined reference to `BDB::bdb_get_job_volume_names(JCR*, unsigned int, char**)'
verify.o: In function `do_verify(JCR*)':
verify.c:(.text+0x1c7): undefined reference to `BDB::bdb_find_last_jobid(JCR*, char const*, JOB_DBR*)'
verify.c:(.text+0x236): undefined reference to `BDB::bdb_get_job_record(JCR*, JOB_DBR*)'
verify.c:(.text+0x34a): undefined reference to `BDB::bdb_update_job_start_record(JCR*, JOB_DBR*)'
verify.c:(.text+0x824): undefined reference to `bdb_write_batch_file_records(JCR*)'
verify.o: In function `get_attributes_and_compare_to_catalog(JCR*, unsigned int)':
verify.c:(.text+0x11de): undefined reference to `BDB::bdb_get_file_attributes_record(JCR*, char*, JOB_DBR*, FILE_DBR*)'
verify.c:(.text+0x1205): undefined reference to `BDB::bdb_mark_file_record(JCR*, unsigned long, unsigned int)'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make[3]: stopped in /var/ports/basejail/usr/ports/sysutils/bacula-server/work/bacula-7.2.0/src/dird


  ====== Error in /var/ports/basejail/usr/ports/sysutils/bacula-server/work/bacula-7.2.0/src/dird ======


*** Error code 1

Stop.
make[2]: stopped in /var/ports/basejail/usr/ports/sysutils/bacula-server/work/bacula-7.2.0
*** Error code 1

Stop.
make[1]: stopped in /basejail/usr/ports/sysutils/bacula-server
*** Error code 1

Stop.
make: stopped in /basejail/usr/ports/sysutils/bacula-server
ports-play /usr/ports/sysutils/bacula-server #
Comment 10 Larry Rosenman freebsd_committer freebsd_triage 2015-10-18 02:21:39 UTC
*** Bug 192526 has been marked as a duplicate of this bug. ***
Comment 11 Larry Rosenman freebsd_committer freebsd_triage 2015-10-18 02:44:52 UTC
Created attachment 162186 [details]
full compile log

with the CPPFLAGS commented out
Comment 12 Larry Rosenman freebsd_committer freebsd_triage 2015-10-18 02:52:54 UTC
Just ran a verification test,  and with 7.2.0 installed, 7.2.0 compiles/installs fine

\
Comment 13 Dan Langille freebsd_committer freebsd_triage 2015-10-18 15:32:05 UTC
(In reply to Larry Rosenman from comment #12)

Here is what I think happens.

The issue seems to be related to shared libraries, which are installed by sysutil/bacula-client

When crossing major lib numbers (e.g. 5.x to 7.x), everything gets into an evil twist:

  * trying to upgrade bacula-client v5 by installing bacula-client v7
  * can't deinstall v5 because bacula-server v5 needs it

I'm not sure, but that's my theory.
Comment 14 Larry Rosenman freebsd_committer freebsd_triage 2015-10-19 00:33:02 UTC
Created attachment 162194 [details]
proposed fix
Comment 15 Larry Rosenman freebsd_committer freebsd_triage 2015-10-19 00:34:51 UTC
My proposed fix makes the -server port dependent on the -client port being the SAME version, and makes other cleanups to make it work, removing some environment polluting statements.

Ports Folks: Is there a prefered way to make sure the -client port is upgraded AND INSTALLED before -server is built?
Comment 16 Larry Rosenman freebsd_committer freebsd_triage 2015-10-19 00:55:52 UTC
Created attachment 162195 [details]
proposed fix, including the added patch
Comment 17 Dan Langille freebsd_committer freebsd_triage 2015-10-19 17:50:27 UTC
Thank you.

I tried the patch. I made one change because it failed testport (http://services.unixathome.org/poudriere/data/102amd64-clean/2015-10-19_17h30m54s/logs/errors/bacula-server-7.2.0.log):

line 144:

LIB_DEPENDS+=   libpq.so:${PORTSDIR}/databases/postgresql94-client

Clearly, this is not ideal because we are hardcoding the PostgreSQL Version, but it's a work-around for now.

The current block is readline (http://services.unixathome.org/poudriere/data/102amd64-clean/2015-10-19_17h44m08s/logs/errors/bacula-server-7.2.0.log):

--- console.o ---
console.c:363:10: fatal error: 'readline.h' file not found
#include "readline.h"

I found readline.h at /usr/local/include/editline/

This led me to try readline_ARGS=  /usr/local/include/editline but that did not succeed either.
Comment 18 Larry Rosenman freebsd_committer freebsd_triage 2015-10-20 01:26:53 UTC
Created attachment 162221 [details]
Hopefully final version
Comment 19 Larry Rosenman freebsd_committer freebsd_triage 2015-10-20 02:36:21 UTC
Created attachment 162222 [details]
Update patch -

revision to address swills comments in IRC
Comment 20 Larry Rosenman freebsd_committer freebsd_triage 2015-10-20 15:16:34 UTC
these changes move $(LDFLAGS) and $(CONS_LDFLAGS) after all the -L../* for ALL the Makefiles. 

The reason for this is so we pick up the LOCAL version that matches the install version. 

We also change the bacula-client dependency to force -client and -server to have the SAME version. 

This fixes the build with the OLDER version installed, so that we do NOT pick up the installed SHLIBS. 

Also fixed is the readline detection for 11+
Comment 21 Larry Rosenman freebsd_committer freebsd_triage 2015-10-20 17:27:28 UTC
Created attachment 162254 [details]
final patch

This removes my debugging comments, fixes pgsql uses, and fixes readline on <11.
Comment 22 commit-hook freebsd_committer freebsd_triage 2015-10-21 22:46:56 UTC
A commit references this bug:

Author: dvl
Date: Wed Oct 21 22:46:08 UTC 2015
New revision: 399938
URL: https://svnweb.freebsd.org/changeset/ports/399938

Log:
  Improve the upgrade process with respect to shared libraries

  My thanks to Larry Rosenman who did all the heavy lifting on
  this patch. The existing port relied heavily upon an agressive
  sed which seems to have adverse affects.

  Submitted by: ler@lerctr.org
  PR: 193641 193617
  Approved by:    mat (mentor)

Changes:
  head/sysutils/bacula-client/Makefile
  head/sysutils/bacula-server/Makefile
  head/sysutils/bacula-server/Makefile.common
  head/sysutils/bacula-server/files/patch-src__qt-configle__bat.pro.in
  head/sysutils/bacula-server/files/patch-src_console_Makefile.in
  head/sysutils/bacula-server/files/patch-src_dird_Makefile.in
  head/sysutils/bacula-server/files/patch-src_filed_Makefile.in
  head/sysutils/bacula-server/files/patch-src_qt-console_bat.pro.in
  head/sysutils/bacula-server/files/patch-src_stored_Makefile.in
  head/sysutils/bacula-server/files/patch-src_tools_Makefile.in
Comment 23 Dan Langille freebsd_committer freebsd_triage 2015-10-21 22:48:55 UTC
Committed.  Thank you.
Comment 24 Danny McGrath 2017-01-08 00:44:33 UTC
sigh, this is happening again with 7.4.4....
Comment 25 Danny McGrath 2017-01-08 00:57:26 UTC
Seems I was able to solve the libabccfg so issue by installing the binary port once, then I could do a `make reinstall clean` and not run into the issue (For those who may also run into this)