ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × FreeBSDのMariaDB 10.4から設定ファイルがserver.cnfに変わった FreeBSDのMariaDB 10.3を10.5に更新し起動しようとしたら、以下のメッセージが出て起動できなかった。 $ sudo service mysql-server start Please merge existing /usr/local/etc/my.cnf file with /usr/local/etc/mysql/conf.d/server.cnf /usr/local/etc/rc.d/mysql-server: WARNING: failed precmd routine for mysql my.cnfとserver.cnfをマージしろとな。 /usr/ports/UPDATINGを探ると以下の文言を発見。 20200526: AFFECTS: users of databases/mariadb104-client, databases/mariadb104-server AUTHOR: brnrd@FreeBSD.org The ports now add sample configuration files to /usr/local/etc/mysql. You must merge your client configuration with the conf.d/client.cnf and your server configuration with conf.d/server.cnf. MariaDB 10.4から設定ファイル置き場が/usr/local/etc/mysqlになったっぽい。今までmy.cnfに一緒くたで書いていたサーバ、クライアントの設定は、それぞれconf.d/server.cnfとconf.d/client.cnfに分ける流儀になった模様。一応、my.cnfも存在するので、そこに書いても問題はないだろうけど… とりあえず目マージで対応し、/usr/local/etc/my.cnfを消したところ、無事起動することを確認。 FreeBSD PortsにFlavorsなる仕組みが出来てた graphics/pecl-imagickをインストールしようとFreshPortsでportの情報見てたら、“Package flavors”なる項目があるのに気付いた。 ハンドブックによれば、Flavorsとは1つのportに複数のバリエーションを持たせる方法とのこと。多くの機能といくらかのパッケージ依存関係を持つノーマルバージョンと、最低限の機能と依存関係しかない軽量バージョンの2つのFlavorをportに持たせるとか、GUIツールキット毎にFlavorを分けるとか、そういう使い方を想定しているようだ。 2017-11-30にリリースされた仕組みで、どうやらPythonモジュール関連portsの整理かなんかで導入された雰囲気(一次情報を追ったわけではないので当てずっぽう。同日にpy36-*のportsは全てFlavor化されpy-*に統合されている)。 件のpecl-imagickについて言えば、php71/php72/php73とPHPのバージョンごとにFlavorが用意されている(2019-08-15現在)。Flavorの有無はそれぞれのportのディレクトリでmake pretty-flavors-package-namesとすると確認できる。 $ cd /usr/ports/graphics/pecl-imagick $ make pretty-flavors-package-names php73: php73-pecl-imagick-3.4.4 php71: php71-pecl-imagick-3.4.4 php72: php72-pecl-imagick-3.4.4 Flavorの指定はmakeでFLAVOR変数に渡せばおk。 # make FLAVOR=php73 これはなかなか便利ですな。 以前は、lang/php71を使いたいのにPECL拡張モジュールのportはPHP 5.6向けになってて、PHP 7.1用には自前でpeclコマンド叩いて入れなきゃならないって事があったけど、Flavor使えばports/packagesにおんぶにだっこできて楽チン。 あ、書いてて思い出したけど、Flavor付きのportはFlavorごとにpackageが分かれる点は留意の必要あり。上のコマンド例で分かる通り、php73フレーバーでpecl-imagickをインストールした場合、パッケージ名はphp73-pecl-imagickとなる。 FreeBSD 12のApache 2.4.39がunion semun ickふんだららでビルドエラー FreeBSD 12.0-RELEASEへの更新中、www/apache24のports更新で以下のようなビルドエラーが起きた。 unixd.c:245:25: error: variable has incomplete type 'union semun' union semun ick; ^ unixd.c:245:19: note: forward declaration of 'union semun' union semun ick; ^ 1 error generated. *** [unixd.lo] Error code 1 union semunが定義されとらんとな…。 ググってみたら既にバグチケが上がっていた。メンテナ曰く、当該箇所を削除するか全部のトップレベルのportsをリビルドせよとの事だが、後者は面倒でござる。というか、“全てのトップレベル”の範囲がわからんかったので、ソース修正でどうにかする。 /usr/ports/www/apache24/work/httpd-2.4.39/os/unix/unixd.cの240行目付近、#if !APR_HAVE_UNION_SEMUNによってunion semunの定義がなくなっているようなので、#ifと#endifをコメントしてやる。 apr_os_proc_mutex_t ospmutex; //#if !APR_HAVE_UNION_SEMUN ///★コメントアウト! union semun { long val; struct semid_ds *buf; unsigned short *array; }; //#endif ///★コメントアウト! union semun ick; struct semid_ds buf = { { 0 } }; あとは/usr/ports/www/apache24の下でmake installすればビルドは通る。……が、起動しようとするとSegmentation faultで落ちるぅorz。 見た感じdevel/apr1関係のコードのような気がするので、portmaster apr –force-configでaprをリビルド。その後、改めてportmaster apache24 –force-configしたら無事ビルドも通って問題なく起動した。 FreeBSDでmake.confのWITHOUT_MODULEが使えなくなっていた FreeBSD 11.2-RELEASE-p7でwww/apache24をビルドしようとしたら、下記のエラーが出て処理が止まってしまった。 ===>>> Port directory: /usr/ports/www/apache24 ===>>> This port is marked IGNORE ===>>> : Error from apache.mk. WITH(OUT)_MODULES has been removed, use www_apache24_(UN)SET ===>>> If you are sure you can build it, remove the IGNORE line in the Makefile and try again. Apacheだけではなく、他のportsでも出るものがあるようだ。 原因はというと、/etc/make.conf内のWITHOUT_MODULE, WITH_MODULEの記述。どうやら、これらオプションは/etc/src.confの方に書くようになったらしい。make.confからsrc.confに移動したら無事makeが通るようになった。 このオプションはカーネル構築に効くもののようなので、いっそ消してしまってもさほど問題ないかもしれない。 FreeBSDのmail/courierが0.65止まりなのは依存パッケージの問題 /-変人御用達の-/ Courier Mail Serverのバージョンが、9月にめでたく1.0の大台に乗っていた。 その一方、FreeBSDのportsのmail/courierは何年も0.65止まり。メンテ自体は行われていて、0.65.3のまま周辺環境の変更に追従している感じ。なぜ本体のバージョンアップを行わないのか不思議だったんだけど、MLによれば、メンテナが他の件で忙しいのと、0.65より新しいCourierは依存関係が増え、その解消のために新たなportsを作らなきゃならんのが原因らしい。まぁ、その投稿(2014年)から4年が経つわけですがね…。 早く追従してくれないかなー(人任せ start.txt 最終更新: 2022-07-27 15:26by Decomo