[SERVER-33907] CAPI library should be ABI ready Created: 15/Mar/18  Updated: 29/Oct/23  Resolved: 20/Aug/18

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: None
Fix Version/s: 4.0.0, 4.1.1

Type: Improvement Priority: Major - P3
Reporter: Andrew Morrow (Inactive) Assignee: Andrew Morrow (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
is related to SERVER-36766 Add import/export macros for embedded... Closed
is related to SERVER-36767 Install embedded SDK libraries with S... Closed
Backwards Compatibility: Fully Compatible
Sprint: Platforms 2018-04-23, Platforms 2018-05-21, Platforms 2018-06-04, Platforms 2018-06-18, Platforms 2018-07-16, Platforms 2018-08-13, Platforms 2018-08-27
Participants:

 Description   

Several things to fix here:

  • The library is currently installed without version adornments or ABI tags. It should be installed under an ABI related soname with appropriate symlinks.
  • The headers are currently just installed to $PREFIX/include. They should be installed under a path that includes the project name and an ABI suffix, like libmongoc-1.0, etc.
  • The header file names, and library names should be made more consistent across the CAPI library, the embedded transport, and their associated headers.
  • The symbols in the CAPI header and transport shims should have the ABI version in the symbol names.
  • We should provide export macros with the appropriate visibility expansions, and build the libraries with hidden visibility.
  • The two libraries should have SONAME and or install_name set with version info appropriately interpolated.


 Comments   
Comment by Andrew Morrow (Inactive) [ 20/Aug/18 ]

Remaining work filed under SERVER-36766 and SERVER-36767

Comment by Andrew Morrow (Inactive) [ 20/Aug/18 ]

I'm going to close this ticket out with approximate fixVersions and open new tickets for the remaining work, to keep the backports story easier.

Comment by Githook User [ 07/Jun/18 ]

Author:

{'username': 'acmorrow', 'name': 'Andrew Morrow', 'email': 'acm@mongodb.com'}

Message: SERVER-33907 Fix up outdated references to libmongodbcapi

(cherry picked from commit 424dc423aff51129ef64ff109c7288330570fa28)
Branch: v4.0
https://github.com/mongodb/mongo/commit/f2ff14b25f86cceb47a298c8dfd4176e211e819b

Comment by Githook User [ 07/Jun/18 ]

Author:

{'username': 'acmorrow', 'name': 'Andrew Morrow', 'email': 'acm@mongodb.com'}

Message: SERVER-33907 Fix up outdated references to libmongodbcapi
Branch: master
https://github.com/mongodb/mongo/commit/424dc423aff51129ef64ff109c7288330570fa28

Comment by Githook User [ 30/May/18 ]

Author:

{'username': 'acmorrow', 'name': 'Andrew Morrow', 'email': 'acm@mongodb.com'}

Message: SERVER-33907 Cleanup naming of embedded SDK in preparation for ABI

(cherry picked from commit aea0c0f19b6b61e1d600cda7e69683ad6a9ffed2)
Branch: v4.0
https://github.com/mongodb/mongo/commit/3cb4c2b9abbce0d39ac4d1841fbf9417c32a96a7

Comment by Githook User [ 30/May/18 ]

Author:

{'username': 'acmorrow', 'name': 'Andrew Morrow', 'email': 'acm@mongodb.com'}

Message: SERVER-33907 Cleanup naming of embedded SDK in preparation for ABI
Branch: master
https://github.com/mongodb/mongo/commit/aea0c0f19b6b61e1d600cda7e69683ad6a9ffed2

Generated at Thu Feb 08 04:34:57 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.