Bug 2311813 - fails to upgrade to rc6 with failed dependencies
Summary: fails to upgrade to rc6 with failed dependencies
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: wsjtx
Version: 40
Hardware: aarch64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Škarvada
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-09-11 20:41 UTC by Dave Koberstein
Modified: 2024-09-23 01:24 UTC (History)
4 users (show)

Fixed In Version: wsjtx-2.7.0-7.fc41 wsjtx-2.7.0-7.fc40
Clone Of:
Environment:
Last Closed: 2024-09-23 00:15:49 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Dave Koberstein 2024-09-11 20:41:06 UTC
Description of problem: wsjtx installs fine with rc3 but fails dependencies upgrading to rc6. Also uninstalling rc3 and installing rc6 fails with the same issue.


Version-Release number of selected component (if applicable):
wsjtx-2.7.0-6.fc40


How reproducible:
Every time.

Steps to Reproduce:
1. sudo dnf upgrade wsjtx
2. or if not installed:  sudo dnf install wsjtx
3.

Actual results:
 Problem: cannot install the best update candidate for package wsjtx-2.7.0-3.fc40.aarch64
  - nothing provides libm.so.6(GLIBC_2.2.5)(64bit) needed by wsjtx-2.7.0-6.fc40.aarch64 from updates
  - nothing provides libmvec.so.1(GLIBC_2.22)(64bit) needed by wsjtx-2.7.0-6.fc40.aarch64 from updates

Expected results:
Successful install

Additional info:
Same issue with fresh install of wsjtx

Comment 1 Richard Shaw 2024-09-12 22:04:24 UTC
No clue what happened, but try this scratch build:
https://kojipkgs.fedoraproject.org//work/tasks/6222/123296222/wsjtx-2.7.0-6.fc42.aarch64.rpm

Comment 2 Dave Koberstein 2024-09-12 22:56:26 UTC
Well, it's different! I got this - with some additional errors:

$ sudo dnf install ./wsjtx-2.7.0-6.fc42.aarch64.rpm
Last metadata expiration check: 1:25:10 ago on Thu 12 Sep 2024 02:25:57 PM PDT.
Error: 
 Problem: conflicting requests
  - nothing provides libm.so.6(GLIBC_2.2.5)(64bit) needed by wsjtx-2.7.0-6.fc42.aarch64 from @commandline
  - nothing provides libmvec.so.1(GLIBC_2.22)(64bit) needed by wsjtx-2.7.0-6.fc42.aarch64 from @commandline
  - nothing provides libc.so.6(GLIBC_2.14)(64bit) needed by wsjtx-2.7.0-6.fc42.aarch64 from @commandline
  - nothing provides libc.so.6(GLIBC_2.2.5)(64bit) needed by wsjtx-2.7.0-6.fc42.aarch64 from @commandline
  - nothing provides libc.so.6(GLIBC_2.4)(64bit) needed by wsjtx-2.7.0-6.fc42.aarch64 from @commandline
(try to add '--skip-broken' to skip uninstallable packages)

How does rpmbuild figure out the "Requires"? The spec file doesn't seem to have changed - at least there are no "Requires" directives.

These two lists of Requires are pretty similar:
https://rpmfind.net/linux/RPM/fedora/40/aarch64/w/wsjtx-2.7.0-3.fc40.aarch64.html
https://rpmfind.net/linux/RPM/fedora/updates/40/aarch64/Packages/w/wsjtx-2.7.0-6.fc40.aarch64.html

But the -6 version does not include "glibc >= 2.38.9000-33". Is that suspicious?

Comment 3 Richard Shaw 2024-09-13 00:17:17 UTC
Well there's a few things going on here:

To answer your question RPM knows what what dependencies were used to compile with... And my assumption for the original problem is that somehow some libraries were updated after wsjtx was built but without it being rebuilt.

The second part, I just goofed and rebuilt for Rawhide, nof F40, which I now have in process.

Comment 4 Dave Koberstein 2024-09-13 00:23:07 UTC
Makes sense. I did try a build on copr using fc40 and had the same issue. Very strange. 

Looking forward to trying your new test build.

Comment 5 Richard Shaw 2024-09-13 00:54:38 UTC
Here it is, if this doesn't work we need to look at what might be wrong on your system...
https://kojipkgs.fedoraproject.org//work/tasks/5339/123325339/wsjtx-2.7.0-6.fc40.aarch64.rpm

Comment 6 Dave Koberstein 2024-09-13 01:07:30 UTC
Bummer. Same issue as the rawhide build:

Error: 
 Problem: conflicting requests
  - nothing provides libm.so.6(GLIBC_2.2.5)(64bit) needed by wsjtx-2.7.0-6.fc40.aarch64 from @commandline
  - nothing provides libmvec.so.1(GLIBC_2.22)(64bit) needed by wsjtx-2.7.0-6.fc40.aarch64 from @commandline
  - nothing provides libc.so.6(GLIBC_2.14)(64bit) needed by wsjtx-2.7.0-6.fc40.aarch64 from @commandline
  - nothing provides libc.so.6(GLIBC_2.2.5)(64bit) needed by wsjtx-2.7.0-6.fc40.aarch64 from @commandline
  - nothing provides libc.so.6(GLIBC_2.4)(64bit) needed by wsjtx-2.7.0-6.fc40.aarch64 from @commandline

You suggest there might be something wrong with my system. Given that 2.7.0-3 installs (I've dnf-remove'd and dnf-install'd it), what could that be? How to track it down?

Do you have a test aarch64 install to try a quick test install?

If it makes sense, I can try my own build of the rpmsrc file and see how that works. I presume it would work since the Requires are figured out at build time. Help appreciated!

Comment 7 Richard Shaw 2024-09-13 01:41:38 UTC
I would try a `dnf --refresh update` and see if there was some major C library update but those are not generally done within a release.

The test machine I can access is on F39 but showing the same issue. Interesting.

Comment 8 Richard Shaw 2024-09-13 01:45:54 UTC
I'm at a loss for the moment so I posted to the Fedora development list.

Comment 9 Dave Koberstein 2024-09-13 01:48:23 UTC
I do that for every upgrade. :) I did also try it in this case just to be double sure.

So there's further weirdness. I pulled the source rpm and did a --rebuild. The resulting rpm has the same issue. You'd think building it on my system, if it has something wrong with it, that the build would be ok.

Just to mention it, I haven't installed anything outside of normal rpm sources. I use these (as provide from --refresh):
$ sudo dnf upgrade --refresh
Copr repo for pijuice-hat owned by komacke                                          4.7 kB/s | 1.5 kB     00:00    
Copr repo for raspberrypi-userland owned by leo3418                                 7.3 kB/s | 1.5 kB     00:00    
Fedora 40 - aarch64                                                                  59 kB/s |  16 kB     00:00    
Fedora 40 openh264 (From Cisco) - aarch64                                           4.8 kB/s | 990  B     00:00    
Fedora 40 - aarch64 - Updates                                                        59 kB/s |  13 kB     00:00    
RPM Fusion for Fedora 40 - Free                                                      11 kB/s | 3.6 kB     00:00    
RPM Fusion for Fedora 40 - Free - Updates                                            13 kB/s | 3.9 kB     00:00    
Dependencies resolved.
Nothing to do.
Complete!

Just for sake of completeness, I'll pull 2.7.0-3 and rebuild it and confirm it installs. If it does that would suggest something in the source rpm.

Comment 10 Dave Koberstein 2024-09-13 01:57:19 UTC
FWIW it installs on an x86_64 fc40.

Comment 11 Dave Koberstein 2024-09-13 02:05:49 UTC
More weirdness. the -3 does not rebuild successfully. It's a source code issue:

/home/n9dk/rpmbuild/BUILD/wsjtx-2.7.0/wsjtx/qmap/libqmap/decode0.f90:6:28:

    6 |   real*4 dd(2,NSMAX),ss(322,NFFT),savg(NFFT)
      |                            1
Error: Variable ‘nfft’ cannot appear in the expression at (1)
/home/n9dk/rpmbuild/BUILD/wsjtx-2.7.0/wsjtx/qmap/libqmap/decode0.f90:6:39:

    6 |   real*4 dd(2,NSMAX),ss(322,NFFT),savg(NFFT)
      |                                       1
Error: Variable ‘nfft’ cannot appear in the expression at (1)
gmake[2]: *** [qmap/libqmap/CMakeFiles/qmap_impl.dir/build.make:150: qmap/libqmap/CMakeFiles/qmap_impl.dir/decode0.f90.o] Error 1

I'll try to confirm I have the right source rpm and move further upstream to see if I can get this to build. I might also try a copr build since that's the closest I can get to "official" builds.

Comment 12 Dave Koberstein 2024-09-13 02:15:43 UTC
At least this is expected. 2.7.0-3 failed to build with the same error on the copr infrastructure. But that doesn't explain how there is an rpm for this source rpm (which I have installed successfully from fedora).

Comment 13 Dan Horák 2024-09-13 06:52:46 UTC
The problem with https://kojipkgs.fedoraproject.org//packages/wsjtx/2.7.0/6.fc40/aarch64/wsjtx-2.7.0-6.fc40.aarch64.rpm is that it contains some x86_64 prebuild binaries (foxchk, sfrx and sftx) and those binaries require the "weird" glibc symbols.

Comment 14 Dan Horák 2024-09-13 07:19:10 UTC
see wsjtx/lib/superfox in the source archive

Comment 15 Richard Shaw 2024-09-13 11:28:25 UTC
Thanks Dan! I wouldn't have thought to check for that. It's never been a problem before with this upstream.

Comment 16 Dan Horák 2024-09-13 12:46:25 UTC
There definitely had to be something that contained those symbols, so the dependency generator (which is processing ELF data from binaries) was adding them. Then I have opened the wsjtx-2.7.0-6.fc40.aarch64.rpm in midnight commander using F3 and notices there were 3 files with different timestamp than the rest of files. Then I checked what those files were :-)

BTW I haven't seen sources for those superfox binaries, so there might be one more issue ...

Comment 17 Dave Koberstein 2024-09-13 16:43:31 UTC
Is this something that needs to be reported to wsjtx developers or is it something handled at rpm build time? Or both?

I see it's new in the -6 (not in -3). But as it is being shared for all platforms in binary form, it seems like the spec file should be responsible for cleaning it up.

Comment 18 Dave Koberstein 2024-09-13 16:50:56 UTC
Kind of a dumb comment. I wish I could edit. :)

So the question really is will they distribute arm binaries of superfox. And if not, will wstjx still work without the superfox-supported feature. I'm on the groups.io list where I started with this issue. I've posted it back. I'm not sure if that's the most efficient way to reach the upstream developers. Richard - do you have contacts to report this to more efficiently?

Comment 19 Richard Shaw 2024-09-13 18:26:34 UTC
I sent a message to the developer list, they are working on making the source available. Apparently the prebuilt binaries we due to a time crunch to make them available for a contest.

I worked on removing superfox this morning from the package but didn't get done before I had to get ready for $DAYJOB.

Comment 20 Dave Koberstein 2024-09-13 20:56:45 UTC
That's great news. Especially the part that they are expecting to release using source instead of binaries.

The working rc3 package expires at the end of this month. But obviously one can always go back to 2.6.1 if rc6 isn't working.

Comment 22 Dave Koberstein 2024-09-13 23:14:07 UTC
That's it! Thanks so much for figuring it out.

It looks like that was from rawhide but no matter, it installed (upgraded, actually).

I see the superfox setting. I presume that doesn't work until they get around to putting source into the distribution instead of binaries. Looks like an interesting feature. Too bad it created this havoc.

Thanks again! I'll watch for a real package on the fc40 repo.

Comment 23 Richard Shaw 2024-09-14 01:06:56 UTC
Crap I did it again! :) Anyway, once I build new versions it should upgrade anyway since I need to bump the release.

Comment 24 Fedora Update System 2024-09-14 02:06:44 UTC
FEDORA-2024-fb5bb457dc (wsjtx-2.7.0-7.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-fb5bb457dc

Comment 25 Fedora Update System 2024-09-14 02:06:48 UTC
FEDORA-2024-b68c344cee (wsjtx-2.7.0-7.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-b68c344cee

Comment 26 Kevin Kofler 2024-09-14 16:58:21 UTC
If the package includes prebuilt binaries and cannot be built without them, it is not allowed in Fedora at all:
https://docs.fedoraproject.org/en-US/packaging-guidelines/what-can-be-packaged/#prebuilt-binaries-or-libraries

Apparently, you managed to build without superfox, so that is now OK (your latest package appears to me to be in compliance with the above policy), but in principle the binaries are not supposed to be in the source tarball at all (and you should complain to upstream about that, see the policy link above).

Comment 27 Fedora Update System 2024-09-15 02:16:24 UTC
FEDORA-2024-b68c344cee has been pushed to the Fedora 41 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-b68c344cee`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-b68c344cee

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 28 Fedora Update System 2024-09-15 12:14:07 UTC
FEDORA-2024-fb5bb457dc has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-fb5bb457dc`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-fb5bb457dc

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 29 Fedora Update System 2024-09-23 00:15:49 UTC
FEDORA-2024-b68c344cee (wsjtx-2.7.0-7.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 30 Fedora Update System 2024-09-23 01:24:18 UTC
FEDORA-2024-fb5bb457dc (wsjtx-2.7.0-7.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.