git: d049bac0155c - main - databases/ldb21: fix build with lld 17

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sun, 19 Nov 2023 20:10:34 UTC
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d049bac0155cc703dc9d9b731897ec6c03803750

commit d049bac0155cc703dc9d9b731897ec6c03803750
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-11-19 20:05:09 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-11-19 20:10:09 +0000

    databases/ldb21: fix build with lld 17
    
    Building databases/ldb21 with lld 17 results in the following link
    errors:
    
      ld: error: version script assignment of 'LDB_0.9.10' to symbol 'ldb_connect_backend' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.10' to symbol 'ldb_init_module_chain' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.10' to symbol 'ldb_load_modules_list' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.18' to symbol 'ldb_asq_init' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.18' to symbol 'ldb_paged_results_init' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.18' to symbol 'ldb_paged_searches_init' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.18' to symbol 'ldb_rdn_name_init' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.18' to symbol 'ldb_sample_init' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.18' to symbol 'ldb_server_sort_init' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.18' to symbol 'ldb_skel_init' failed: symbol not defined
      ld: error: version script assignment of 'LDB_0.9.18' to symbol 'ldb_tdb_init' failed: symbol not defined
      ld: error: version script assignment of 'LDB_1.1.25' to symbol 'ldb_unpack_data_only_attr_list' failed: symbol not defined
      ld: error: version script assignment of 'LDB_1.1.27' to symbol 'ldb_unpack_data_only_attr_list_flags' failed: symbol not defined
      ld: error: version script assignment of 'local' to symbol '_end' failed: symbol not defined
      ld: error: version script assignment of 'local' to symbol '__bss_start' failed: symbol not defined
      ld: error: version script assignment of 'local' to symbol '_edata' failed: symbol not defined
    
    Since the linker version scripts are generated dynamically, suppress
    errors with lld >= 17 due to these undefined symbols.
    
    PR:             273753
    MFH:            2023Q4
---
 databases/ldb21/Makefile | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/databases/ldb21/Makefile b/databases/ldb21/Makefile
index 0632487f18b3..842dcbcea81f 100644
--- a/databases/ldb21/Makefile
+++ b/databases/ldb21/Makefile
@@ -93,6 +93,11 @@ PLIST_FILES=		include/ldb_version.h \
 CFLAGS+=		-I${LOCALBASE}/include
 LDFLAGS+=		-L${LOCALBASE}/lib
 
+# Some symbols in ldb's linker version scripts are not defined, but since the
+# scripts are generated dynamically, suppress errors with lld >= 17 due to these
+# undefined symbols.
+LDFLAGS+=		-Wl,--undefined-version
+
 .if ! ${PORT_OPTIONS:MMANPAGES}
 CONFIGURE_ENV+=		XSLTPROC="true"
 .else