Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#63696 closed defect (fixed)

librsvg checksum fails on Apple Silicon

Reported by: betajippity (Yining Karl Li) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: monterey Cc: cjones051073 (Chris Jones), jmroot (Joshua Root), xroblot, randymortensen (Randy Mortensen), jamesrtnz
Port: librsvg

Description

On Monterey (and possibly Big Sur too, seeing as the port health status for librsvg shows a red X on Big Sur arm64), librsvg fails to install on Apple Silicon due to a checksum failure. On Intel, librsvg installs fine.

Here is the relevant part of the log file:

:debug:checksum checksum phase started at Wed Oct 27 13:13:19 PDT 2021
:notice:checksum --->  Verifying checksums for librsvg
:debug:checksum Executing org.macports.checksum (librsvg)
:info:checksum --->  Checksumming librsvg-2.52.2.tar.xz
:debug:checksum Calculated (rmd160) is 26cd4ee71cfa0f748009c6ce3b1dd7f470bcb24d
:error:checksum Checksum (rmd160) mismatch for librsvg-2.52.2.tar.xz
:info:checksum Portfile checksum: librsvg-2.52.2.tar.xz rmd160 e697e1220779f77e81a890718ef5cda5b5e6b740
:info:checksum Distfile checksum: librsvg-2.52.2.tar.xz rmd160 26cd4ee71cfa0f748009c6ce3b1dd7f470bcb24d
:debug:checksum Calculated (sha256) is 03d2887c18ffb906e1a60f97fe46a7169f69aa28d6db5d285748f3618b093427
:error:checksum Checksum (sha256) mismatch for librsvg-2.52.2.tar.xz
:info:checksum Portfile checksum: librsvg-2.52.2.tar.xz sha256 cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b
:info:checksum Distfile checksum: librsvg-2.52.2.tar.xz sha256 03d2887c18ffb906e1a60f97fe46a7169f69aa28d6db5d285748f3618b093427
:debug:checksum Calculated (size) is 23262064
:error:checksum Checksum (size) mismatch for librsvg-2.52.2.tar.xz
:info:checksum Portfile checksum: librsvg-2.52.2.tar.xz size 1796376
:info:checksum Distfile checksum: librsvg-2.52.2.tar.xz size 23262064
:info:checksum The correct checksum line may be:
:info:checksum checksums           rmd160  26cd4ee71cfa0f748009c6ce3b1dd7f470bcb24d \
:info:checksum                     sha256  03d2887c18ffb906e1a60f97fe46a7169f69aa28d6db5d285748f3618b093427 \
:info:checksum                     size    23262064
:error:checksum Failed to checksum librsvg: Unable to verify file checksums

Attachments (2)

main.log (137.3 KB) - added by betajippity (Yining Karl Li) 2 years ago.
main.log from failed install of librsvg
skipchecksum_main.log (414.0 KB) - added by betajippity (Yining Karl Li) 2 years ago.
main.log showing install failure while applying patches, after bypassing the checksum issue with checksum.skip=yes

Download all attachments as: .zip

Change History (13)

Changed 2 years ago by betajippity (Yining Karl Li)

Attachment: main.log added

main.log from failed install of librsvg

comment:1 Changed 2 years ago by betajippity (Yining Karl Li)

I tried bypassing the checksum using checksum.skip=yes, but then the install failed while attempting to apply patches. I have attached the main.log from attempting to install with checksum.skip=yes to the ticket as well.

Changed 2 years ago by betajippity (Yining Karl Li)

Attachment: skipchecksum_main.log added

main.log showing install failure while applying patches, after bypassing the checksum issue with checksum.skip=yes

comment:2 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: cjones051073 added
Owner: set to mascguy
Status: newassigned

comment:3 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: jmroot added

Josh, it looks like there are a few other checksum-related failures on Monterey.

Is this a potential issue with base, and/or some of our scripts within _resources...?

comment:4 Changed 2 years ago by mascguy (Christopher Nielsen)

Keywords: monterey added

comment:5 Changed 2 years ago by jmroot (Joshua Root)

:msg:archivefetch --->  Attempting to fetch librsvg-2.40.20_4.darwin_21.arm64.tbz2 from https://packages.macports.org/librsvg
:notice:fetch --->  Attempting to fetch librsvg-2.52.2.tar.xz from https://distfiles.macports.org/librsvg

The version is 2.40.20_4 when fetching the archive (seems to be correct for arm64), but then 2.52.2 when fetching the distfile?

My guess would be that something is collapsing the waveform for the value of $distfiles before the version is changed, but I don't see where it would be happening at first glance.

Last edited 2 years ago by jmroot (Joshua Root) (previous) (diff)

comment:6 Changed 2 years ago by xroblot

Cc: xroblot added

comment:7 Changed 2 years ago by randymortensen (Randy Mortensen)

Cc: randymortensen added

comment:8 Changed 2 years ago by jamesrtnz

The current portfile doesn't update the SOURCE tarball filename when it falls back to the earlier version of librsvg; this patch will correct that:

diff --git a/graphics/librsvg/Portfile b/graphics/librsvg/Portfile
index b211fa9ed79..c1bb8420c0b 100644
--- a/graphics/librsvg/Portfile
+++ b/graphics/librsvg/Portfile
@@ -64,6 +64,7 @@ if {${os.platform} eq "darwin" && (${os.major} < ${max_darwin_for_rust} || ${bui
     version         2.40.20
     revision        4
     epoch           1
+    distname        ${my_name}-${version}

     checksums       rmd160  e697e1220779f77e81a890718ef5cda5b5e6b740 \
                     sha256  cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b \

Sorry, if I knew the right way to submit that via GitHub, I would...

comment:9 Changed 2 years ago by jamesrtnz

Cc: jamesrtnz added

comment:10 Changed 2 years ago by cjones051073 (Chris Jones)

Resolution: fixed
Status: assignedclosed

comment:11 Changed 2 years ago by Christopher Nielsen <mascguy@…>

In 612b036b507d6abf7095ce0d5baee84ead84e576/macports-ports (master):

librsvg-devel: reconcile with librsvg, including latest fixes
See: #63696

Note: See TracTickets for help on using tickets.