Ticket was cloned from Red Hat Bugzilla (product Fedora): Bug 1066137
Created attachment 864264 Add "const" in the right places to fix mismatches Description of problem: Various functions in the directory server are declared with extern "C" linkage, causing the compiler to emit references to an unmangled symbol name, but because their definitions don't match the declarations, and the definitions are compiled using the C++ compiler, the implementations are emitted as mangled symbols. Version-Release number of selected component (if applicable): 389-ds-base-1.3.2.11-2.fc21.x86_64 How reproducible: Always Steps to Reproduce: 1. Run setup-ds.pl Actual results: [17/Feb/2014:13:38:04 -0500] - Netscape Portable Runtime error -5977: /usr/lib64/dirsrv/libns-dshttpd.so.0: undefined symbol: aclDNSLookup [17/Feb/2014:13:38:04 -0500] - Could not open library "/usr/lib64/dirsrv/plugins/libacl-plugin.so" for plugin ACL Plugin [17/Feb/2014:13:38:04 -0500] - Unable to load plugin "cn=ACL Plugin,cn=plugins,cn=config" [17/Feb/2014:14:16:22 -0500] - Netscape Portable Runtime error -5977: /usr/lib64/dirsrv/libns-dshttpd.so.0: undefined symbol: INTereport [17/Feb/2014:14:16:22 -0500] - Could not open library "/usr/lib64/dirsrv/plugins/libacl-plugin.so" for plugin ACL Plugin [17/Feb/2014:14:16:23 -0500] - Unable to load plugin "cn=ACL Plugin,cn=plugins,cn=config"
Description of problem by nalin@redhat.com: Various functions in the directory server are declared with extern "C" linkage, causing the compiler to emit references to an unmangled symbol name, but because their definitions don't match the declarations, and the definitions are compiled using the C++ compiler, the implementations are emitted as mangled symbols.
Fix description: Adjusted the function declaration to the implementation.
Additionally, removed unused macros for ACL_ReadDbMapFile, which had been removed.
git patch file (master) 0001-Ticket-47700-Unresolved-external-symbol-references-b.patch
git patch file (master, take2) -- Using ld option "-z defs", cleaned all the undefined references. 0001-Ticket-47700-Unresolved-external-symbol-references-b.2.patch
Reviewed by Rich (Thank you!!)
Pushed to master: b377d7d..16386dd master -> master commit 16386dd
Pushed to 389-ds-base-1.3.2: 86515d1..e9dd44b 389-ds-base-1.3.2 -> 389-ds-base-1.3.2 commit e9dd44b
Fix compiler warnings:
commit 9698a97
a84dab5..9698a97 master -> master
97fa6d2..ad4f230 389-ds-base-1.3.2 -> 389-ds-base-1.3.2
b92eb1a..c0c8da7 389-ds-base-1.3.1 -> 389-ds-base-1.3.1
Fix compiler warnings 0001-Ticket-47700-Fix-compiler-warnings.patch
With the "Fix compiler warnings" patch, some build fails. {{{ lib/base/pool.cpp: In function 'block_t _create_block(int)': lib/base/pool.cpp:181:84: error: format not a string literal and no format arguments [-Werror=format-security] ereport(LOG_CATASTROPHE, (char )XP_GetAdminStr(DBT_poolCreateBlockOutOfMemory_)); ^ [...] ^ cc1plus: some warnings being treated as errors }}}
I'm reverting the push...
Metadata Update from @mreynolds: - Issue assigned to nhosoi - Issue set to the milestone: 1.3.2.12
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/1036
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Login to comment on this ticket.