Mailinglist Archive: opensuse-buildservice (87 mails)

< Previous Next >
Re: [opensuse-buildservice] Different 'Provides' in factory and devel repo
On Thursday 2019-10-17 12:08, Christophe Giboudeaux wrote:

Hello,

I'm seeing a curious issue with the gmic package I submitted to factory a
couple weeks ago.

The package is unresolvable in the devel project:
"nothing provides libgphoto2_port.so.12(LIBGPHOTO2_5_0(64bit) needed by
libdigikamcore6"

The libgphoto2 package has no difference between factory and graphics, but it
has different provides:

graphics:
Provides: libgphoto2-6 = 2.5.23-216.11 libgphoto2-6(x86-64) = 2.5.23-216.11
libgphoto2.so.6()(64bit) libgphoto2_port.so.12()(64bit)

O:F:
Provides: libgphoto2-6 = 2.5.23-1.1 libgphoto2-6(x86-64) = 2.5.23-1.1
libgphoto2.so.6()(64bit) libgphoto2_port.so.12()(64bit) libgphoto2_port.so.
12(LIBGPHOTO2_5_0)(64bit) libgphoto2_port.so.12(LIBGPHOTO2_INTERNAL)(64bit)

$ readelf -aW of.libgphoto2_port.so | grep INTERNAL
... gp_port_info_set_name@@LIBGPHOTO2_INTERNAL +>

$ readelf -aW gr.libgphoto2_port.so | grep gp_port_info_set_name
000000000000c068 0000003d00000007 R_X86_64_JUMP_SLOT 0000000000003ce0
gp_port_info_set_name + 0
61: 0000000000003ce0 72 FUNC GLOBAL DEFAULT 13 gp_port_info_set_name

$ grep -r gp_port_info_set_name | grep ver
libgphoto2-2.5.23/libgphoto2_port/libgphoto2_port/libgphoto2_port.ver:
gp_port_info_set_name;

Hypothesis: -Wl,--version-script not used in graphics.

» sosc bl openSUSE_Tumbleweed x86_64 | grep _port.ver
» sosc rbl openSUSE:Factory/libgphoto2 standard x86_64 | grep _port.ver
[ 195s] /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -Wall
-D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables
-fasynchronous-unwind-tables -fstack-clash-protection -flto=8 -g -Wall
-Wmissing-declarations -Wmissing-prototypes -no-undefined
-Wl,--version-script=./libgphoto2_port.ver -version-info 12:0:0 -flto=8 -o
libgphoto2_port.la -rpath /usr/lib64
libgphoto2_port_la-gphoto2-port-info-list.lo
libgphoto2_port_la-gphoto2-port-log.lo
libgphoto2_port_la-gphoto2-port-version.lo libgphoto2_port_la-gphoto2-port.lo
libgphoto2_port_la-gphoto2-port-portability.lo
libgphoto2_port_la-gphoto2-port-result.lo -lltdl -lpthread
[ 196s] libtool: link: gcc -shared -fPIC -DPIC
.libs/libgphoto2_port_la-gphoto2-port-info-list.o
.libs/libgphoto2_port_la-gphoto2-port-log.o
.libs/libgphoto2_port_la-gphoto2-port-version.o
.libs/libgphoto2_port_la-gphoto2-port.o
.libs/libgphoto2_port_la-gphoto2-port-portability.o
.libs/libgphoto2_port_la-gphoto2-port-result.o -Wl,-rpath -Wl,/usr/lib64
-Wl,-rpath -Wl,/usr/lib64 /usr/lib64/libltdl.so -ldl -lpthread -O2
-fstack-protector-strong -flto=8 -g -Wl,--version-script=./libgphoto2_port.ver
-flto=8 -Wl,-soname -Wl,libgphoto2_port.so.12 -o
.libs/libgphoto2_port.so.12.0.0

Hypothesis confirmed.
Lookup occurrences of --version-script.
Find snippet in configure.ac.

AC_MSG_CHECKING([for asm .symver support])
AC_COMPILE_IFELSE([dnl
int f1() { }
int f2() { }
],[
AC_DEFINE([HAVE_ASM_SYMVERS],1,[Define if there is asm .symver
support.])

VERSIONMAPLDFLAGS="-Wl,--version-script=\$(srcdir)/libgphoto2.ver"

Confer with build logs.

factory:
[ 147s] checking for asm .symver support... yes
graphics:
[ 78s] checking for asm .symver support... no

Confer with config.log for graphics.

(AC_COMPILE_IFELSE) configure:19494: gcc -c -O2 -Wall
-D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables
-fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g
-Wall -Wmissing-declarations -Wmissing-prototypes conftest.c >&5
cc1: some warnings being treated as errors

=> Someone has combined both -Werror and faulty code.

Why factory not affected?
=> Ah, but rebuilding o:F/libgphoto2 __now__ also fails for the same reason.

=> What you see/saw in o:F is an old build result!

What changed?

Note how -Werror=... is between -O2 and -g.
=> Someone added -Werror=... to openSUSE's %optflags lately.
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >