Hi, when pushing libguestfs 1.27.53 (1:1.27.53-1) through my build setup befor uploading it to Debian, I noticed that "guestfs_internal_lstatlist@Base", a symbol that has been there since 1.20, is now missing. This causes dpkg-gensymbols(1) whose job it is to compare the symbols from the newly-built libraries to the known state to fail. If the guestfs_internal_* functions are not considered to be part of the ABI (as explained in the 8664337cc39c8575ccb60abb8c6e30f92828ea51 commit message), why are they exported? Cheers, -Hilko
On Wed, Sep 24, 2014 at 10:20:14PM +0200, Hilko Bengen wrote:
Hi,
when pushing libguestfs 1.27.53 (1:1.27.53-1) through my build setup befor uploading it to Debian, I noticed that "guestfs_internal_lstatlist@Base", a symbol that has been there since 1.20, is now missing. This causes dpkg-gensymbols(1) whose job it is to compare the symbols from the newly-built libraries to the known state to fail.
If the guestfs_internal_* functions are not considered to be part of the ABI (as explained in the 8664337cc39c8575ccb60abb8c6e30f92828ea51 commit message), why are they exported?
Yes, those are not part of the ABI. I believe it's a mistake to export them. However if we do drop them, there are at least two tests that won't be able to link (tests/mountable/test-internal-parse-mountable.c & tests/regressions/rhbz914931.c). Also all of the language bindings use guestfs_internal_test_* (but not other guestfs_internal_*) in order to implement the bindtests. What is exported by the linker is controlled by: generator/c.ml function: generate_linker_script (). Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW
* Hilko Bengen:
when pushing libguestfs 1.27.53 (1:1.27.53-1) through my build setup befor uploading it to Debian, I noticed that "guestfs_internal_lstatlist@Base", a symbol that has been there since 1.20, is now missing. This causes dpkg-gensymbols(1) whose job it is to compare the symbols from the newly-built libraries to the known state to fail.
I have now solved that problem by marking the guestfs_internal_* functions as optional in the .symbols file. Cheers, -Hilko
participants (2)
-
Hilko Bengen -
Richard W.M. Jones