Solved MySQL 5.5 Upgrade Issue

I'm trying to upgrade databases/mysql55-server from 5.5.55 to 5.5.55_1.

This is the errors I am receiving. Is it safe to continue with the upgrade?

Code:
$ sudo portmaster mysql55-server-5.5.55

===>>> Currently installed version: mysql55-server-5.5.55
===>>> Port directory: /usr/ports/databases/mysql55-server

Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
===>>> Gathering distinfo list for installed ports

Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
===>>> Launching 'make checksum' for databases/mysql55-server in background
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
===>>> Gathering dependency list for databases/mysql55-server from ports
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
Shared object "libreadline.so.6" not found, required by "mysql"
===>>> Launching child to update mysql55-client-5.5.55 to mysql55-client-5.5.55_1

===>>> mysql55-server-5.5.55 >> mysql55-client-5.5.55 (1/1)

===>>> Currently installed version: mysql55-client-5.5.55
===>>> Port directory: /usr/ports/databases/mysql55-client

===>>> Launching 'make checksum' for databases/mysql55-client in background
===>>> Gathering dependency list for databases/mysql55-client from ports
===>>> Initial dependency check complete for databases/mysql55-client

===>>> Continuing initial dependency check for databases/mysql55-server
===>>> Initial dependency check complete for databases/mysql55-server


===>>> mysql55-server-5.5.55 >> (1)

===>>> The following actions will be taken if you choose to proceed:
        Upgrade mysql55-server-5.5.55 to mysql55-server-5.5.55_1
        Upgrade mysql55-client-5.5.55 to mysql55-client-5.5.55_1

===>>> Proceed? y/n [y]
 
I went ahead an reinstalled devel/readline and it's still complaining.

Code:
Shared object "libreadline.so.6" not found, required by "MySQL"
readline-7.0.3                     =   up-to-date with index

I have version readline 7 installed, is it looking for version 6?

I've made no changes to my system, so I'm not sure why I am all of a sudden seeing this issue.
 
you are seeing the issue because the update of readline port removed libreadline.so.6 and replaced it with libreadline.so.7.
The fact that none of the affected ports were replaced indicates that you are probably building by source and failed to updated all affected ports (in other words, you are not using poudriere or synth and this is the consequence).

bottom line: there's a flaw in your upgrade process.
 
I've always used ports-mgmt/portmaster to upgrade my ports without issues.

Except this is an issue. So you can't say you've never had issues with portmaster. And I'd be shocked if this is the first issue of this type you've had.

I'm biased. I would suggest you migrate from portmaster and use a better tool that wouldn't allow these kinds of breakage to occur (when used properly in conjunction with pkg(8))
 
Fair enough, I will look at the other options you mentioned - but in the meantime, how do I fix this?
 
What's interesting is that databases/gdbm didn't complain when I tried to update it - and no longer shows up on the list below after updating.

With that said, you still think it's necessary to rebuild all ports? Also, I have no idea what you mean by "force-upgrading"?

Code:
$ sudo pkg check --shlibs -a
Checking all packages:  15%
(gdbm-1.13_1) /usr/local/bin/gdbmtool - required shared library libreadline.so.6 not found
Checking all packages:  35%
(mysql55-client-5.5.55) /usr/local/bin/mysql - required shared library libreadline.so.6 not found
Checking all packages: 100%
 
Will deleting and reinstalling MySQL fix this issue?

I could really use some help here as I have other packages that need updating that rely on MySQL.
 
It's been a while since I used portmaster(8) but I believe this would fix things: portmaster -r devel/readline. This will rebuild everything depending on readline (including MySQL). If you do this with an up to date ports tree it should fix the dependencies and update everything else, killing two birds with one stone.
 
I tried doing last night, but it doesn't pick up MySQL.

Code:
===>>> The following actions will be taken if you choose to proceed:
        Re-install readline-7.0.3
        Re-install python27-2.7.13_6

===>>> Proceed? y/n [y]
 
I've always used ports-mgmt/portmaster to upgrade my ports without issues.
Same, still using Portmaster myself without issues as well. Only certain people blame tools for their problems. Tools don't create problems, the way you (mis)use them does.

Anyway...

I tried doing last night, but it doesn't pick up MySQL.
Correct.

Code:
breve:/home/peter $ pkg info -rx readline
php56-readline-5.6.30_1:
        php56-extensions-1.0
        mediawiki127-1.27.3
readline-7.0.3:
        python27-2.7.13_6
databases/mysql55-server (I'm using 56 myself but the same applies) doesn't directly depend on devel/readline. You won't see it mentioned when checking # make run-depends-list nor with # make build-depends-list, only with the all-depends-list target.

So first sort out the readline port, and once that's out of the way you should be able to re-build MySQL server.
 
So first sort out the readline port, and once that's out of the way you should be able to re-build MySQL server.

That's exactly what I ended up doing this afternoon. I first made sure all ports that directly depended on readline (including itself) were forced-updated, and then MySQL compiled without issues.

Thanks everyone for all your help!
 
Back
Top