Opened 4 years ago

Last modified 3 weeks ago

#60993 accepted defect

Upgrading fails because of boost port: no matching file found for...

Reported by: tillyboy Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.6.3
Keywords: Cc: tillyboy, cooljeanius (Eric Gallager)
Port: boost

Description (last modified by tillyboy)

This is what I ran:

% sudo port clean boost; sudo port uninstall boost; sudo port install -t boost
--->  Cleaning boost
--->  Computing dependencies for boost
--->  Fetching archive for boost
--->  Attempting to fetch boost-1.71.0_3+no_single+no_static+python38.darwin_17.x86_64.tbz2 from https://packages.macports.org/boost
--->  Attempting to fetch boost-1.71.0_3+no_single+no_static+python38.darwin_17.x86_64.tbz2.rmd160 from https://packages.macports.org/boost
--->  Installing boost @1.71.0_3+no_single+no_static+python38
Error: Failed to install boost: no matching file found for: id=1080, name=/opt/local/share/doc/boost/doc/html/BOOST_PROTO_A_1_3_34_5_5_4.html
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_boost/boost/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port boost failed

And this is the output of the debug log:

:debug:install  /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_boost/boost/work/.tmp=+
:debug:install  /var/db/timezone/zoneinfo=+
:debug:install  /private/var/db/timezone/tz/2020a.1.0/zoneinfo=+
:debug:install  /var/db/mds/system=+
:debug:install  /private/var/db/mds/system=+
:debug:install  /var/db/xcode_select_link=-
:debug:install  /private/var/db/xcode_select_link=-
:debug:install  /var/db/mds=-
:debug:install  /private/var/db/mds=-
:debug:install  /opt/local/var/macports/home/Library/Preferences/com.apple.dt.Xcode.plist=-
:debug:install  /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_boost/boost/work/.home/Library/Preferences/com.apple.dt.Xcode.plist=-
:debug:install  /Applications/Xcode.app=-
:debug:install  /var/db/launchd.db=+
:debug:install  /private/var/db/launchd.db=+
:debug:install  /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_boost/boost/work/.home/.ccache=+
:debug:install  /opt/local/var/macports/build/.ccache=+
:debug:install  /opt/local/var/macports/sip-workaround=+
:debug:install  /opt/local=?
:debug:install Tracemode will respect recursively collected port dependencies: bzip2 expat gettext icu libedit libffi libiconv lz4 lzma ncurses openssl python38 python3_select python_select sqlite3 xz zlib zstd
:debug:install Executing org.macports.install (boost)
:error:install Failed to install boost: no matching file found for: id=1080, name=/opt/local/share/doc/boost/doc/html/BOOST_PROTO_A_1_3_34_5_5_4.html
:debug:install Error code: registry::not-found
:debug:install Backtrace: no matching file found for: id=1080, name=/opt/local/share/doc/boost/doc/html/BOOST_PROTO_A_1_3_34_5_5_4.html
:debug:install     while executing
:debug:install "registry::file open [$regref id] $f"
:debug:install     ("foreach" body line 2)
:debug:install     invoked from within
:debug:install "foreach f [array names portinstall::file_is_binary] {
:debug:install                 set fileref [registry::file open [$regref id] $f]
:debug:install                 $fileref binar..."
:debug:install     invoked from within
:debug:install "registry::write {
:debug:install 
:debug:install         set regref [registry::entry create $subport $version $revision $portvariants $epoch]
:debug:install 
:debug:install         if {[info exists user_options..."
:debug:install     (procedure "portinstall::install_main" line 43)
:debug:install     invoked from within
:debug:install "$procedure $targetname"
:error:install See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_boost/boost/main.log for details.

Change History (7)

comment:1 Changed 4 years ago by tillyboy

Cc: tillyboy added

comment:2 Changed 4 years ago by tillyboy

Description: modified (diff)

comment:3 Changed 4 years ago by michaelld (Michael Dickens)

OK. Why trace mode? Why not just normal install mode? Why not install from source if using trace mode?

The file "${PREFIX}/share/doc/boost/doc/html/BOOST_PROTO_A_1_3_34_5_5_4.html" exists on my local (from source) Boost install.

comment:4 Changed 4 years ago by michaelld (Michael Dickens)

Owner: set to michaelld
Status: newaccepted

comment:5 Changed 4 years ago by tillyboy

OK. Why trace mode? Why not just normal install mode? Why not install from source if using trace mode?

More debugging information is more better.

The file "${PREFIX}/share/doc/boost/doc/html/BOOST_PROTO_A_1_3_34_5_5_4.html" exists on my local (from source) Boost install.

Fair enough, but when running sudo port install boost +python38 +no_static +no_single +clang10 I get:

...
--->  Installing boost @1.71.0_3+clang10+no_single+no_static+python38
Error: Failed to install boost: no matching file found for: id=1116, name=/opt/local/share/doc/boost/doc/html/BOOST_PROTO_ref_a.html
...

So in any case there are broken build variants.

Last edited 3 weeks ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:6 Changed 4 weeks ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:7 in reply to:  5 Changed 3 weeks ago by ryandesign (Ryan Carsten Schmidt)

Replying to tillyboy:

Why trace mode?

More debugging information is more better.

Yes, but trace mode is not perfect. It doesn't work at all on macOS 13 or later on Apple Silicon systems, it doesn't properly hide python files, it causes bmake to fail to build, etc., etc. It's great when it works but it can cause builds to fail that wouldn't ordinarily fail. However, I don't think trace mode is to blame here (though I don't know what is).

So in any case there are broken build variants.

That's not the conclusion I would reach. We see from your transcript that you were downloading a precompiled archive from our server. That means we were able to build and install that combination of variants on that OS version on our build server, yet you were not. That points to a unique problem on your machine.

The ID number in your message (id=1116 or whatever) is likely an SQLite row ID from the MacPorts registry database. This is the kind of backbone MacPorts base code that is used to install every port. Nothing should ever fail here. It makes me wonder if your registry database is corrupt in some way. You could use standard SQLite commands to try to verify it.

Note: See TracTickets for help on using tickets.