Leap:15.3:Update: freshly branched project fails to build - why?
Hi *, I'm wondering how it could be that a freshly branched maintenance project in Leap:15.3 fails to build? It looks as if the coreutils package was once built and copied from SLE, and then a newer glibs>=2.28 was installed in Leap:15.3 without triggering a rebuild of coreutils. Is this true? Why? Shouldn't have a new build cycle been started when updating glibc? Reproducer: $ osc branch -M openSUSE:Leap:15.3:Update coreutils home:berny:leap153/coreutils $ osc co home:berny:leap153/coreutils.openSUSE_Leap_15.3_Update $ cd home:berny:leap153/coreutils.openSUSE_Leap_15.3_Update $ osc build --noverify coreutils.spec FWIW: I needed the --noverify because of this: /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/x86_64/libpopt0-1.16-bp153.1.14.x86_64.rpm : public key not available /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/noarch/rpmlint-Factory-1.0-bp153.2.6.noarch.rpm : public key not available /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/noarch/rpmlint-Factory-strict-1.0-bp153.2.6.noarch.rpm : public key not available Build error: https://build.opensuse.org/package/show/home:berny:leap153/coreutils.openSUS... [ 158s] gcc -I. -I./lib -Ilib -I./lib -Isrc -I./src -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -c -o lib/fseeko.o lib/fseeko.c [ 158s] lib/freadahead.c: In function 'freadahead': [ 158s] lib/freadahead.c:97:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." [ 158s] #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." [ 158s] ^~~~~ [ 158s] lib/freadahead.c:99:1: warning: control reaches end of non-void function [-Wreturn-type] [ 158s] } [ 158s] ^ [ 158s] make[2]: *** [Makefile:9139: lib/freadahead.o] Error 1 The glibc change requires this gnulib patch: https://git.sv.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a71827 Have a nice day, Berny
On 2/15/21 10:11 AM, Bernhard Voelker wrote:
Hi *,
I'm wondering how it could be that a freshly branched maintenance project in Leap:15.3 fails to build?
It looks as if the coreutils package was once built and copied from SLE, and then a newer glibs>=2.28 was installed in Leap:15.3 without triggering a rebuild of coreutils.
Is this true? Why? Shouldn't have a new build cycle been started when updating glibc?
SLE packages don't automatically get rebuilt and re released when dependencies change. That would make the QA workload too high, SLE packages need to remain binary compatable so there isn't a strict need to rebuild them from that perspective. As we are finding out while trying to rebuild all of armv7l it can lead to rebuild issues.
Reproducer:
$ osc branch -M openSUSE:Leap:15.3:Update coreutils home:berny:leap153/coreutils $ osc co home:berny:leap153/coreutils.openSUSE_Leap_15.3_Update $ cd home:berny:leap153/coreutils.openSUSE_Leap_15.3_Update $ osc build --noverify coreutils.spec
FWIW: I needed the --noverify because of this: /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/x86_64/libpopt0-1.16-bp153.1.14.x86_64.rpm : public key not available /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/noarch/rpmlint-Factory-1.0-bp153.2.6.noarch.rpm : public key not available /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/noarch/rpmlint-Factory-strict-1.0-bp153.2.6.noarch.rpm : public key not available
Build error: https://build.opensuse.org/package/show/home:berny:leap153/coreutils.openSUS...
[ 158s] gcc -I. -I./lib -Ilib -I./lib -Isrc -I./src -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -c -o lib/fseeko.o lib/fseeko.c [ 158s] lib/freadahead.c: In function 'freadahead': [ 158s] lib/freadahead.c:97:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." [ 158s] #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." [ 158s] ^~~~~ [ 158s] lib/freadahead.c:99:1: warning: control reaches end of non-void function [-Wreturn-type] [ 158s] } [ 158s] ^ [ 158s] make[2]: *** [Makefile:9139: lib/freadahead.o] Error 1
The glibc change requires this gnulib patch: https://git.sv.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a71827
Please file a bug report with this info if one doesn't already exist and then the maintainer will be notified. Thanks -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
On Montag, 15. Februar 2021, 00:41:34 CET Bernhard Voelker wrote:
Hi *,
I'm wondering how it could be that a freshly branched maintenance project in Leap:15.3 fails to build?
It looks as if the coreutils package was once built and copied from SLE, and then a newer glibs>=2.28 was installed in Leap:15.3 without triggering a rebuild of coreutils.
Is this true? Why? Shouldn't have a new build cycle been started when updating glibc?
Reproducer:
$ osc branch -M openSUSE:Leap:15.3:Update coreutils home:berny:leap153/coreutils $ osc co home:berny:leap153/coreutils.openSUSE_Leap_15.3_Update $ cd home:berny:leap153/coreutils.openSUSE_Leap_15.3_Update $ osc build --noverify coreutils.spec
FWIW: I needed the --noverify because of this: /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/x86_64/libpopt0-1.16-bp153.1.14.x86_64.rpm : public key not available /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/noarch/rpmlint-Factory-1.0-bp153.2.6.noarch.rpm : public key not available /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/noarch/rpmlint-Factory-strict-1.0-bp153.2.6.noarch.rpm : public key not available
You do not have registered the Backports key as trusted key. This will be default in 15.3, since a large part of 15.3 will be Backports stuff. You can import it now by running # osc signkey openSUSE:Backports:SLE-15-SP3 > file as root: # rpm --import file or you can build in secure environments, if you do not want to trust this key: # osc build --vm-type=kvm ....
Build error: https://build.opensuse.org/package/show/home:berny:leap153/coreutils.openSUS...
[ 158s] gcc -I. -I./lib -Ilib -I./lib -Isrc -I./src -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -c -o lib/fseeko.o lib/fseeko.c [ 158s] lib/freadahead.c: In function 'freadahead': [ 158s] lib/freadahead.c:97:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." [ 158s] #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." [ 158s] ^~~~~ [ 158s] lib/freadahead.c:99:1: warning: control reaches end of non-void function [-Wreturn-type] [ 158s] } [ 158s] ^ [ 158s] make[2]: *** [Makefile:9139: lib/freadahead.o] Error 1
I can not help you with that unfortunatly. It seems it breaks with the new glibc from SP3 ... -- Adrian Schroeter <adrian@suse.de> Build Infrastructure Project Manager SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany (HRB 247165, AG München), Geschäftsführer: Felix Imendörffer
On Montag, 15. Februar 2021, 08:44:01 CET Adrian Schröter wrote:
On Montag, 15. Februar 2021, 00:41:34 CET Bernhard Voelker wrote:
Hi *,
I'm wondering how it could be that a freshly branched maintenance project in Leap:15.3 fails to build?
It looks as if the coreutils package was once built and copied from SLE, and then a newer glibs>=2.28 was installed in Leap:15.3 without triggering a rebuild of coreutils.
Is this true? Why? Shouldn't have a new build cycle been started when updating glibc?
Reproducer:
$ osc branch -M openSUSE:Leap:15.3:Update coreutils home:berny:leap153/coreutils $ osc co home:berny:leap153/coreutils.openSUSE_Leap_15.3_Update $ cd home:berny:leap153/coreutils.openSUSE_Leap_15.3_Update $ osc build --noverify coreutils.spec
FWIW: I needed the --noverify because of this: /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/x86_64/libpopt0-1.16-bp153.1.14.x86_64.rpm : public key not available /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/noarch/rpmlint-Factory-1.0-bp153.2.6.noarch.rpm : public key not available /var/tmp/osbuild-packagecache/openSUSE:Backports:SLE-15-SP3/standard/noarch/rpmlint-Factory-strict-1.0-bp153.2.6.noarch.rpm : public key not available
You do not have registered the Backports key as trusted key.
This will be default in 15.3, since a large part of 15.3 will be Backports stuff.
You can import it now by running
# osc signkey openSUSE:Backports:SLE-15-SP3 > file
as root:
# rpm --import file
or you can build in secure environments, if you do not want to trust this key:
# osc build --vm-type=kvm ....
Build error: https://build.opensuse.org/package/show/home:berny:leap153/coreutils.openSUS...
[ 158s] gcc -I. -I./lib -Ilib -I./lib -Isrc -I./src -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -c -o lib/fseeko.o lib/fseeko.c [ 158s] lib/freadahead.c: In function 'freadahead': [ 158s] lib/freadahead.c:97:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." [ 158s] #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib." [ 158s] ^~~~~ [ 158s] lib/freadahead.c:99:1: warning: control reaches end of non-void function [-Wreturn-type] [ 158s] } [ 158s] ^ [ 158s] make[2]: *** [Makefile:9139: lib/freadahead.o] Error 1
I can not help you with that unfortunatly. It seems it breaks with the new glibc from SP3 ...
The root cause is that there was a wrong attribute set in the :Update project. When you branch it now, it will build in the right project and against the right glibc. Lubos, I removed OBS:BranchTarget which must not exist there. Except you really want to forward port really sources ... -- Adrian Schroeter <adrian@suse.de> Build Infrastructure Project Manager SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany (HRB 247165, AG München), Geschäftsführer: Felix Imendörffer
On 2/15/21 9:21 AM, Adrian Schröter wrote:
The root cause is that there was a wrong attribute set in the :Update project.
When you branch it now, it will build in the right project and against the right glibc.
That explains it. Now it indeed branches off from SUSE_SLE-15_Update. Thanks & have a nice day, Berny
participants (3)
-
Adrian Schröter
-
Bernhard Voelker
-
Simon Lees