Hello community, here is the log from the commit of package libzbc for openSUSE:Factory checked in at 2020-03-19 19:44:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzbc (Old) and /work/SRC/openSUSE:Factory/.libzbc.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzbc" Thu Mar 19 19:44:59 2020 rev:16 rq:785464 version:5.8.5 Changes: -------- --- /work/SRC/openSUSE:Factory/libzbc/libzbc.changes 2020-03-11 18:47:31.907457708 +0100 +++ /work/SRC/openSUSE:Factory/.libzbc.new.3160/libzbc.changes 2020-03-19 19:48:39.424127233 +0100 @@ -1,0 +2,6 @@ +Mon Mar 16 07:20:10 UTC 2020 - Jan Engelhardt <jeng...@inai.de> + +- Add 0001-build-avoid-double-definition-of-zbc_log_drv-etc.patch + [boo#1166503] + +------------------------------------------------------------------- New: ---- 0001-build-avoid-double-definition-of-zbc_log_drv-etc.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzbc.spec ++++++ --- /var/tmp/diff_new_pack.wWE7jq/_old 2020-03-19 19:48:39.876127494 +0100 +++ /var/tmp/diff_new_pack.wWE7jq/_new 2020-03-19 19:48:39.880127496 +0100 @@ -26,6 +26,7 @@ URL: https://github.com/hgst/libzbc Source: https://github.com/hgst/libzbc/archive/v%version.tar.gz +Patch1: 0001-build-avoid-double-definition-of-zbc_log_drv-etc.patch BuildRequires: autoconf-archive BuildRequires: libtool >= 2 BuildRequires: pkg-config @@ -84,7 +85,7 @@ mkdir obj pushd obj/ %define _configure ../configure -%configure --disable-static --includedir="%_includedir/%name" +%configure --disable-static --includedir="%_includedir/%name" CFLAGS="%optflags -fno-common" make %{?_smp_mflags} popd ++++++ 0001-build-avoid-double-definition-of-zbc_log_drv-etc.patch ++++++ >From abf34849c0b4e43900535a3a5d68753ab1107b65 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt <jeng...@inai.de> Date: Mon, 16 Mar 2020 08:01:44 +0100 Subject: [PATCH] build: avoid double definition of zbc_log_drv etc. Upstream: https://github.com/hgst/libzbc/pull/37 When -fno-common is in use, what compiler writers are trying to make a standard, libzbc fails to build. $ make V=1 Making all in . make[1]: Entering directory '~/libzbc' /bin/sh ./libtool --tag=CC --mode=link gcc -fPIC -fno-common -O2 -g -pthread -Wl,--version-script,./exports -release '5.8.5' -o libzbc.la -rpath /usr/lib lib/libzbc_la-zbc.lo lib/libzbc_la-zbc_block.lo lib/libzbc_la-zbc_sg.lo lib/libzbc_la-zbc_scsi.lo lib/libzbc_la-zbc_ata.lo lib/libzbc_la-zbc_fake.lo libtool: link: gcc -shared -fPIC -DPIC lib/.libs/libzbc_la-zbc.o lib/.libs/libzbc_la-zbc_block.o lib/.libs/libzbc_la-zbc_sg.o lib/.libs/libzbc_la-zbc_scsi.o lib/.libs/libzbc_la-zbc_ata.o lib/.libs/libzbc_la-zbc_fake.o -O2 -g -pthread -Wl,--version-script -Wl,./exports -pthread -Wl,-soname -Wl,libzbc-5.8.5.so -o .libs/libzbc-5.8.5.so /usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: lib/.libs/libzbc_la-zbc_block.o:~/libzbc/lib/zbc.h:269: multiple definition of `zbc_log_level'; lib/.libs/libzbc_la-zbc.o:~/libzbc/lib/zbc.h:269: first defined here /usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: lib/.libs/libzbc_la-zbc_block.o:~/libzbc/lib/zbc.h:195: multiple definition of `zbc_fake_drv'; lib/.libs/libzbc_la-zbc.o:~/libzbc/lib/zbc.h:195: first defined here References: https://bugzilla.suse.com/show_bug.cgi?id=1160244 --- lib/zbc.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/zbc.h b/lib/zbc.h index 7dec298..73d76db 100644 --- a/lib/zbc.h +++ b/lib/zbc.h @@ -177,22 +177,22 @@ static inline void zbc_set_errno(enum zbc_sk sk, enum zbc_asc_ascq asc_ascq) /** * Block device driver (requires kernel support). */ -struct zbc_drv zbc_block_drv; +extern struct zbc_drv zbc_block_drv; /** * ZAC (ATA) device driver (uses SG_IO). */ -struct zbc_drv zbc_ata_drv; +extern struct zbc_drv zbc_ata_drv; /** * ZBC (SCSI) device driver (uses SG_IO). */ -struct zbc_drv zbc_scsi_drv; +extern struct zbc_drv zbc_scsi_drv; /** * ZBC emulation driver (file or block device). */ -struct zbc_drv zbc_fake_drv; +extern struct zbc_drv zbc_fake_drv; #define container_of(ptr, type, member) \ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member))) @@ -266,7 +266,7 @@ enum { /** * Library log level. */ -int zbc_log_level; +extern int zbc_log_level; #define zbc_print(stream,format,args...) \ do { \ -- 2.25.1