On Thu, Apr 23, 2020 at 05:55:14PM +0100, Richard W.M. Jones wrote: > When compiling when an older nbdkit is installed, the build would fail > because certain symbols such as .get_ready were not defined: > > ../../src/libguestfs.org/nbdkit/nbdkit.go:541:8: plugin.get_ready undefined > (type _Ctype_struct_nbdkit_plugin has no field or method get_ready) > > This happens because we were using the installed <nbdkit-plugin.h> > rather than the local copy. > > We don't want to modify the *.go files themselves as they might be > copied into other projects. Instead we can set PKG_CONFIG to point to > a fake pkg-config binary which will return the correct CFLAGS. > > Fixes: commit 1ff44288ae1cf95428283e252edd9474c3fe3b55 > Thanks: Dan Berrangé, Eric Blake
> +# This fake pkg-config program is used to trick cgo so that > +# "#cgo pkg-config nbdkit" lines are processed relative to the local > +# directory and not the installed nbdkit. > + > +case "$1" in > + --cflags*) echo "-I@abs_top_builddir@/include" ;; > + *) ;; > +esac Don't you need something like this too: --libs) echo "-L@abs_top_builddir@/lib -lnbdkit" The installed nbdkit.pc would do this I presume. Or are you happy relying on the allow undefined symbols LDFLAGS Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
