After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 539310 - bad libtool usage breaks soname compat
bad libtool usage breaks soname compat
Status: RESOLVED FIXED
Product: libgda
Classification: Other
Component: general
3.1.x
Other Mac OS
: Normal major
: ---
Assigned To: malerba
gnome-db Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-06-20 15:57 UTC by Daniel Macks
Modified: 2008-11-17 10:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Daniel Macks 2008-06-20 15:57:43 UTC
Going from libgda-3.1.2 to 3.1.4, configure.in makes the following change:

 # Making releases:
 # - If interfaces have been changed or added, set GDA_CURRENT += 1 and GDA_AGE += 1, set GDA_REVISION to 0.
 # - If binary compatibility has been broken (e.g. removed or changed interfaces), set GDA_CURRENT += 1, GDA_REVISION and GDA_AGE to 0
 # - If interfaces is the same as the previous version, set GDA_REVISION += 1
 #
 GDA_CURRENT=3
 GDA_REVISION=0
-GDA_AGE=0
+GDA_AGE=1


"Just _AGE+=1" is not one of the options for how to do things. But the effective meaning (if not the intended meaning) is clear: there have been changes to the interface. The libtool effect of that change via

 -version-info $(GDA_CURRENT):$(GDA_REVISION):$(GDA_AGE)

is clear also: changed the install_name, an OS X concept comparable to SONAME. 

The result is that installing 3.1.4 gives different shared-library filenames than 3.1.2 did. If I upgrade libgda-3.1.2 to 3.1.4, everything I had compiled against the old one is hopelessly broken and requires recompiling from source.
Comment 1 Murray Cumming 2008-11-17 10:09:32 UTC
Vivien, you did this with this commit:

2007-11-06  Vivien Malerba <malerba {at} gnome-db.org>

	* libgda/sqlite/gda-sqlite-provider.c: correction for bug #493360
	* libgda.spec.in: corrections from Petr "Qaxi" Klíma
	* tests/queries/check_gdaquery.c: make sure the test is completely executed
	* tests/queries/basic_sql.xml: new test
	* tests/queries/bug_param_sql.xml: removed useless test
	* configure.in: set GDA_AGE to 1


Please be more careful in future.

However, not that libgda 3.1.x was an unstable release likely to break in odd ways so this was not critical.

Closing because it obviously can't be changed back now.