Opened 4 years ago
Last modified 8 months 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)
comment:4 Changed 4 years ago by michaelld (Michael Dickens)
Owner: | set to michaelld |
---|---|
Status: | new → accepted |
comment:5 follow-up: 7 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.
comment:6 Changed 8 months ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
comment:7 Changed 8 months 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.
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.