#56086 closed defect (worksforme)
build of db 48-4.8.30_4 fails in MacPorts 2.4.2 on macOS Sierra 10.12.6
Reported by: | emsisson | Owned by: | jmroot (Joshua Root) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.4.2 |
Keywords: | Cc: | ||
Port: | db48 |
Description
Attempted to build db 48-4.8.30_4 but received messages
---> Attempting to fetch db48-4.8.30_4.darwin_16.x86_64.tbz2.rmd160 from https://packages.macports.org/db48 Warning: Failed to verify signature for archive! Error: Failed to archivefetch db48: version @4.8.30_4 Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_db48/db48/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port db48 failed
File main.log (attached) shows
:msg:archivefetch ---> Attempting to fetch db48-4.8.30_4.darwin_16.x86_64.tbz2.rmd160 from https://packages.macports.org/db48 :debug:archivefetch failed verification with key /opt/local/share/macports/macports-pubkey.pem :debug:archivefetch openssl output: /opt/local/var/macports/incoming/db48-4.8.30_4.darwin_16.x86_64.tbz2.TMP: Permission denied
File macports-pubkey.pem is attached, also.
Permissions of output directory are as follows:
drwxr-xr-x 6 root wheel 204 Mar 17 14:31 /opt drwxr-xr-x 11 root wheel 374 Mar 17 14:31 /opt/local drwxr-xr-x 7 root wheel 238 Oct 6 15:48 /opt/local/var drwxr-xr-x@ 12 root wheel 408 Mar 17 14:56 /opt/local/var/macports drwxr-xr-x 3 macports wheel 102 Mar 17 20:21 /opt/local/var/macports/incoming
I built several ports prior to this one. In fact, db48 was the tenth in a series of dependencies for another port; the nine dependencies preceding it worked without problems.
I checked the archives and found previous ticket #45534 closed defect (invalid), which suggested sudo port clean db48
and try again. I did try that, but I received the same result.
Attachments (2)
Change History (9)
Changed 7 years ago by emsisson
Changed 7 years ago by emsisson
Attachment: | macports-pubkey.pem added |
---|
comment:1 Changed 7 years ago by raimue (Rainer Müller)
comment:2 Changed 7 years ago by raimue (Rainer Müller)
Cc: | jmr@… removed |
---|---|
Keywords: | db48 failed verify signature removed |
Owner: | set to jmroot |
Status: | new → assigned |
comment:3 Changed 7 years ago by jmroot (Joshua Root)
Downloading the file and signature with a web browser and manually verifying with openssl works:
% openssl dgst -ripemd160 -verify /opt/local/share/macports/macports-pubkey.pem -signature ~/Downloads/db48-4.8.30_4.darwin_16.x86_64.tbz2.rmd160 ~/Downloads/db48-4.8.30_4.darwin_16.x86_64.tbz2 Verified OK
So either the file is being corrupted for you, or the issue is not related to the signature (perhaps something to do with permissions as the message suggests).
Did your successfully installed ports install from binary archives or did they all perhaps build from source?
comment:4 Changed 7 years ago by emsisson
Thank you for the quick reply; unfortunately, I had gone to bed for the night.
I tried
sudo port clean -all db48
and redoing the install, but I saw the same result.
Regarding whether previously-installed ports were binaries or from source, the earlier dependencies for the port I wanted (graphviz) appear to have been binaries. I looked at the saved output (from command script) of ports I installed earlier in the day, and most of them appear to have been binaries. However, two of them (wget, and its dependency gmp) appear to have been built from source because the saved output contains the following lines:
---> Configuring gmp ---> Building gmp ---> Configuring wget ---> Building wget
I did use that install of wget to retrieve the files and then used openssl to verify them; that succeeded:
$ cd ${HOME}/Downloads $ wget https://packages.macports.org/db48/db48-4.8.30_4.darwin_16.x86_64.tbz2 $ wget https://packages.macports.org/db48/db48-4.8.30_4.darwin_16.x86_64.tbz2.rmd160 $ openssl dgst -ripemd160 -verify /opt/local/share/macports/macports-pubkey.pem -signature ~/Downloads/db48-4.8.30_4.darwin_16.x86_64.tbz2.rmd160 ~/Downloads/db48-4.8.30_4.darwin_16.x86_64.tbz2 Verified OK
I checked the page MisbehavingServers, and it suggests a problem with the ISP may be the cause. My ISP is a giant corporation, and I suspect that I will have little chance of suggesting that they reconfigure their DNS service.
Since I have downloaded the files with wget, I will try building locally.
comment:5 Changed 7 years ago by emsisson
The local build worked, but I had to find information at https://superuser.com/questions/189635/install-software-using-a-downloaded-port-file telling me to place the downloaded files (that I verified manually) into directory
/opt/local/var/macports/incoming/verified
before running command
sudo port install db48
Thanks for the help. You may close this ticket.
comment:6 Changed 7 years ago by kencu (Ken)
Resolution: | → worksforme |
---|---|
Status: | assigned → closed |
comment:7 Changed 7 years ago by jmroot (Joshua Root)
Even if your ISP won't fix their DNS, you can configure your system to use working DNS servers, e.g. Google's. Anyway, glad you got it working.
As indicated in the log file, your provider seems to tamper with your internet connection. See MisbehavingServers. This might also be related to corrupted downloads.
I am a bit puzzled by the
Permission denied
error. The log shows that theincoming
directory should be owned by the macports user, so there should be no problem accessing the file.In any case, a normal clean does not remove downloaded archives. Try
clean --all
to remove everything related to the build attempt of the port: