Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#26276 closed defect (duplicate)

curl-ca-bundle: Cannot stat: /opt/local/var/macports/distfiles/curl/certdata-1.65.txt, No such file or directory

Reported by: rdclark@… Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: base Version: 1.9.1
Keywords: Cc:
Port:

Description (last modified by ryandesign (Ryan Schmidt))

Upgrading from curl-ca-bundle@7.21.1, I encountered the cannot stat certdata problem. Tried the remedy from previous ticket 25739 (clean --all and reinstall) to no avail.

Here's the log, which shows the checksum for the file passes, but then the file isn't found.

Any thoughts on working around this?

version:1
:debug:main epoch: in tree: 0 installed: 0
:debug:main perl5 5.8.9_0 exists in the ports tree
:debug:main perl5 5.8.9_0  is the latest installed
:debug:main perl5 5.8.9_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/lang/perl5
:debug:main OS darwin/10.4.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main universal_variant is false, so not adding the default universal variant
:debug:main No need to upgrade! perl5 5.8.9_0 >= perl5 5.8.9_0
:debug:main epoch: in tree: 0 installed: 0
:debug:main perl5.8 5.8.9_3 exists in the ports tree
:debug:main perl5.8 5.8.9_3  is the latest installed
:debug:main perl5.8 5.8.9_3  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/lang/perl5.8
:debug:main OS darwin/10.4.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
:debug:main No need to upgrade! perl5.8 5.8.9_3 >= perl5.8 5.8.9_3
:msg:main --->  Computing dependencies for curl-ca-bundle:info:main .:debug:main Searching for dependency: perl5
:debug:main Found Dependency: receipt exists for perl5
:msg:main 
:debug:main Executing org.macports.main (curl-ca-bundle)
:debug:main Skipping completed org.macports.fetch (curl-ca-bundle)
:debug:main Skipping completed org.macports.checksum (curl-ca-bundle)
:debug:main setting option extract.cmd to /usr/bin/bzip2
:msg:main --->  Extracting curl-ca-bundle
:debug:extract extract phase started at Sun Aug 29 11:45:48 PDT 2010
:debug:extract Executing org.macports.extract (curl-ca-bundle)
:info:extract --->  Extracting curl-7.21.1.tar.bz2
:debug:extract setting option extract.args to '/opt/local/var/macports/distfiles/curl/curl-7.21.1.tar.bz2'
:debug:extract Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_curl-ca-bundle/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6'
:debug:extract Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_curl-ca-bundle/work" && /usr/bin/bzip2 -dc '/opt/local/var/macports/distfiles/curl/curl-7.21.1.tar.bz2' | /usr/bin/gnutar --no-same-owner -xf - curl-7.21.1/Makefile curl-7.21.1/lib/mk-ca-bundle.pl'
:debug:extract Executing proc-post-org.macports.extract-extract-0
:error:extract Target org.macports.extract returned: xinstall: Cannot stat: /opt/local/var/macports/distfiles/curl/certdata-1.65.txt, No such file or directory
:debug:extract Backtrace: xinstall: Cannot stat: /opt/local/var/macports/distfiles/curl/certdata-1.65.txt, No such file or directory
    while executing
"$post $targetname"
:info:extract Warning: the following items did not execute (for curl-ca-bundle): org.macports.activate org.macports.extract org.macports.patch org.macports.configure org.macports.build org.macports.destroot org.macports.install
:notice:extract Log for curl-ca-bundle is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_curl-ca-bundle/main.log

Attachments (1)

main.log (6.0 KB) - added by rdclark@… 10 years ago.
Log from run with clean --all

Download all attachments as: .zip

Change History (7)

comment:1 Changed 10 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… removed
Description: modified (diff)
Owner: changed from macports-tickets@… to ryandesign@…
Port: curl-ca-bundle added
Status: newassigned

Remember to fill in the Port field and to use WikiFormatting.

Please clean and try again and if it fails again attach the log immediately after doing so; the log you pasted here says "Skipping completed org.macports.fetch" and "Skipping completed org.macports.checksum" indicating it was not taken from a clean run.

The log says "xinstall: Cannot stat: /opt/local/var/macports/distfiles/curl/certdata-1.65.txt, No such file or directory". Does that file exist? If not, watch what the port does during the fetch phase. Does it fetch that file?

Changed 10 years ago by rdclark@…

Attachment: main.log added

Log from run with clean --all

comment:2 Changed 10 years ago by rdclark@…

I'm sorry to say it's still failing:

Hyperbola:~ rdclark$ sudo port install curl-ca-bundle
--->  Computing dependencies for curl-ca-bundle
--->  Fetching curl-ca-bundle
--->  Attempting to fetch curl-7.21.1.tar.bz2 from http://distfiles.macports.org/curl
--->  Verifying checksum(s) for curl-ca-bundle
--->  Extracting curl-ca-bundle
Error: Target org.macports.extract returned: xinstall: Cannot stat: /opt/local/var/macports/distfiles/curl/certdata-1.65.txt, No such file or directory
Log for curl-ca-bundle is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_curl-ca-bundle/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

I've attached the log from that run. It shows the fetch happening, the checksum passing for the certdata file, etc. before the extraction.

After extraction, there's no certdata-1.65.txt, but there are the ones installed in the past:

Hyperbola:~ rdclark$ find /opt/local/var/macports/distfiles/curl -name certdata\*
/opt/local/var/macports/distfiles/curl/certdata-1.57.txt
/opt/local/var/macports/distfiles/curl/certdata-1.58.txt
/opt/local/var/macports/distfiles/curl/certdata-1.62.txt
/opt/local/var/macports/distfiles/curl/certdata-1.63.txt
/opt/local/var/macports/distfiles/curl/certdata-1.64.txt

Puzzling!

comment:3 Changed 10 years ago by ryandesign (Ryan Schmidt)

I see it fetched curl-7.21.1.tar.bz2 but not certdata-1.65.txt. The only reason it wouldn't have fetched certdata-1.65.txt should be if it already has the file. And it is able to verify its checksum, which means it must have the file, and it must be the correct file. How can it then be that in the extract step, it doesn't have the file? I do not understand.

One distant possibility: could it be that you ran some commands without "sudo"? Try cleaning both with and without sudo to reset things to the way they should be, then try installing again:

port clean --all curl-ca-bundle
sudo port clean --all curl-ca-bundle
sudo port install curl-ca-bundle

If that works, then I think this is a problem that has already been fixed in MacPorts base.

If that doesn't work, can you manually download certdata-1.65.txt from here and place it in /opt/local/var/macports/distfiles/curl? Does that work?

comment:4 Changed 10 years ago by rdclark@…

Trying port clean and sudo port clean also didn't work (puzzling!), and I verified that the certdata-1.65.txt file wasn't present anywhere in Macports (via find /opt/local/var/macports -name certdata\*). But I noticed the distfiles/curl directory had a significant number of older certdata files and packages; when I cleaned these out, the installer downloaded both the latest curl-ca-bundle and the certdata-1.65.txt file.

What worked

sudo port clean -f --all curl-ca-bundle
sudo port install curl-ca-bundle

It's a tad risky, if one of my other ports depends on an older certdata file, but I have good backups and can restore an older file if needed.

Thanks for all your help.

comment:5 Changed 10 years ago by ryandesign (Ryan Schmidt)

Component: portsbase
Milestone: MacPorts 1.9.2
Port: curl-ca-bundle removed
Resolution: duplicate
Status: assignedclosed

Duplicate of #25418 and/or #25937.

comment:6 Changed 10 years ago by jmroot (Joshua Root)

Milestone: MacPorts 1.9.2
Note: See TracTickets for help on using tickets.