Gentoo LinuxでMingwを使ったクロスコンパイル
crossdevをインストール
# emerge -v sys-devel/crossdev
/etc/make.confにPORTDIR_OVERLAYを追加
PORTDIR_OVERLAY="/usr/local/portage"
/usr/local/portageがない場合はディレクトリを作成
# mkdir /usr/local/portage
i686-mingw32の環境を構築
# crossdev --stable --target i686-mingw32
動作確認
次のようなサンプルコードをビルドしてみます。
mingw-sample.c
#include <windows.h>
int main()
{
MessageBox(NULL, "Hello world!", "Hello world!", MB_OK);
return 0;
}
ビルドは次のようにします。
$ i686-mingw32-gcc -mwindows -o mingw-sample.exe mingw-sample.c
$ i686-mingw32-strip mingw-sample.exe
ビルドしたファイルはwineで実行可能です。
$ wine mingw-sample.exe
もちろん、Windows環境に持って言って実行することもできます。
※strip
はなくてもかまいませんが、デバックに使われるデータを削除して、ファイルサイズを小さくしたい場合に使います。
関連記事
Gentoo LinuxでNTFSとexFATを使う手順
Gentoo LinuxでNTFSとexFATを使う手順について
カーネルの準備
File systems --->
<*> FUSE (Filesystem in Userspace) support
DOS/FAT/NT Filesystems --->
<*> NTFS file system support
<*> NTFS ...
Gentoo LinuxでGRUBのタイムアウトを設定
Gentoo LinuxでGRUBのタイムアウトをデフォルトの5秒から変更したい場合は、/etc/default/grubのGRUB_TIMEOUT=5という部分を書き換えると良いようです。
# Boot the default entry this many seconds after the menu is displayed
GRUB_TIMEOUT=10
#GRUB_TIMEOUT...
Gentoo Linuxの古いPORTAGEをダウンロードする方法
Gentoo Linuxの古いPORTAGEをダウンロードしたい場合は
Index of /gentoo/releases/snapshots/current/squashfshttp://distfiles.gentoo.org/releases/snapshots/current/squashfs/
から毎月1日のスナップショットがダウンロードできるようになっています。
s...
Gentoo Linuxでインストールしたパッケージの一覧
Gentooでインストールしたパッケージの一覧を調べたい場合は、次のような場所を探してみると良いそうです。
emergeでインストールしたパッケージの一覧
/var/lib/portage/world
--oneshotのオプションを付けてインストールした場合はリストに追加されないみたいです。
インストールしてあるパッケージの一覧
/var/db/pkgにあるディレ...
Gentoo LinuxのKernel Upgradeガイド
Gentoo LinuxのKernel Upgradeガイド(自分用メモ)です。
1. インストール
# emerge --ask sys-kernel/gentoo-sources
2. eselect
# eselect kernel list
# eselect kernel set <target>
3. ビルド&インストール 注
# cd ...
Unsafe load call disabled by Gentoo
Gentoo Linux上でとあるPythonスクリプトを実行したところ
Error: Unsafe load() call disabled by Gentoo. See bug #659348
のようなエラーで実行できなくなってしまいました。
以前は問題なく動いていたスクリプトです。ということで少し調べてみたところ、下の件が関係しているような感じです。
659...