mysql_configのインストール
mysql_configのインストール方法を紹介します。
1.問題点
先日のPerl5.38.2のアップデートで、DBD-mysqlのモジュール不足が発生しました。
cpanでインストールできなかったため、アーカイブをダウンロードしてビルドしようとしたところ、下記のエラーが発生しました。
Can't exec "mysql_config": そのようなファイルやディレクトリはありません at Makefile.PL line 85.
色々調べてみて、下記のコマンドを実行してみたのですが、エラーになりました。
# dnf install mysql-community-devel
引数に一致する結果がありません: mysql-community-devel
エラー: 一致するものが見つかりません: mysql-community-devel
ということで、mysql_configのインストール方法を紹介します。
LinuxはCentOS9です。
2.mysql_configのインストール
まず、下記のコマンドでmysql_configが提供されているパッケージを探します。
# dnf provides mysql_config
私の環境では次の4つが表示されました。
# dnf provides mysql_config
メタデータの期限切れの最終確認: 0:23:38 前の 2024年06月14日 12時02分30秒 に実施しました。
mariadb-connector-c-devel-3.1.13-3.el9.i686 : Development files for mariadb-connector-c
Repo : appstream
一致:
ファイル名 : /usr/bin/mysql_config
mariadb-connector-c-devel-3.1.13-3.el9.x86_64 : Development files for mariadb-connector-c
Repo : appstream
一致:
ファイル名 : /usr/bin/mysql_config
mariadb-connector-c-devel-3.2.6-1.el9.i686 : Development files for mariadb-connector-c
Repo : appstream
一致:
ファイル名 : /usr/bin/mysql_config
mariadb-connector-c-devel-3.2.6-1.el9.x86_64 : Development files for mariadb-connector-c
Repo : appstream
一致:
ファイル名 : /usr/bin/mysql_config
この中から適合するパッケージをインストールします。
# dnf install mariadb-connector-c-devel-3.2.6-1.el9.x86_64
実行結果を掲載しておきます。
# dnf install mariadb-connector-c-devel-3.2.6-1.el9.x86_64
メタデータの期限切れの最終確認: 0:24:35 前の 2024年06月14日 12時02分30秒 に実施しました。
依存関係が解決しました。
====================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
====================================================================================================================================================================
インストール:
mariadb-connector-c-devel x86_64 3.2.6-1.el9 appstream 58 k
依存関係のインストール:
mariadb-connector-c x86_64 3.2.6-1.el9 appstream 198 k
openssl-devel x86_64 1:3.2.2-1.el9 appstream 4.4 M
zlib-devel x86_64 1.2.11-41.el9 appstream 45 k
トランザクションの概要
====================================================================================================================================================================
インストール 4 パッケージ
ダウンロードサイズの合計: 4.7 M
インストール後のサイズ: 5.8 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/4): mariadb-connector-c-devel-3.2.6-1.el9.x86_64.rpm 443 kB/s | 58 kB 00:00
(2/4): mariadb-connector-c-3.2.6-1.el9.x86_64.rpm 1.3 MB/s | 198 kB 00:00
(3/4): zlib-devel-1.2.11-41.el9.x86_64.rpm 1.2 MB/s | 45 kB 00:00
(4/4): openssl-devel-3.2.2-1.el9.x86_64.rpm 6.8 MB/s | 4.4 MB 00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 3.0 MB/s | 4.7 MB 00:01
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
準備中 : 1/1
インストール中 : zlib-devel-1.2.11-41.el9.x86_64 1/4
インストール中 : openssl-devel-1:3.2.2-1.el9.x86_64 2/4
インストール中 : mariadb-connector-c-3.2.6-1.el9.x86_64 3/4
インストール中 : mariadb-connector-c-devel-3.2.6-1.el9.x86_64 4/4
scriptletの実行中: mariadb-connector-c-devel-3.2.6-1.el9.x86_64 4/4
検証中 : mariadb-connector-c-3.2.6-1.el9.x86_64 1/4
検証中 : mariadb-connector-c-devel-3.2.6-1.el9.x86_64 2/4
検証中 : openssl-devel-1:3.2.2-1.el9.x86_64 3/4
検証中 : zlib-devel-1.2.11-41.el9.x86_64 4/4
インストール済み:
mariadb-connector-c-3.2.6-1.el9.x86_64 mariadb-connector-c-devel-3.2.6-1.el9.x86_64 openssl-devel-1:3.2.2-1.el9.x86_64 zlib-devel-1.2.11-41.el9.x86_64
完了しました!
3.参考サイト
参考サイトは下記です。ありがとうございました。
pip install mysqlclient returns OSError: mysql_config not found on CentOS9 with Python3.9
Perl5.38.2のインストール
Linux環境にPerl5.38.2をインストールしてみました。
ディストリビューションはCentOS8.1です。
1.ソースのダウンロード
ソースからビルドするので、「Perl Source」のページから「perl-5.38.2.tar.gz」をクリックしてダウンロードします。
2.ビルド
ダウンロードしたアーカイブを解凍して、ディレクトリに移動します。
# tar xvf perl-5.38.2.tar.gz
# cd perl-5.38.2
configureは次のオプションを追加しています。
# sh Configure -des -Dusethreads -Dinc_version_list=none
各オプションの意味は次の通りです。
- sh Configure:Configureをシェルで実行します。Configureはシステムに適したビルド設定を行うためのものです。
- -d:デフォルトの設定を使用することを指示します。ユーザーからの入力を求めずに進行します。
- -e:全ての設定を自動的に進めることを意味します。このオプションによりユーザーは一切の質問に対して「yes」と回答したことになります。
- -s:Silentモードを意味します。通常の動作では進行状況が表示されますが、-sを使用すると出力が抑制されます。
- -Dusethreads:Perlをスレッドサポート付きでビルドすることを指示します。これによりPerlでマルチスレッドプログラミングが可能になります。
- -Dinc_version_list=none:Perlインタープリタが特定のバージョンディレクトリを探さないように設定します。このオプションは、異なるバージョンのPerlモジュールが混在するのを防ぐために使われます。
下記のように実行されます。少し時間がかかります。
# sh Configure -des -Dusethreads -Dinc_version_list=none
First let's make sure your kit is complete. Checking...
Locating common programs...
:
If you compile perl5 on a different machine or from a different object
directory, copy the Policy.sh file from this object directory to the
new one before you run Configure -- this will help you with most of
the policy defaults.
#
完了したら、makeを実行します。これもかなり時間がかかります。
# make
# make test
# make install
パスはまだ古いバージョン(5.26.3)のままです。
# perl -v
This is perl 5, version 26, subversion 3 (v5.26.3) built for x86_64-linux-thread-multi
(with 51 registered patches, see perl -V for more detail)
今回インストールしたPerlは、/usr/local/binにインストールされたようです。
# which perl
/usr/local/bin/perl
# /usr/local/bin/perl -v
This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux-thread-multi
シンボリックリンクを使って、perlのパスを新しいバージョンのものに書き換えます。古いバージョンのperlはリネームしてバックアップしておきます。
# cd /usr/bin
# ls -l perl
-rwxr-xr-x. 2 root root 14328 5月 12 2019 perl
# mv perl perl-5.26.3
# ln -s /usr/local/bin/perl perl
# ls -l perl
lrwxrwxrwx 1 root root 19 6月 13 22:30 perl -> /usr/local/bin/perl
最後にバージョン確認して、5.38.2になっていればOKです。
# perl -v
This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux-thread-multi
3.参考サイト
参考サイトは下記です。ありがとうございました。
Movable Typeのブロックエディタ(MTBlockEditor)のカスタムブロックについて
Movable Typeのブロックエディタ(MTBlockEditor)のカスタムブロックの紹介です。
1.はじめに
Movable Type 8からMTBlockEditorがデフォルトのプラグインとなりました。
MTBlockEditorではデフォルトで用意されているブロックの他に、任意のブロック(カスタムブロック)を作成することができます。
ここでは、公式マニュアルに掲載されている「Markdown」ブロックを作ってみたいと思います。
参考:カスタムブロック機能を利用して高機能な Markdown を利用する
2.カスタムブロック(Markdown)の作成
左メニューより「ブロックエディタ」→「カスタムブロック」をクリック。
「新規作成」をクリック。
- 名前:Markdown
- 識別子:markdown
を設定。アイコンは設定しなくて大丈夫です。
「ブロック」の「+ブロックを追加」をクリック。
「テキスト(複数行)」をクリック。
- クラス名:source
- ブロック要素:P
- フォーマット:なし
を設定または選択。「ラベル」「説明」「規定値」は設定不要です。
「カスタムスクリプト」に下記の内容を設定。これがMarkdown記法に対応するためのスクリプトになります。
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/1.1.0/marked.min.js" integrity="sha256-POA+Q3FC8tyo/jZhQrw40H5mKcWAABdxNeUQ/uhIm4U=" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
if (document.body.dataset.hasCompiledHtml) {
return;
}
const source = document.querySelector(".source").innerHTML;
MTBlockEditorSetCompiledHtml(marked(source));
});
</script>
「コンテナ要素で包む」の「編集した内容をDIV要素で囲む」と「ブロックの追加と削除」の「ブロックの追加と削除を許可する」のチェックを外します。「ブロックの追加と削除を許可する」のチェック有無の違いは3項で説明します。
「プレビューの表示」の「プレビューを表示する」はチェックします。チェックすることで、テキストエリアからフォーカスが外れると、プレビュー表示に切り替わりので分かりやすいと思います。
「保存」をクリックして作成完了です。
3.カスタムブロック(Markdown)の利用
ここではコンテンツデータの「テキスト(複数行)」から利用します。
「フォーマット」から「ブロックエディタ」を選択。
「+ブロックを追加」をクリック。
「Markdown」を選択(「名前」で設定した「Markdown」が表示されます)。
ここに表示されたアイコンは下記のSVGで生成されているようです。
data:image/svg xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><style>text{font-family:'Arial';font-weight:bold;font-size:405px}</style><circle r='256' cx='256' cy='256' stroke='none' fill='#666'></circle><text x='256' y='274' text-anchor = 'middle' dominant-baseline = 'central' fill='white'>M</text></svg>
Markdown用のテキストエリアが表示されます。テキストエリアにフォーカスがあたったとき、「名前」で設定した「Markdown」がヘッダに表示されます。
設定画面で、「ブロックの追加と削除を許可する」のチェックを入れると、次のようにMarkdownブロック内に他のブロックが追加可能になります。
Markdown記法で入力してみます。「*~*」がイタリック、「**~**」が太字、「***~***」がイタリック+太字です。
フォーカスが外れると、プレビューが表示されます。
設定画面の「プレビューを表示する」のチェックを外せば、フォーカスが外れてもMarkdown記法がそのまま表示されます。