Incompatible change in libgc with no soname bump

Rex Dieter rdieter at math.unl.edu
Thu May 15 16:52:17 UTC 2014


On 05/15/2014 10:44 AM, Jerry James wrote:
> %{_libdir}/libgc.so.1.0.3 exists in both F-20 and Rawhide, and both
> have an soname of libgc.so.1, but the two libraries are NOT
> compatible.  I just discovered this by accident while trying to
> rebuild ecl for a totally different reason.  It fails like so:
>
> libeclmin.a(alloc_2.o): In function `init_alloc':
> /builddir/build/BUILD/ecl-13.5.1/src/c/alloc_2.d:1091: undefined
> reference to `GC_start_call_back'
> libeclmin.a(alloc_2.o): In function `si_gc_stats':
> /builddir/build/BUILD/ecl-13.5.1/src/c/alloc_2.d:1214: undefined
> reference to `GC_print_stats'
> /builddir/build/BUILD/ecl-13.5.1/src/c/alloc_2.d:1237: undefined
> reference to `GC_print_stats'
> /builddir/build/BUILD/ecl-13.5.1/src/c/alloc_2.d:1230: undefined
> reference to `GC_print_stats'
> collect2: error: ld returned 1 exit status
> make[1]: *** [ecl_min] Error 1

I think neither of those were ever intended to be part of gc's public API.

GC_print_stats is private.
There is a public GC_start_callback function (not sure how compatible it 
is as a replacement for ecl's use of GC_start_call_back)

I've re-purposed this bug,
https://bugzilla.redhat.com/show_bug.cgi?id=1039345
to track issues related to this gc-7.4.x upgrade, please block this if 
filing any new bugs.


-- Rex


More information about the devel mailing list