[Bug 1204587] New: FTBFS: openSUSE:Factory/crash fails to build
http://bugzilla.opensuse.org/show_bug.cgi?id=1204587 Bug ID: 1204587 Summary: FTBFS: openSUSE:Factory/crash fails to build Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-bugs@opensuse.org Reporter: dimstar@opensuse.org QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- The package crash fails to build in openSUSE:Factory. Earlier notifications by email to the bugowner and Maintainer have remained without reaction / fix. If the package is not being fixed within 2 weeks, it will be scheduled for removal from Tumbleweed The bot has already filed an auto-delreq as the failure existed for > 6 weeks https://build.opensuse.org/request/show/1029616 -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1204587 Dominique Leuenberger <dimstar@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dmair@suse.com Assignee|kernel-bugs@opensuse.org |ptesarik@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1204587 http://bugzilla.opensuse.org/show_bug.cgi?id=1204587#c1 --- Comment #1 from David Mair <dmair@suse.com> --- I had crash 8.0.1 (gdb 10.2) almost intended to replace crash 7.3.0(openSUSE:Factory) several months ago with concern whether things like sial, in particular, integrate as-is. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1204587 http://bugzilla.opensuse.org/show_bug.cgi?id=1204587#c2 David Mair <dmair@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |IN_PROGRESS Assignee|ptesarik@suse.com |dmair@suse.com --- Comment #2 from David Mair <dmair@suse.com> --- I will fix this and make a submit by the close of the US work-day on October 28th 2022. Or explain here what's preventing me. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1204587 http://bugzilla.opensuse.org/show_bug.cgi?id=1204587#c3 --- Comment #3 from David Mair <dmair@suse.com> --- During building crash extension modules, the *.c source files in the extensions/ directory are used as a dictionary (entries being the source filenames before the dot, <fname>) of libraries to be created using make rules with the simplified effect: all: link_defs <fname>.so link_defs: @rm -f defs.h @ln ../defs.h <fname>.so: <fname>.c defs.h It's assumed the failing make rules are run in the extensions/ sub-directory of the crash package source because they correctly use dminfo as an example <fname> based on the presence of dminfo.c and the rule to make dminfo.so fails. In that case, (the crash source root, ..) the parent directory of where the above is made has a file named defs.h in it (in spite of the above rules and the failure error). Tumbleweed ln binary still supports it's use with a single target (to be hard-linked in the current directory). defs.h is part of the crash package source and in the parent directory of the one the above make rules are assumed to be run in. Build failure reports a <fname>.so make rule can't be executed, <fname>.so is dependent on defs.h which doesn't exist (in spite of the above rules). On Monday I'll diagnose the operation and effect of link_defs: in the extensions/ Makefile. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1204587 http://bugzilla.opensuse.org/show_bug.cgi?id=1204587#c4 --- Comment #4 from David Mair <dmair@suse.com> --- I modified the extensions Makefile to look at the cwd and for the presence of defs.h after the link_defs rule shown in comment #3. It indicates the extensions are built with a cwd of /home/abuild/rpmbuild/BUILD/<crash base>/extensions/ and the defs.h hardlink is created with permissions usable to the compiler and from the correct file in <crash base>, the parent directory of extensions/. It's the dependency that's failing in the make rule, not the compiler reporting file not found during compilation. Or to put it another way, attacking something like the compiler include path won't matter, the compiler was never started. make finds the source file in extensions, uses a rule to create a hardlink of defs.h file and at the next rule make reports the defs.h file not found in the current directory. Two illustrations: 1. In the crash extensions Makefile at the rule for <extension>.so dependent on <extension>.c and defs.h I removed defs.h from the dependencies and the package builds 2. Restored <extension>.so dependent on <extension>.c and defs.h BUT added a rule for defs.h that uses the rule to hardlink defs.h and the package builds Item 2 is better since it doesn't reduce dependencies, the whole Makefile with patch line looks like this (see +defs.h). It will be Tuesday US time when I can submit this: # # Makefile for building crash shared object extensions #... CONTRIB_SO := $(patsubst %.c,%.so,$(wildcard *.c)) all: link_defs $(CONTRIB_SO) link_defs: @rm -f defs.h @ln ../defs.h +defs.h: link_defs $(CONTRIB_SO): %.so: %.c defs.h @if [ -f $*.mk ]; then \ make -f $*.mk; \ else \ grep '((constructor))' $*.c > .constructor; \ if [ -s .constructor ]; then \ echo "gcc -Wall -g -shared -rdynamic -o $@ $*.c -fPIC -D$(TARGET) $(TARGET_CFLAGS) $(GDB_FLAGS)"; \ gcc -Wall -g -shared -rdynamic -o $@ $*.c -fPIC -D$(TARGET) $(TARGET_CFLAGS) $(GDB_FLAGS); \ fi; \ if [ ! -s .constructor ]; then \ echo "gcc -Wall -g -nostartfiles -shared -rdynamic -o $@ $*.c -fPIC -D$(TARGET) $(TARGET_CFLAGS) $(GDB_FLAGS)"; \ gcc -Wall -g -nostartfiles -shared -rdynamic -o $@ $*.c -fPIC -D$(TARGET) $(TARGET_CFLAGS) $(GDB_FLAGS); \ fi; \ rm -f .constructor; \ fi clean: rm -f $(CONTRIB_SO) @for MAKEFILE in `grep -sl "^clean:" *.mk`; \ do make --no-print-directory -f $$MAKEFILE clean; \ done -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1204587 http://bugzilla.opensuse.org/show_bug.cgi?id=1204587#c5 David Mair <dmair@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dimstar@opensuse.org Flags| |needinfo?(dimstar@opensuse. | |org) --- Comment #5 from David Mair <dmair@suse.com> --- I've just submitted a modified crash package to Kernel:Kdump (which openSUSE:Factory is a reference to). The modified crash source results in successful build of openSUSE:Factory crash for all architectures except s390. The submit request is: https://build.opensuse.org/request/show/1031227 Be advised that the failure of s390 builds is both unrelated to the cause described in comment #3/comment #4 here and actually isn't a failure building the crash program. The s390 problem is a failure building the architecture specific crash kernel modules (which isn't what comment #3/comment #4 demonstrates causing the build failure for all other architectures): [ 2174s] ld: cannot find arch/s390/lib/expoline/expoline.o: No such file or directory [ 2174s] make[2]: *** [/usr/src/linux-6.0.3-1/scripts/Makefile.modfinal:59: /home/abuild/rpmbuild/BUILD/crash-7.3.1/kbuild/default/crash.ko] Error 1 [ 2174s] make[1]: *** [/usr/src/linux-6.0.3-1/scripts/Makefile.modpost:140: __modpost] Error 2 [ 2174s] make: *** [../../../linux-6.0.3-1/Makefile:1780: modules] Error 2 [ 2174s] make: Leaving directory '/usr/src/linux-6.0.3-1-obj/s390x/default' [ 2174s] error: Bad exit status from /var/tmp/rpm-tmp.leEcyx (%build) That should be treated as a different problem from the cause of this bug. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1204587 http://bugzilla.opensuse.org/show_bug.cgi?id=1204587#c6 --- Comment #6 from David Mair <dmair@suse.com> --- (In reply to David Mair from comment #5)
...The modified crash source results in successful build of openSUSE:Factory crash for all architectures except s390
NB: Only one product/s390 build fails, openSUSE_Factory_zSystems fails as shown at comment #5 which is not the manner of any other build failure when this bug was reported. IOW, build for the 12 s390 builds for other products succeed and build for every enabled product/architecture combination except openSUSE_Factory_zSystems succeeds using the change in comment #4. I believe openSUSE_Factory_zSystems build failure in the crash kernel modules is a different bug from this report (probably related to changes in the changed kernel version's object interface).
...
-- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com