Unix

Mesonを使ってGObject Introspection対応のビルドシステムを構築する方法

最近、milter managerというフリーソフトウェアを Mesonというビルドシステムに対応させる作業を行っている福田です。

その主な目的は、RubyやPython用のバインディングを自動で生成できるようにすることです。

ライブラリーがGObjectを利用している場合、 GObject Introspectionを使えば(ほぼ)自動でバインディングを生成できます。

MesonにはGObject Introspectionサポート(Meson Integration) が組み込まれているので、Mesonを使うと簡単にGObject Introspectionを利用できます。

今回は、Mesonを使ってGObject Introspection対応のビルドシステムを構築する方法を説明します。

もっと読む

Red Hat Enterprise Linux系OSの種類やバージョンを見分ける方法

最近GNU/Linux系のパッケージング周りの仕組みに初めてチャレンジしている福田です。

複数のプラットフォームを想定する場合、動作しているプラットフォームを見分けることが必要になります。

今回は、Red Hat Enterprise Linux系OSの種類とバージョンの見分け方をご紹介します。

もっと読む

GNU/Linuxの共有ライブラリーのバージョンとアプリケーションバイナリインターフェース(ABI)

最近、GNU/Linuxの共有ライブラリーのビルドシステムの改良業務をしている福田です。

共有ライブラリーのバージョンについて考えるには、共有ライブラリーの構成の仕組みと、アプリケーションバイナリインターフェース(ABI) という概念について把握する必要がありました。

普段何となく共有ライブラリーを利用する側としてはあまり意識してきませんでしたが、 共有ライブラリーを作って提供する側にとっては重要な概念です。

GNU/Linuxシステムにおいて、共有ライブラリーのメジャーバージョンは、その他の桁のバージョンに比べて特別な意味を持ちます。 メジャーバージョンが変わることは、アプリケーションバイナリインターフェース(ABI)の互換性がなくなることを示すことが一般的です。

本記事では、共有ライブラリーの構成とABIについて紹介します。

もっと読む

GitHub Actions: VirtualBoxを使って.deb/.rpmパッケージをテストする

最近GNU/Linux系のパッケージング周りの仕組みに初めてチャレンジしている福田です。

GitHub Actionsにおける.deb/.rpmパッケージのテストにVirtualBoxが便利だったので、今回はその方法についてご紹介します。

もっと読む

QEMU/KVMのWindows仮想環境上でHyper-Vを使用する方法

Groongaという全文検索エンジンの開発に参加している橋田です。

Windows仮想環境(以下、Windowsゲストと表記します)を構築して、その中でHyper-Vを使用する機会がありました。

今回は、QEMU/KVMを使ってWindowsゲストでHyper-Vを使用する方法について紹介します。

Hyper-VはDocker DesktopWSL2でも利用されるため、Windowsゲストでこれらを使用する際にも必要な設定となります。

もっと読む

Unixシェルで手軽にデータを集計する (後編)

この記事は5月16日の記事「Unixシェルで手軽にデータを集計する (前編)」の続きです。

もっと読む

Unixシェルで手軽にデータを集計する (前編)

クリアコードの藤本です。

もっと読む