Opened 4 years ago

Closed 4 years ago

#60847 closed defect (invalid)

port install subport=xyz doesnt work as expected

Reported by: wadjei Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc:
Port:

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I'm working on a system which has the last version of MacOS 10.9 Mavericks installed.

I am trying to follow the instructions here wiki:howto/InstallingOlderPort#subport to install an older version of mysql8-server (@8.0.19_0) since the current version will not compile on my system.

This is a subport of databases/mysql8 - I have cloned and checked out an older version of the repository and was able to install mysql8 successfully

$ port installed mysql8
The following ports are currently installed:
  mysql8 @8.0.19_0 (active)

But any attempt to install the same version of mysql8-server results in the current version (8.0.21) being fetched as a dependency which then fails to install.

In the databases/mysql8 directory I'm executing, and seeing

/Users/will/macports-ports/databases/mysql8
helium:mysql8 will$ port info
mysql8 @8.0.19 (databases)
Sub-ports:            mysql8-server
Variants:             debug, universal

Description:          MySQL is an open-source, multi-threaded SQL database.
Homepage:             https://www.mysql.com/

Build Dependencies:   cmake, clang-7.0
Library Dependencies: openssl, cyrus-sasl2, icu, zlib, zstd, legacy-support
Runtime Dependencies: mysql_select
Platforms:            darwin
License:              GPL-2
Maintainers:          Email: herby.gillot@gmail.com, GitHub: herbygillot
                      Policy: openmaintainer
helium:mysql8 will$ sudo port install subport=mysql8-server
--->  Computing dependencies for mysql8
--->  Fetching archive for mysql8
--->  Attempting to fetch mysql8-8.0.21_0.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/mysql8
--->  Attempting to fetch mysql8-8.0.21_0.darwin_13.x86_64.tbz2 from https://packages.macports.org/mysql8
--->  Attempting to fetch mysql8-8.0.21_0.darwin_13.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/mysql8
--->  Fetching distfiles for mysql8
--->  Verifying checksums for mysql8
--->  Extracting mysql8

which then goes on to fail

Change History (4)

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

Description: modified (diff)
Keywords: mavericks removed
Milestone: MacPorts 2.6.3

I am assuming you have already installed mysql8 @8.0.19_0. If not, do that first.

When installing mysql8-server, use the -n flag to tell MacPorts you don't want it to try to update dependencies first.

sudo port -n install subport=mysql8-server

Don't get in the habit of using that flag though because in most cases you do want MacPorts to update dependencies first.

Also, please make sure you file a bug report about the mysql8 @8.0.21_0 build failure so that we can investigate that.

comment:2 Changed 4 years ago by wadjei

Thanks for your help - I've not seen or used the -n flag before; that has resolved the issue for me.

So it was the dependency on the main package that was pulling in the update (still quite confusing)?

Happy to close this - I'll raise a ticket regarding mysql8 8.0.21.

comment:3 Changed 4 years ago by kencu (Ken)

mariadb-10.1 is currently good on 10.9

<http://packages.macports.org/mariadb-10.1/>

<https://ports.macports.org/port/mariadb-10.1/summary>

Every so often I sweep through and fix up the mysql/mariadb ports for older systems. Just haven't lately. There is an update to legacysupport in the commit tree that I haven't pushed through to a release that we need for some this to work.

comment:4 in reply to:  2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed

Replying to wadjei:

So it was the dependency on the main package that was pulling in the update (still quite confusing)?

You have the main ports tree containing mysql8 @8.0.21.

You created a secondary ports tree containing mysql8 @8.0.19 and installed it. Any of mysql8's dependencies that weren't already installed or that were outdated were installed or upgraded via the main ports tree.

You then tried to install mysql8-server @8.0.19 from your secondary ports tree. It depends on mysql8, and MacPorts tried to satisfy that dependency from the main ports tree, where it found mysql8 @8.0.21, so it tried to upgrade mysql8 first, which failed. -n tells MacPorts not to upgrade dependencies first.

Note: See TracTickets for help on using tickets.