/etc/make.conf は要注意

  • 投稿日:
  • by
  • カテゴリ:
  • ハッシュタグ:

先日から portupgrade すると、「Invalid perl5 version 5.20」とか言って更新してくれなくなった。
入っている perlは 5.24なんだけど?

よく分からないが、 pkg upgrade をやったら更新してくれたので、まあいいかと。
再起動して MTの管理画面にアクセスしたら動いてない。 どうやらMySQLが起動していないようだ。

/usr/local/etc/rc.dを見てみたら、mysql-serverがない。 何故かアンインストールされているようだ(mysql56-clientのみ入っている)。。
仕方なく pkg install mysql56-server でインストールしたのだが、起動しない。 
errファイルを見てみたら、「Unknown storage engine 'InnoDB'」とか仰る。
何かヘンだ... ていうか何で mysql56? mysql57のハズだろ?

という訳で、mysql57-client(serverも)をインストールする。
ところが p5-DBD-mysqlがアンインストールされてしまう。 p5-DBD-mysqlを入れようとすると、mysql57を抜いて mysql56にダウングレードしようとする。 どうなってんだ!?

ググってみたら、フォーラムにこんな質問が出ていた。

p5-DBD-mysql port insists on downgrading back to mysql56-client. | The FreeBSD Forums

Why does the p5-DBD-mysql port insist on installing the databases/mysql56-client when the mysql57-client-5.7.12, and server, are already installed? I need the DBD, but I do not want the installation of the DBD to override or otherwise take a step back in time and downgrade the MySQL Client and Server to v5.6.
 
Why is this happening? I’ve already erased all things MySQL and allowed Synth to yet again reinstall the mysql57-server-5.7.12 . . .which by the way, apparently installs the corresponding client as part and parcel with the server . . .thank you very much; however, if

それそれ。 で、アドバイスを見ると

Make sure you set appropriate DEFAULT_VERSIONS in /usr/local/etc/synth/LiveSystem-make.conf. Whatever you set on host's /etc/make.conf has no effect on Synth's builds if that wasn't clear already.
 
Code:
DEFAULT_VERSIONS += mysql=57

なるほどね。 じゃあ /etc/make.confを見てみるか。

WITH_PKGNG=yes
WITH_PKG=yes
DEFAULT_VERSIONS+=perl5=5.20
DEFAULT_VERSIONS+=ssl=openssl
PORTSNAP_UPDATE=yes

おまえかよ!!!

perl5のバージョンを5.24にして、「DEFAULT_VERSIONS+=mysql=57」を足しておきました。
portupgradeはちゃんと動くようになり、mysql57のままでも p5-DBD-mysqlをインストールできました。