Opened 6 years ago

Last modified 3 years ago

#58197 new defect

mysql57 @5.7.25: port select fails: target "/opt/local/share/man/mysql57/man1/mysql-stress-test.pl.1.gz" doesn't exist

Reported by: zslg01 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: Cc: Schamschula (Marius Schamschula), chrstphrchvz (Christopher Chavez), posita (Matt Bogosian), icemac (Michael Howitz), ostefano (Stefano Ortolani), grumpybozo (Bill Cole), ryandesign (Ryan Carsten Schmidt), michaelld (Michael Dickens), herbygillot (Herby Gillot), chrisminett (Chris Minett)
Port: mysql57

Description

I installed mysql57, did a port select, got an error. Did not use to happen.

Attachments (1)

mysqlerr.zip (3.9 KB) - added by zslg01 6 years ago.
Terminal log

Download all attachments as: .zip

Change History (19)

Changed 6 years ago by zslg01

Attachment: mysqlerr.zip added

Terminal log

comment:1 Changed 6 years ago by mf2k (Frank Schima)

Keywords: mysql removed

comment:2 Changed 6 years ago by zslg01

This IS a MySQL port issue .. who ever build it forgot to include the MySQL test component OR did not remove that component from the port select info for MySQL.

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

Cc: Schamschula added
Summary: Port select fails after Mysql57 installmysql57 @5.7.25: port select fails: target "/opt/local/share/man/mysql57/man1/mysql-stress-test.pl.1.gz" doesn't exist

The rtf file inside the zip file shows this error message:

$ sudo port select mysql mysql57
Selecting 'mysql57' for 'mysql' failed: could not create new link "/opt/local/man/man1/mysql-stress-test.pl.1.gz": target "/opt/local/share/man/mysql57/man1/mysql-stress-test.pl.1.gz" doesn't exist

Looks like mysql-stress-test.pl.1 was present in mysql57 @5.7.17 but is no longer present in @5.7.25.

comment:4 Changed 5 years ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:5 Changed 5 years ago by chrstphrchvz (Christopher Chavez)

I think this was caused by -DINSTALL_MYSQLTESTDIR=0 being added during the update to 5.7.25; this prevents the mysql-test directory from being installed, which is where mysql-stress-test.pl and a few other scripts expected by mysql_select come from. Is there a reason this was added?

comment:6 in reply to:  5 Changed 5 years ago by chrstphrchvz (Christopher Chavez)

Replying to chrstphrchvz:

I think this was caused by -DINSTALL_MYSQLTESTDIR=0 being added during the update to 5.7.25; this prevents the mysql-test directory from being installed, which is where mysql-stress-test.pl and a few other scripts expected by mysql_select come from. Is there a reason this was added?

Actually, that option alone might not be why. I tried recompiling without just that option, and while the scripts get installed, the man pages are still missing.

comment:7 Changed 5 years ago by posita (Matt Bogosian)

Cc: posita added

comment:8 Changed 5 years ago by zslg01

Does the person who updated it to 5.7.25 still hang around? Maybe [he, she] can throw some light on this. Has anyone tried Mariadb at the equivalent level? In any case I need to get a project done. With the MySQL project non-support on MacPorts I think I am going to have to go looking for alternatives (native Mariadb, Homebrew). In the long run I'll move development to Linux and special-case MacOS as needed. Thanks for the help from the previous posters.

comment:9 Changed 5 years ago by Schamschula (Marius Schamschula)

Yes. I'm still around.

The short answer is that mysql 5.7.25 would not build with the previous config.args. I used some settings from Homebrew's formula to make it build again.

comment:10 Changed 5 years ago by icemac (Michael Howitz)

Cc: icemac added

comment:11 Changed 5 years ago by ostefano (Stefano Ortolani)

With the deprecation of mysql56, this bug is becoming slightly more critical. Is there a workaround yet?

comment:12 Changed 5 years ago by ostefano (Stefano Ortolani)

Cc: ostefano added

comment:13 Changed 5 years ago by icemac (Michael Howitz)

My personal workaround was to create an empty file for each link (about 6 or 7) the installer wants to create.

This way it was at least possible to install the package.

comment:14 Changed 5 years ago by y-a-v-a (Vincent Bruijn)

I had to undertake these steps to get mysql57 to be selected for mysql.

$ sudo port select --set mysql mysql57
Selecting 'mysql57' for 'mysql' failed: could not create new link "/opt/local/man/man1/mysql-stress-test.pl.1.gz": target "/opt/local/share/man/mysql57/man1/mysql-stress-test.pl.1.gz" doesn't exist
$ sudo touch /opt/local/share/man/mysql57/man1/mysql-stress-test.pl.1.gz
$ sudo port select --set mysql mysql57
Selecting 'mysql57' for 'mysql' failed: could not create new link "/opt/local/man/man1/mysql-test-run.pl.1.gz": target "/opt/local/share/man/mysql57/man1/mysql-test-run.pl.1.gz" doesn't exist
$ sudo touch /opt/local/share/man/mysql57/man1/mysql-test-run.pl.1.gz
$ sudo port select --set mysql mysql57
Selecting 'mysql57' for 'mysql' failed: could not create new link "/opt/local/man/man1/mysql_client_test.1.gz": target "/opt/local/share/man/mysql57/man1/mysql_client_test.1.gz" doesn't exist
$ sudo touch /opt/local/share/man/mysql57/man1/mysql_client_test.1.gz
$ sudo port select --set mysql mysql57
Selecting 'mysql57' for 'mysql' failed: could not create new link "/opt/local/man/man1/mysql_client_test_embedded.1.gz": target "/opt/local/share/man/mysql57/man1/mysql_client_test_embedded.1.gz" doesn't exist
$ sudo touch /opt/local/share/man/mysql57/man1/mysql_client_test_embedded.1.gz
$ sudo port select --set mysql mysql57
Selecting 'mysql57' for 'mysql' failed: could not create new link "/opt/local/man/man1/mysqltest.1.gz": target "/opt/local/share/man/mysql57/man1/mysqltest.1.gz" doesn't exist
$ sudo touch /opt/local/share/man/mysql57/man1/mysqltest.1.gz
$ sudo port select --set mysql mysql57
Selecting 'mysql57' for 'mysql' failed: could not create new link "/opt/local/man/man1/mysqltest_embedded.1.gz": target "/opt/local/share/man/mysql57/man1/mysqltest_embedded.1.gz" doesn't exist
$ sudo touch /opt/local/share/man/mysql57/man1/mysqltest_embedded.1.gz
$ sudo port select --set mysql mysql57
Selecting 'mysql57' for 'mysql' succeeded. 'mysql57' is now active.

comment:15 Changed 5 years ago by zslg01

Thanks for the comment on adding some files to get it to install. I've since moved to postgresql - some mods needed but performance seems good and the database is solid.

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

Cc: grumpybozo ryandesign michaelld herbygillot added

Has duplicate #60275.

comment:17 Changed 3 years ago by ernstki (Kevin Ernst)

Reformatting so it's actually copy-pasteable:

sudo touch /opt/local/share/man/mysql57/man1/mysql-stress-test.pl.1.gz
sudo touch /opt/local/share/man/mysql57/man1/mysql-test-run.pl.1.gz
sudo touch /opt/local/share/man/mysql57/man1/mysql_client_test.1.gz
sudo touch /opt/local/share/man/mysql57/man1/mysql_client_test_embedded.1.gz
sudo touch /opt/local/share/man/mysql57/man1/mysqltest.1.gz
sudo touch /opt/local/share/man/mysql57/man1/mysqltest_embedded.1.gz

comment:18 Changed 3 years ago by chrisminett (Chris Minett)

Cc: chrisminett added
Note: See TracTickets for help on using tickets.