[CDRIVER-1870] Wrong soname with CMake build on Linux Created: 20/Oct/16  Updated: 11/Sep/19  Resolved: 11/Nov/16

Status: Closed
Project: C Driver
Component/s: Build, libbson, libmongoc
Affects Version/s: 1.5.0
Fix Version/s: 1.5.0

Type: Task Priority: Major - P3
Reporter: A. Jesse Jiryu Davis Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

https://abi-laboratory.pro/tracker/objects_report/mongo-c-driver/1.4.2/current/report.html

Did we inadvertently change the soname, perhaps in CDRIVER-1347? Also check on libbson.

Update: CMake builds create sonames like "libmongoc-1.0.so.1" but the Autotools create sonames like "libmongoc-1.0.so.0". Presumably these should be the same.



 Comments   
Comment by A. Jesse Jiryu Davis [ 09/Nov/16 ]

I propose closing this "won't fix". Our documentation only mentions CMake builds for Windows, not for Linux. We could make a special section "Building on Linux with CMake", and the only purpose of that section would be to note the odd soname. But that clutters our install instructions with almost no benefit.

Comment by Hannes Magnusson [ 28/Oct/16 ]

cmake takes this from the version:

./build-0.5.0/libbson-1.0.so
./build-0.5.0/libbson-1.0.so.0
./build-0.5.0/libbson-1.0.so.0.5.0
./build-0.6.0/libbson-1.0.so
./build-0.6.0/libbson-1.0.so.0
./build-0.6.0/libbson-1.0.so.0.6.0
./build-0.6.2/libbson-1.0.so
./build-0.6.2/libbson-1.0.so.0
./build-0.6.2/libbson-1.0.so.0.6.2
./build-0.6.4/libbson-1.0.so
./build-0.6.4/libbson-1.0.so.0
./build-0.6.4/libbson-1.0.so.0.6.4
./build-0.6.6/libbson-1.0.so
./build-0.6.6/libbson-1.0.so.0
./build-0.6.6/libbson-1.0.so.0.6.6
./build-0.6.8/libbson-1.0.so
./build-0.6.8/libbson-1.0.so.0
./build-0.6.8/libbson-1.0.so.0.6.8
./build-0.8.0/libbson-1.0.so
./build-0.8.0/libbson-1.0.so.0
./build-0.8.0/libbson-1.0.so.0.8.0
./build-0.8.2/libbson-1.0.so
./build-0.8.2/libbson-1.0.so.0
./build-0.8.2/libbson-1.0.so.0.8.2
./build-0.8.4/libbson-1.0.so
./build-0.8.4/libbson-1.0.so.0
./build-0.8.4/libbson-1.0.so.0.8.4
./build-0.98.0/libbson-1.0.so
./build-0.98.0/libbson-1.0.so.0
./build-0.98.0/libbson-1.0.so.0.98.0
./build-1.0.0/libbson-1.0.so
./build-1.0.0/libbson-1.0.so.1
./build-1.0.0/libbson-1.0.so.1.0.0
./build-1.0.2/libbson-1.0.so
./build-1.0.2/libbson-1.0.so.1
./build-1.0.2/libbson-1.0.so.1.0.2
./build-1.1.0/libbson-1.0.so
./build-1.1.0/libbson-1.0.so.1
./build-1.1.0/libbson-1.0.so.1.1.0
./build-1.1.0-rc0/libbson-1.0.so
./build-1.1.0-rc0/libbson-1.0.so.1
./build-1.1.0-rc0/libbson-1.0.so.1.1.0-rc0
./build-1.1.10/libbson-1.0.so
./build-1.1.10/libbson-1.0.so.1
./build-1.1.10/libbson-1.0.so.1.1.10
./build-1.1.11/libbson-1.0.so
./build-1.1.11/libbson-1.0.so.1
./build-1.1.11/libbson-1.0.so.1.1.11
./build-1.1.2/libbson-1.0.so
./build-1.1.2/libbson-1.0.so.1
./build-1.1.2/libbson-1.0.so.1.1.2
./build-1.1.4/libbson-1.0.so
./build-1.1.4/libbson-1.0.so.1
./build-1.1.4/libbson-1.0.so.1.1.4
./build-1.1.5/libbson-1.0.so
./build-1.1.5/libbson-1.0.so.1
./build-1.1.5/libbson-1.0.so.1.1.5
./build-1.1.6/libbson-1.0.so
./build-1.1.6/libbson-1.0.so.1
./build-1.1.6/libbson-1.0.so.1.1.6
./build-1.1.7/libbson-1.0.so
./build-1.1.7/libbson-1.0.so.1
./build-1.1.7/libbson-1.0.so.1.1.7
./build-1.1.8/libbson-1.0.so
./build-1.1.8/libbson-1.0.so.1
./build-1.1.8/libbson-1.0.so.1.1.8
./build-1.1.9/libbson-1.0.so
./build-1.1.9/libbson-1.0.so.1
./build-1.1.9/libbson-1.0.so.1.1.9
./build-1.2.0-beta/libbson-1.0.so
./build-1.2.0-beta/libbson-1.0.so.1
./build-1.2.0-beta/libbson-1.0.so.1.2.0-beta
./build-1.2.2/libbson-1.0.so
./build-1.2.2/libbson-1.0.so.1
./build-1.2.2/libbson-1.0.so.1.2.2
./build-1.2.3/libbson-1.0.so
./build-1.2.3/libbson-1.0.so.1
./build-1.2.3/libbson-1.0.so.1.2.3
./build-1.2.4/libbson-1.0.so
./build-1.2.4/libbson-1.0.so.1
./build-1.2.4/libbson-1.0.so.1.2.4
./build-1.3.0-beta0/libbson-1.0.so
./build-1.3.0-beta0/libbson-1.0.so.1
./build-1.3.0-beta0/libbson-1.0.so.1.3.0-beta0
./build-1.3.0/libbson-1.0.so
./build-1.3.0/libbson-1.0.so.1
./build-1.3.0/libbson-1.0.so.1.3.0
./build-1.3.0-rc0/libbson-1.0.so
./build-1.3.0-rc0/libbson-1.0.so.1
./build-1.3.0-rc0/libbson-1.0.so.1.3.0-rc0
./build-1.3.1/libbson-1.0.so
./build-1.3.1/libbson-1.0.so.1
./build-1.3.1/libbson-1.0.so.1.3.1
./build-1.3.2/libbson-1.0.so
./build-1.3.2/libbson-1.0.so.1
./build-1.3.2/libbson-1.0.so.1.3.2
./build-1.3.3/libbson-1.0.so
./build-1.3.3/libbson-1.0.so.1
./build-1.3.3/libbson-1.0.so.1.3.3
./build-1.3.4/libbson-1.0.so
./build-1.3.4/libbson-1.0.so.1
./build-1.3.4/libbson-1.0.so.1.3.4
./build-1.3.5/libbson-1.0.so
./build-1.3.5/libbson-1.0.so.1
./build-1.3.5/libbson-1.0.so.1.3.5
./build-1.4.0-beta0/libbson-1.0.so
./build-1.4.0-beta0/libbson-1.0.so.1
./build-1.4.0-beta0/libbson-1.0.so.1.4.0-beta0
./build-1.4.0-beta1/libbson-1.0.so
./build-1.4.0-beta1/libbson-1.0.so.1
./build-1.4.0-beta1/libbson-1.0.so.1.4.0-beta1
./build-1.4.0/libbson-1.0.so
./build-1.4.0/libbson-1.0.so.1
./build-1.4.0/libbson-1.0.so.1.4.0

while autotools has always generated 0.0.0:

autobuild-0.6.0/.libs/libbson-1.0.so
autobuild-0.6.0/.libs/libbson-1.0.so.0
autobuild-0.6.0/.libs/libbson-1.0.so.0.0.0
autobuild-0.6.2/.libs/libbson-1.0.so
autobuild-0.6.2/.libs/libbson-1.0.so.0
autobuild-0.6.2/.libs/libbson-1.0.so.0.0.0
autobuild-0.6.4/.libs/libbson-1.0.so
autobuild-0.6.4/.libs/libbson-1.0.so.0
autobuild-0.6.4/.libs/libbson-1.0.so.0.0.0
autobuild-0.8.0/.libs/libbson-1.0.so
autobuild-0.8.0/.libs/libbson-1.0.so.0
autobuild-0.8.0/.libs/libbson-1.0.so.0.0.0
autobuild-0.8.2/.libs/libbson-1.0.so
autobuild-0.8.2/.libs/libbson-1.0.so.0
autobuild-0.8.2/.libs/libbson-1.0.so.0.0.0
autobuild-0.8.4/.libs/libbson-1.0.so
autobuild-0.8.4/.libs/libbson-1.0.so.0
autobuild-0.8.4/.libs/libbson-1.0.so.0.0.0
autobuild-0.98.0/.libs/libbson-1.0.so
autobuild-0.98.0/.libs/libbson-1.0.so.0
autobuild-0.98.0/.libs/libbson-1.0.so.0.0.0
autobuild-1.0.0/.libs/libbson-1.0.so
autobuild-1.0.0/.libs/libbson-1.0.so.0
autobuild-1.0.0/.libs/libbson-1.0.so.0.0.0
autobuild-1.0.2/.libs/libbson-1.0.so
autobuild-1.0.2/.libs/libbson-1.0.so.0
autobuild-1.0.2/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.0/.libs/libbson-1.0.so
autobuild-1.1.0/.libs/libbson-1.0.so.0
autobuild-1.1.0/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.0-rc0/.libs/libbson-1.0.so
autobuild-1.1.0-rc0/.libs/libbson-1.0.so.0
autobuild-1.1.0-rc0/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.10/.libs/libbson-1.0.so
autobuild-1.1.10/.libs/libbson-1.0.so.0
autobuild-1.1.10/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.11/.libs/libbson-1.0.so
autobuild-1.1.11/.libs/libbson-1.0.so.0
autobuild-1.1.11/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.2/.libs/libbson-1.0.so
autobuild-1.1.2/.libs/libbson-1.0.so.0
autobuild-1.1.2/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.4/.libs/libbson-1.0.so
autobuild-1.1.4/.libs/libbson-1.0.so.0
autobuild-1.1.4/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.5/.libs/libbson-1.0.so
autobuild-1.1.5/.libs/libbson-1.0.so.0
autobuild-1.1.5/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.6/.libs/libbson-1.0.so
autobuild-1.1.6/.libs/libbson-1.0.so.0
autobuild-1.1.6/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.7/.libs/libbson-1.0.so
autobuild-1.1.7/.libs/libbson-1.0.so.0
autobuild-1.1.7/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.8/.libs/libbson-1.0.so
autobuild-1.1.8/.libs/libbson-1.0.so.0
autobuild-1.1.8/.libs/libbson-1.0.so.0.0.0
autobuild-1.1.9/.libs/libbson-1.0.so
autobuild-1.1.9/.libs/libbson-1.0.so.0
autobuild-1.1.9/.libs/libbson-1.0.so.0.0.0
autobuild-1.2.0/.libs/libbson-1.0.so
autobuild-1.2.0/.libs/libbson-1.0.so.0
autobuild-1.2.0/.libs/libbson-1.0.so.0.0.0
autobuild-1.2.0-beta/.libs/libbson-1.0.so
autobuild-1.2.0-beta/.libs/libbson-1.0.so.0
autobuild-1.2.0-beta/.libs/libbson-1.0.so.0.0.0
autobuild-1.2.0-rc0/.libs/libbson-1.0.so
autobuild-1.2.0-rc0/.libs/libbson-1.0.so.0
autobuild-1.2.0-rc0/.libs/libbson-1.0.so.0.0.0
autobuild-1.2.1/.libs/libbson-1.0.so
autobuild-1.2.1/.libs/libbson-1.0.so.0
autobuild-1.2.1/.libs/libbson-1.0.so.0.0.0
autobuild-1.2.2/.libs/libbson-1.0.so
autobuild-1.2.2/.libs/libbson-1.0.so.0
autobuild-1.2.2/.libs/libbson-1.0.so.0.0.0
autobuild-1.2.3/.libs/libbson-1.0.so
autobuild-1.2.3/.libs/libbson-1.0.so.0
autobuild-1.2.3/.libs/libbson-1.0.so.0.0.0
autobuild-1.2.4/.libs/libbson-1.0.so
autobuild-1.2.4/.libs/libbson-1.0.so.0
autobuild-1.2.4/.libs/libbson-1.0.so.0.0.0
autobuild-1.3.0/.libs/libbson-1.0.so
autobuild-1.3.0/.libs/libbson-1.0.so.0
autobuild-1.3.0/.libs/libbson-1.0.so.0.0.0
autobuild-1.3.0-beta0/.libs/libbson-1.0.so
autobuild-1.3.0-beta0/.libs/libbson-1.0.so.0
autobuild-1.3.0-beta0/.libs/libbson-1.0.so.0.0.0
autobuild-1.3.0-rc0/.libs/libbson-1.0.so
autobuild-1.3.0-rc0/.libs/libbson-1.0.so.0
autobuild-1.3.0-rc0/.libs/libbson-1.0.so.0.0.0
autobuild-1.3.1/.libs/libbson-1.0.so
autobuild-1.3.1/.libs/libbson-1.0.so.0
autobuild-1.3.1/.libs/libbson-1.0.so.0.0.0
autobuild-1.3.2/.libs/libbson-1.0.so
autobuild-1.3.2/.libs/libbson-1.0.so.0
autobuild-1.3.2/.libs/libbson-1.0.so.0.0.0
autobuild-1.3.3/.libs/libbson-1.0.so
autobuild-1.3.3/.libs/libbson-1.0.so.0
autobuild-1.3.3/.libs/libbson-1.0.so.0.0.0
autobuild-1.3.4/.libs/libbson-1.0.so
autobuild-1.3.4/.libs/libbson-1.0.so.0
autobuild-1.3.4/.libs/libbson-1.0.so.0.0.0
autobuild-1.3.5/.libs/libbson-1.0.so
autobuild-1.3.5/.libs/libbson-1.0.so.0
autobuild-1.3.5/.libs/libbson-1.0.so.0.0.0
autobuild-1.4.0/.libs/libbson-1.0.so
autobuild-1.4.0/.libs/libbson-1.0.so.0
autobuild-1.4.0/.libs/libbson-1.0.so.0.0.0
autobuild-1.4.0-beta0/.libs/libbson-1.0.so
autobuild-1.4.0-beta0/.libs/libbson-1.0.so.0
autobuild-1.4.0-beta0/.libs/libbson-1.0.so.0.0.0
autobuild-1.4.0-beta1/.libs/libbson-1.0.so
autobuild-1.4.0-beta1/.libs/libbson-1.0.so.0
autobuild-1.4.0-beta1/.libs/libbson-1.0.so.0.0.0

Comment by A. Jesse Jiryu Davis [ 26/Oct/16 ]

The ABI-Checker author Andrey Ponomarenko points out that CMake build, at least on linux, generates sonames libbson-1.0.so.1 and libmongoc-1.0.so.1.

Comment by A. Jesse Jiryu Davis [ 24/Oct/16 ]

I believe this was a problem with a past build used by the ABI checker tool, not a problem in our own build scripts.

Comment by A. Jesse Jiryu Davis [ 20/Oct/16 ]

I think this is an ABI-Checker issue. Our soname continues to be libmongoc-1.0.so.0.

Generated at Wed Feb 07 21:13:28 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.