Message ID | 20200216091839.31183-1-sean@mess.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v4l-utils] Fix build failure on s390x | expand |
Hi Sean, On Sun, Feb 16, 2020 at 09:18:39AM +0000, Sean Young wrote: > See: https://bugzilla.redhat.com/show_bug.cgi?id=1800228 > > /usr/bin/ld: .libs/libdvbv5_la-dvb-fe.o:(.bss+0x8): multiple definition of `delivery_system_name'; .libs/libdvbv5_la-dvb-v5.o:/builddir/build/BUILD/v4l-utils-1.18.0/lib/libdvbv5/dvb-v5.h:29: first defined here > /usr/bin/ld: .libs/libdvbv5_la-dvb-fe.o:(.bss+0xa8): multiple definition of `dvb_v5_name'; .libs/libdvbv5_la-dvb-v5.o:/builddir/build/BUILD/v4l-utils-1.18.0/lib/libdvbv5/dvb-v5.h:28: first defined here > /usr/bin/ld: .libs/libdvbv5_la-dvb-fe.o:(.rodata+0x3ec): multiple definition of `fe_bandwidth_name'; .libs/libdvbv5_la-dvb-v5.o:/builddir/build/BUILD/v4l-utils-1.18.0/lib/libdvbv5/dvb-v5.h:20: first defined here > > delivery_system_name etc are being defined both in lib/libdvbv5/dvb-v5.c and > lib/libdvbv5/dvb-v5.h. > > Signed-off-by: Sean Young <sean@mess.org> > --- > lib/libdvbv5/gen_dvb_structs.pl | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/lib/libdvbv5/gen_dvb_structs.pl b/lib/libdvbv5/gen_dvb_structs.pl > index 7e1d645c..d15d1fc3 100755 > --- a/lib/libdvbv5/gen_dvb_structs.pl > +++ b/lib/libdvbv5/gen_dvb_structs.pl > @@ -419,6 +419,9 @@ sub output_arrays($$$$$) > } > printf OUT " %s[%i]", $name, $size; > } else { > + if ($decl) { > + printf OUT "extern "; > + } > printf OUT "const %s%s[%i]", $type, $name, $size + 1; > } > Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
diff --git a/lib/libdvbv5/gen_dvb_structs.pl b/lib/libdvbv5/gen_dvb_structs.pl index 7e1d645c..d15d1fc3 100755 --- a/lib/libdvbv5/gen_dvb_structs.pl +++ b/lib/libdvbv5/gen_dvb_structs.pl @@ -419,6 +419,9 @@ sub output_arrays($$$$$) } printf OUT " %s[%i]", $name, $size; } else { + if ($decl) { + printf OUT "extern "; + } printf OUT "const %s%s[%i]", $type, $name, $size + 1; }
See: https://bugzilla.redhat.com/show_bug.cgi?id=1800228 /usr/bin/ld: .libs/libdvbv5_la-dvb-fe.o:(.bss+0x8): multiple definition of `delivery_system_name'; .libs/libdvbv5_la-dvb-v5.o:/builddir/build/BUILD/v4l-utils-1.18.0/lib/libdvbv5/dvb-v5.h:29: first defined here /usr/bin/ld: .libs/libdvbv5_la-dvb-fe.o:(.bss+0xa8): multiple definition of `dvb_v5_name'; .libs/libdvbv5_la-dvb-v5.o:/builddir/build/BUILD/v4l-utils-1.18.0/lib/libdvbv5/dvb-v5.h:28: first defined here /usr/bin/ld: .libs/libdvbv5_la-dvb-fe.o:(.rodata+0x3ec): multiple definition of `fe_bandwidth_name'; .libs/libdvbv5_la-dvb-v5.o:/builddir/build/BUILD/v4l-utils-1.18.0/lib/libdvbv5/dvb-v5.h:20: first defined here delivery_system_name etc are being defined both in lib/libdvbv5/dvb-v5.c and lib/libdvbv5/dvb-v5.h. Signed-off-by: Sean Young <sean@mess.org> --- lib/libdvbv5/gen_dvb_structs.pl | 3 +++ 1 file changed, 3 insertions(+)