Solved MySQL 5.5 Upgrade Issue

Mayhem30

Well-Known Member

Reaction score: 26
Messages: 461

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]
 
OP
M

Mayhem30

Well-Known Member

Reaction score: 26
Messages: 461

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.
 

marino

Daemon

Reaction score: 447
Messages: 1,091

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.
 

marino

Daemon

Reaction score: 447
Messages: 1,091

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))
 
OP
M

Mayhem30

Well-Known Member

Reaction score: 26
Messages: 461

Fair enough, I will look at the other options you mentioned - but in the meantime, how do I fix this?
 

marino

Daemon

Reaction score: 447
Messages: 1,091

The fail safe way is to rebuild all the ports and force-upgrade after that. libreadline is far reaching.
 
OP
M

Mayhem30

Well-Known Member

Reaction score: 26
Messages: 461

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%
 
OP
M

Mayhem30

Well-Known Member

Reaction score: 26
Messages: 461

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.
 

SirDice

Administrator
Staff member
Administrator
Moderator

Reaction score: 12,744
Messages: 39,332

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.
 
OP
M

Mayhem30

Well-Known Member

Reaction score: 26
Messages: 461

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]
 

ShelLuser

Son of Beastie

Reaction score: 2,112
Messages: 3,792

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.
 
OP
M

Mayhem30

Well-Known Member

Reaction score: 26
Messages: 461

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!
 
Top