Closed kloczek closed 2 years ago
@kloczek : hi.
Are you using mock?
please provide more details - https://github.com/shlomif/writing-the-perfect-question ,
No, I'm using just plain rpmbuild. How test suite is started it does't matter. You can try to reporoduce those two commands from first two lines provided partial build log.
@kloczek : hi, this script succeeds here:
set -e -x
make package_source
rpmbuild -ts freecell-solver-6.6.0.tar.xz
mock /home/shlomif/progs/Rpms/SRPMS/freecell-solver-6.6.0-1.src.rpm
unset CFLAGS
rpmbuild -ta freecell-solver-6.6.0.tar.xz
shlomif[fcs]:$trunk/fc-solve/B$ git show | head
commit e0b0a5ce639e7fd02b6c9bd593a5b92a0dd1a5fa
Author: Shlomi Fish <shlomif@shlomifish.org>
Date: Tue May 17 09:27:57 2022 +0300
fix "mock" src.rpm build
https://github.com/shlomif/fc-solve/issues/87
diff --git a/fc-solve/source/CMakeLists.txt b/fc-solve/source/CMakeLists.txt
index a94840f33..d9d9050c0 100644
shlomif[fcs]:$trunk/fc-solve/B$ inxi -CSG
System:
Host: telaviv1.shlomifish.org Kernel: 5.17.6-200.fc35.x86_64 arch: x86_64
bits: 64 Desktop: Xfce v: 4.16.0 Distro: Fedora release 35 (Thirty Five)
CPU:
Info: dual core model: Intel Core i3-2100 bits: 64 type: MT MCP cache:
L2: 512 KiB
Speed (MHz): avg: 2747 min/max: 1600/3100 cores: 1: 2711 2: 2759 3: 2779
4: 2741
Graphics:
Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics
driver: i915 v: kernel
Display: x11 server: X.Org v: 1.20.14 driver: X: loaded: modesetting
unloaded: fbdev,vesa gpu: i915 resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa Intel HD Graphics 2000 (SNB GT1)
v: 3.3 Mesa 21.3.8
shlomif[fcs]:$trunk/fc-solve/B$
also - please use mock and provide more details
@kloczek : ping!
@kloczek : Closing due to lack of responsiveness, and to avoid clutter. We can reopen the ticket later.
Again it doesn't matter how I'm building fc-solve. Test suite is failing .. rpm based build procedure. I'm not using Fedora and really have no idea that mock has to do with reported issue.
Again it doesn't matter how I'm building fc-solve. Test suite is failing .. rpm based build procedure. I'm not using Fedora and really have no idea that mock has to do with reported issue.
Please be more cooperative and informative,
Please let me know what do you want to know..
It would be really good to see any suggestions about some diagnostics which I can try to perform around test suite which may expose cause of that fail.
please try using "git master", rpmbuild -ts
and mock and paste the output of inxi -CSG
(= system details)
Does any test suite issue has been solved since last release?
On what kind of system details depends test suite result of the perl_run_tests
unit?
Really please focus on diagnosing test suite issue.
rpmbuild -ts
builds src.rpm out of tar ball which inside must contain spec file.
Why do you want me to build that src.rpm?
This is only archiving operation and still it has nothing to do with test suite.
Does any test suite issue has been solved since last release?
yes. several.
On what kind of system details depends test suite result of the
perl_run_tests
unit?
deps, compilers, tools, etc. See the gh actions' config settings..
Really please focus on diagnosing test suite issue.
it should be done in a pristine environment which is what mock
gives you.
rpmbuild -ts
builds src.rpm out of tar ball which inside must contain spec file.Why do you want me to build that src.rpm?
due to a mock-based pristine env.
This is only archiving operation and still it has nothing to do with test suite.
@kloczek : ping
I'm not using mock .. please. Build methodology has nothing to do with that issue .. please (again). I'm building rpm packages almost +30 years (since Redhat 2.0.2). Please don't tell me how I should build my packages. I'm using my own methodology using LXC zones in which are installed ONLY packages listed in BuildRequires (+ its dependencies). On my own devel systems I have ONLY software installed out of rpm packages so my systems are ALWAYS pristine.
I'm disappointed a bit because you are really not even trying to focus on test suite issue .. 😞
hi @kloczek !
The .spec.in
currently reads:
%check
rm -f t/t/tidyall.t
src="`pwd`"
if test -d build
then
cd build
elif test -d "%{__cmake_builddir}"
then
cd "%{__cmake_builddir}"
fi
perl "$src"/run-tests.pl
It doesn't contain a call to make [flags] test
! where is it coming from?
The output you provided is reduced, non-verbose, and incomplete.
Sorry, to excavate this, but I'll try to be more helpful than the person who originally opened the issue.
I see basically the same test failure when trying to build a distro package (for Exherbo in this case). If a check or test target exists, we usually just run that (we could run ctest like in the rpmbuild above, but shouldn't really matter). For completeness sake I'll add the output of that at the bottom, but the error isn't different from the rpmbuild, so let's just look at the (IMO) interesting part.
Open failed: No such file or directory at /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0/run-tests.pl line 126.
If I basically do what the spec fragment above does, go to the cmake build dir and run perl ${SOURCE_DIR}/run-tests.pl manually I get:
build # perl ../freecell-solver-6.6.0/run-tests.pl
board_gen/pi-make-microsoft-freecell-board
bin board_gen/pi-make-microsoft-freecell-board board_gen/pi-make-microsoft-freecell-board
bin board_gen/pi-make-microsoft-freecell-board linux-vdso.so.1
Open failed: No such file or directory at ../freecell-solver-6.6.0/run-tests.pl line 126.
I don't know any perl, but with that and the code of run-tests.pl it looks like it want's to run Digest::SHA->new(256)->addfile($bin)->b64digest;
on linux-vdso.so.1, which fails because it's only a virtual shared object, which doesn't really exist, muss less in the build dir. strace seems to confirm that. The linux-vdso seems to come from ldd's output, but again I don't speak perl and I can't even say what the test is supposed to test.
The slightly odd thing is, that I'm pretty sure that the tests worked with the same version (6.6.0) in the past and only broke recently with some update down in the stack. If ldd's output is actually involved that would be my first suspect.
I hope that helps :)
=== Starting src_test
Makefile found, looking for potential test targets
/usr/x86_64-pc-linux-gnu/bin/cmake -S/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0 -B/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build --check-build-system CMakeFiles/Makefile.cmake 0
make -f CMakeFiles/Makefile2 check
make[1]: Entering directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
/usr/x86_64-pc-linux-gnu/bin/cmake -S/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0 -B/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/x86_64-pc-linux-gnu/bin/cmake -E cmake_progress_start /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build/CMakeFiles 0
make -f CMakeFiles/Makefile2 CMakeFiles/check.dir/all
make[2]: Entering directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
make -f CMakeFiles/check.dir/build.make CMakeFiles/check.dir/depend
make[3]: Entering directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
cd /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build && /usr/x86_64-pc-linux-gnu/bin/cmake -E cmake_depends "Unix Makefiles" /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0 /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0 /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build/CMakeFiles/check.dir/DependInfo.cmake --color=
make[3]: Leaving directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
make -f CMakeFiles/check.dir/build.make CMakeFiles/check.dir/build
make[3]: Entering directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
perl /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0/run-tests.pl
make[3]: Leaving directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
/usr/x86_64-pc-linux-gnu/bin/cmake -E cmake_echo_color --switch= --progress-dir=/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build/CMakeFiles --progress-num= "Built target check"
make[2]: Leaving directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
/usr/x86_64-pc-linux-gnu/bin/cmake -E cmake_progress_start /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build/CMakeFiles 0
make[1]: Leaving directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
Found check target
/usr/x86_64-pc-linux-gnu/bin/cmake -S/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0 -B/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build --check-build-system CMakeFiles/Makefile.cmake 0
make -f CMakeFiles/Makefile2 check
make[1]: Entering directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
/usr/x86_64-pc-linux-gnu/bin/cmake -S/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0 -B/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/x86_64-pc-linux-gnu/bin/cmake -E cmake_progress_start /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build/CMakeFiles 0
make -f CMakeFiles/Makefile2 CMakeFiles/check.dir/all
make[2]: Entering directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
make -f CMakeFiles/check.dir/build.make CMakeFiles/check.dir/depend
make[3]: Entering directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
cd /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build && /usr/x86_64-pc-linux-gnu/bin/cmake -E cmake_depends "Unix Makefiles" /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0 /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0 /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build/CMakeFiles/check.dir/DependInfo.cmake --color=
make[3]: Leaving directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
make -f CMakeFiles/check.dir/build.make CMakeFiles/check.dir/build
make[3]: Entering directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
perl /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0/run-tests.pl
make -j1 ARGS=--verbose check
freecell-solver-fc-pro-range-solve
bin freecell-solver-fc-pro-range-solve freecell-solver-fc-pro-range-solve
bin freecell-solver-fc-pro-range-solve linux-vdso.so.1
make[3]: Leaving directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
make[2]: Leaving directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
make[1]: Leaving directory '/var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/build'
Open failed: No such file or directory at /var/tmp/paludis/build/games-board-freecell-solver-6.6.0/work/freecell-solver-6.6.0/run-tests.pl line 126.
make[3]: *** [CMakeFiles/check.dir/build.make:73: CMakeFiles/check] Error 2
make[2]: *** [CMakeFiles/Makefile2:928: CMakeFiles/check.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:935: CMakeFiles/check.dir/rule] Error 2
make: *** [Makefile:540: check] Error 2
@heirecka : please try the run-tests.pl
from latest git master. thanks
I've been trying to integrate with my rpm spec file necessary commits but looks like now it is a bit hard to form minimal set of commits at already it is +150 commits since last release. I'll retest that when you will make next release. BTW .. do you have any plans to make next release soon? 🤔
I've been trying to integrate with my rpm spec file necessary commits but looks like now it is a bit hard to form minimal set of commits at already it is +150 commits since last release. I'll retest that when you will make next release. BTW .. do you have any plans to make next release soon? thinking
hi @kloczek . please try this patch: https://www.shlomifish.org/Files/files/code/fcs-runtests.patch
@heirecka : please try the run-tests.pl from latest git master. thanks
Still complains about linux-vdso.so.1, but no longer fatally and successfully runs the rest of the tests.
# perl ../freecell-solver-6.6.0/run-tests.pl
freecell-solver-range-parallel-solve
bin freecell-solver-range-parallel-solve freecell-solver-range-parallel-solve
bin freecell-solver-range-parallel-solve linux-vdso.so.1
Open failed: No such file or directory at ../freecell-solver-6.6.0/run-tests.pl line 127.
hi @heirecka .
@heirecka : please try the run-tests.pl from latest git master. thanks
Still complains about linux-vdso.so.1, but no longer fatally
I catch the exception and emit a warning.
and successfully runs the rest of the tests.
so it is working fine now? is the build successful?
# perl ../freecell-solver-6.6.0/run-tests.pl freecell-solver-range-parallel-solve bin freecell-solver-range-parallel-solve freecell-solver-range-parallel-solve bin freecell-solver-range-parallel-solve linux-vdso.so.1 Open failed: No such file or directory at ../freecell-solver-6.6.0/run-tests.pl line 127.
so it is working fine now? is the build successful?
Yes, thank you for fixing that.
so it is working fine now? is the build successful?
Yes, thank you for fixing that.
you're welcome.
I've been trying to integrate with my rpm spec file necessary commits but looks like now it is a bit hard to form minimal set of commits at already it is +150 commits since last release. I'll retest that when you will make next release. BTW .. do you have any plans to make next release soon? thinking
Hi @kloczek ! I want to mint a new release only after you've made sure the patch is working for you. Please do the needful.
Should be fixed in freecell-solver-6.8.0. Closing for now,
Just tested 6.8.0 and looks like still something is wrong
+ cd freecell-solver-6.8.0
+ /usr/bin/make -O -j48 V=1 VERBOSE=1 -C x86_64-redhat-linux-gnu test ARGS=--output-on-failure
make: Entering directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu'
Running tests...
/usr/bin/ctest --force-new-ctest-process --output-on-failure
Test project /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu
Start 1: perl_run_tests
1/1 Test #1: perl_run_tests ...................***Failed 0.31 sec
freecell-solver-range-parallel-solve
bin freecell-solver-range-parallel-solve freecell-solver-range-parallel-solve
bin freecell-solver-range-parallel-solve /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu/libfreecell-solver.so.0
bin freecell-solver-range-parallel-solve /lib64/libc.so.6
board_gen/pi-make-microsoft-freecell-board
bin board_gen/pi-make-microsoft-freecell-board board_gen/pi-make-microsoft-freecell-board
bin board_gen/pi-make-microsoft-freecell-board /lib64/libc.so.6
fc-solve
bin fc-solve fc-solve
bin fc-solve /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu/libfreecell-solver.so.0
bin fc-solve /lib64/libc.so.6
freecell-solver-fc-pro-range-solve
bin freecell-solver-fc-pro-range-solve freecell-solver-fc-pro-range-solve
bin freecell-solver-fc-pro-range-solve /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu/libfreecell-solver.so.0
bin freecell-solver-fc-pro-range-solve /lib64/libc.so.6
dbm-fc-solver
bin dbm-fc-solver dbm-fc-solver
bin dbm-fc-solver /lib64/libc.so.6
make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu'
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu'
make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu'
make[1]: *** No rule to make target 'boards'. Stop.
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu'
make failed at /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/run-tests.pl line 265.
Just tested 6.8.0 and looks like still something is wrong
For the last time: please either provide the requested info, or leave us alone.
+ cd freecell-solver-6.8.0 + /usr/bin/make -O -j48 V=1 VERBOSE=1 -C x86_64-redhat-linux-gnu test ARGS=--output-on-failure make: Entering directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu' Running tests... /usr/bin/ctest --force-new-ctest-process --output-on-failure Test project /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu Start 1: perl_run_tests 1/1 Test #1: perl_run_tests ...................***Failed 0.31 sec freecell-solver-range-parallel-solve bin freecell-solver-range-parallel-solve freecell-solver-range-parallel-solve bin freecell-solver-range-parallel-solve /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu/libfreecell-solver.so.0 bin freecell-solver-range-parallel-solve /lib64/libc.so.6 board_gen/pi-make-microsoft-freecell-board bin board_gen/pi-make-microsoft-freecell-board board_gen/pi-make-microsoft-freecell-board bin board_gen/pi-make-microsoft-freecell-board /lib64/libc.so.6 fc-solve bin fc-solve fc-solve bin fc-solve /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu/libfreecell-solver.so.0 bin fc-solve /lib64/libc.so.6 freecell-solver-fc-pro-range-solve bin freecell-solver-fc-pro-range-solve freecell-solver-fc-pro-range-solve bin freecell-solver-fc-pro-range-solve /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu/libfreecell-solver.so.0 bin freecell-solver-fc-pro-range-solve /lib64/libc.so.6 dbm-fc-solver bin dbm-fc-solver dbm-fc-solver bin dbm-fc-solver /lib64/libc.so.6 make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu' make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu' make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu' make[1]: *** No rule to make target 'boards'. Stop. make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/x86_64-redhat-linux-gnu' make failed at /home/tkloczko/rpmbuild/BUILD/freecell-solver-6.8.0/run-tests.pl line 265.
Yeah .. looks like somethiong is wrong