#64903 closed defect (fixed)
Libreoffice installs dependencies and then fails because it is for 10.15
Reported by: | angelog0 (Angelo Graziosi) | Owned by: | Tatsh (Andrew Udvare) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | libreoffice |
Description
I tried to install libreoffice via MacPorts and it, after installing _ALL_ dependencies fails because the macOS version, 10.13.6, is not 10.15!
Shouldn't the user have been notified earlier that MacPorts version of libreoffice requests macOS 10.15?
And now, how can I uninstall all those useless ports?
$ sudo port install libreoffice Password: ---> Computing dependencies for libreoffice The following dependencies will be installed: bison bison-runtime box2d clucene cppunit flex gperf harfbuzz-icu hunspell hyphen ixion libabw libcdr-0.1 libcuckoo libe-book libepoxy libepubgen libetonyek libexttextcat libfreehand liblangtag libmspub libmwaw libnumbertext libodfgen libpagemaker libproxy libqxp librevenge libstaroffice libvisio-0.1 libwpd-0.10 libwpg-0.3 libwps libzmf mdds mesa mhash mythes neon orcus py39-lxml python27 python2_select raptor2 rasqal redland spdlog ucpp unixODBC xmlsec xorg-libXdamage xorg-libXxf86vm yajl Continue? [Y/n]: ---> Fetching archive for bison-runtime [...] ---> Fetching archive for xmlsec ---> Attempting to fetch xmlsec-1.2.33_1.darwin_17.x86_64.tbz2 from http://packages.macports.org/xmlsec ---> Attempting to fetch xmlsec-1.2.33_1.darwin_17.x86_64.tbz2.rmd160 from http://packages.macports.org/xmlsec ---> Installing xmlsec @1.2.33_1 ---> Activating xmlsec @1.2.33_1 ---> Cleaning xmlsec ---> Fetching archive for libreoffice ---> Attempting to fetch libreoffice-7.3.2.1_0.darwin_17.x86_64.tbz2 from http://packages.macports.org/libreoffice ---> Attempting to fetch libreoffice-7.3.2.1_0.darwin_17.x86_64.tbz2 from http://fco.it.packages.macports.org/libreoffice ---> Attempting to fetch libreoffice-7.3.2.1_0.darwin_17.x86_64.tbz2 from http://fra.de.packages.macports.org/libreoffice ---> Fetching distfiles for libreoffice Error: Building libreoffice @7.3.2.1 requires macOS 10.15 or later. Error: Error: Consider downloading a version from LibreOffice's website: Error: https://www.libreoffice.org/download/download/ Error: Error: Failed to fetch libreoffice: incompatible OS X version Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_office_libreoffice/libreoffice/main.log for details. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port libreoffice failed ---> Some of the ports you installed have notes: hunspell has the following notes: You must install (at least) one of the language dictionaries after installing this port in order for it to work. python27 has the following notes: To make this the default Python or Python 2 (i.e., the version run by the 'python' or 'python2' commands), run one or both of: sudo port select --set python python27 sudo port select --set python2 python27
Change History (9)
comment:1 Changed 3 years ago by jmroot (Joshua Root)
Owner: | set to Tatsh |
---|---|
Status: | new → assigned |
comment:2 Changed 3 years ago by Tatsh (Andrew Udvare)
Shouldn't the user have been notified earlier that MacPorts version of libreoffice requests macOS 10.15?
Unfortunately this feature does not exist yet. The code (not declarations like dependencies) that's within a port file is only ever run when the port is about to be installed. The code that stops this port from installing on < 10.15 is an example.
comment:3 Changed 3 years ago by kencu (Ken)
Given there are so many deps, you could do this:
if {${os.platform} eq "darwin" && ${os.major} < 19} { known_fail yes + depends_build + depends_lib + depends_run pre-fetch { ui_error "Building ${name} @${version} requires macOS 10.15 or later." ui_error "" ui_error "Consider downloading a version from LibreOffice's website:" ui_error "https://www.libreoffice.org/download/download/" ui_error "" return -code error "incompatible OS X version" } }
comment:4 Changed 3 years ago by Tatsh (Andrew Udvare)
We would have to start doing that for so many ports. I think we should consider adding a restrictions_<os_name>
global option as a function or boolean. So in this case
restrictions_darwin ${os.major} >= 19
This will remove a lot of conditional code in ports. And the evaluation of dependencies for any package can check this field easily.
comment:5 Changed 3 years ago by kencu (Ken)
some ports with onerous deps like this do it already.
But up to you, all the same to me.
Just wanted you to know it is both trivially simple and effective.
comment:7 Changed 3 years ago by Tatsh (Andrew Udvare)
Made the change: https://github.com/macports/macports-ports/pull/14397
comment:8 Changed 3 years ago by Tatsh (Andrew Udvare)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fair point, it should clear its dependencies on unsupported OS versions.
You can clean up with
sudo port uninstall leaves
(checkport echo leaves
first to see what will be uninstalled) orsudo port reclaim
.