「あなくつ」のおもちゃばこ

Blog

FreePascalでクロスコンパイル (その後)

はい、またやってました、クロスコンパイル。ってかこれ今やるべきことじゃないんだけど、FreePascalのメーリングリストで同じように悩みを持っている人がいて、それ見たらなんかやってた(笑)。

過去の戦歴

今回は64bitのLinuxがターゲット。過去の失敗経験をもとにCygwinBinutilsのコンパイルからやってみたら、なんとかうまく行ったので手順を書き記しておく。

binutilsをつくる

  1. Cygwin入っていなければインストールする。インストール方法はネット上にいっぱいあるのでググッてね。
  2. Binutilsのコンパイルに必要と思われるCygwinのパッケージは、「make」「gcc」「cpp」「libiconv」かな。他にもあるような気もするけれど、覚えていないのでエラーになったら適宜追加する感じで。
  3. Cygwinのコンソール立ち上げて、コンパイルで使うディレクトリへ移動
    mkdir -p /usr/local/src/
    cd /usr/local/src/
    
  4. Binutilsのソースを拝借してきて、展開、移動
    wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.gz
    tar xvzf binutils-2.20.1.tar.gz
    cd binutils-2.20.1
    
  5. x86_64-linuxをターゲットにしてconfigureする
    ./configure --target=x86_64-linux
    
  6. お決まりのコマンドを実行する。ま、これが大体エラーになるから大変なんだけどね。
    make clean
    make all
    make install
    
  7. うまくコンパイルできれば「[Cygwin Dir]\usr\local\bin」においしそうなファイルが!

エラーが起こるとすればconfigureとmakeなので、エラー内容をよく見て必要なパッケージやライブラリを入れていけばいずれはコンパイルできるようになると思われる。

Free Pascalコンパイラを64bit用にコンパイル

コンパイラをコンパイルするんです。(じゃぁそのコンパイラは何でコンパイルされたんでしょう。コンパイラ?じゃぁそのコンパイラは...なんてね)

  1. 「[Cygwin Dir]\usr\local\bin」に生成された下記のファイルを「[Lazarus Dir]\fpc\[FPC Ver]\bin\i386-win32」へコピー
    • x86_64-linux-ar.exe
    • x86_64-linux-as.exe
    • x86_64-linux-ld.exe
    • x86_64-linux-objdump.exe
    • x86_64-linux-strip.exe
  2. 「[Lazarus Dir]\fpc\[FPC Ver]\bin\i386-win32」にパスを通す
  3. FPCのリポジトリからソースコードをダウンロードして適当に展開
  4. コンソールを起動し、展開したフォルダに入る
  5. コンパイルしてインストール
    make clean
    make OS_TARGET=linux CPU_TARGET=x86_64 all
    make OS_TARGET=linux CPU_TARGET=x86_64 \
    	INSTALL_PREFIX=[Lazarus Dir]\fpc\[FPC Ver] install
    
  6. 64bitコンパイラがうまく作成できれば、LazarusのコンパイラオプションからOSとCPUを64bit Linuxにしてコンパイルできるはず

これでWindowsで作成したHello Worldが64bit CentOSで動くようになった! 今回のステップを踏めば別のプラットフォーム向けもできそうだね。

あ、ちなみにLCL(Lazarus Component Library)のクロスコンパイルは試してません。とりあえず今のところ使ってないから、なくていっかな。過去の経験より手をつけるとはまるので。

タグ : 64bit,Binutils,Cygwin,FreePascal,Linux

2010/11/04 06:20:21 | Trackbacks (0) | Comments (0) | Technology

FreePascalでクロスコンパイル (再来)

いやぁ結局Linuxはダメだったんだけどね。書いておかないと忘れちゃうので。

FreePascalでクロスコンパイル (再来)」の続きを読む

タグ : 32bit,64bit,FreePascal,Lazarus,Linux,クロスコンパイル

2010/07/26 05:45:52 | Trackbacks (0) | Comments (0) | Technology

FreePascalでクロスコンパイル(続)

FreePascalは日本語の資料が非常に少ないから大変。

この前できなかったクロスコンパイルができるようになったー。これでDelphianがLinuxを制する日も近くなる。参考にしたのは公式サイトからリンクされているBuildFAQとググってでてきたBuildFAQ。後者の方がどちらかというと分かりやすい。

  • FPCのFTPサイトからbinutilsを取ってくる
  • 取ってきたファイルを展開し、fpc\[Version]\bin\i386-win32にコピー(これであっていた!)
  • fpc\[Version]\bin\i386-win32フォルダにPathを通す(Rad Studioなどの製品をインストールしている場合は、製品に付属しているmakeを使用しないように順序に注意)
  • FPCのCVSからFreePascalのソースコードをダウンロードして適当に展開
  • コンソールを起動し、展開したフォルダに入る
  • make clean
  • make OS_TARGET=linux all
  • make OS_TARGET=linux install INSTALL_PREFIX=<fpcbindir (fpc\[Version]\binなど)>

とりあえずこれでWindowsでコンパイルしたHello WorldがLinux上で動くようになった。LCLは試していないので分からないけれど、こちらもクロスコンパイル用にコンパイルが必要になりそうな予感。

タグ : FreePascal,Linux,クロスコンパイル

2009/10/14 23:05:17 | Trackbacks (0) | Comments (0) | Technology

KNOPPIXにOpera

一個前の記事で書いたUSBのKNOPPIXですが、その中にOperaを入れました。やっぱりブラウザは使いなれたものが一番なので。

KNOPPIXはDebian系なのでDebianのインストーラパッケージがそのまま使えるのですが、KNOPPIXへ普通にインストールしてもメモリディスク上にインストールされるだけなので、再起動するときれいになくなります。

再起動しても残るようにしたい場合は、/home内にインストールする必要があります(もちろん「継続的なKNOPPIXディスクイメージの作成」をやってないと残りませんよ)。Operaのダウンロードページに「TAR.GZ形式でダウンロード」というオプションがあるので、これをダウンロード。インストールスクリプトで「./install.sh --prefix=/home/knoppix」とオプションを付ければOK。

インストールすれば普通に使えるんだけれど、フォントがきたないのでフォントも変更してあげます。フォント設定ウィンドウに「文字別フォントボタン」があるのでそれをクリックして、CJK記号と日本語のフォントをIPA Pゴシックとかに変更すればキレイな文字に。

こんな感じで快適なOpera on USB-KNOPPIXライフが楽しめます。

タグ : KNOPPIX,Linux,Opera,USB

2009/01/17 21:42:40 | Trackbacks (0) | Comments (0) | Technology

USBメモリにLinuxをインストールしてみた

USBメモリにLinuxをインストールしてみました。ブラッディ・マンデイに触発されたとか、そんなハズありません。きっと。
USBメモリにLinux

4GBのUSBメモリを2GB(Windowsからも参照できる通常のメモリとして)+1GB(Linuxインストール用として)+1GB(/home用として)にパーティション切ってみました。使ったUSBメモリはハギワラシスコムの黒いヤツ。LinuxはベーシックなKNOPPIXを採用。ネットにある解説を適当に見ながらインストールしてみました。

インストールは非常に簡単でした。しかもWindowsなんかより格段に早いし。ま、ほとんどファイルコピーするだけだから当然っちゃー当然なんだけど。

ちょっとハマった点として、ASUSのマザーボードでUSBメモリからブートするようにBIOSを設定するときは、Boot Device Priority項目でRemovable Deviceを優先順位上げるのではなくHard Disk Drive項目でUSBメモリを既存のHDDより優先順位上げるように設定してあげないといけないみたいです(わかりにくい説明だな・・・)。要はUSBメモリもHDDの一つとして扱われているということです。

これで他人のパソコン使い放題・覗き放題だな(実際にやってはいけません)。どうせみんなBIOSにパスワードとかかけていないから、ブート順位変えればUSBメモリから起動し放題だぜ。

久々に熱中することやった気がする。昔はこんな風にパソコンいじったりプログラム書くことに熱中したりしたのになぁ。仕事になっちゃうとだめですな。

タグ : KNOPPIX,Linux,USB

2009/01/17 20:23:34 | Trackbacks (0) | Comments (2) | Technology

メモリを有効活用(?)

たまにはブログ書かないとね。生きているしるしを(笑)。

Linuxのイメージファイルをダウンロードしたときの図。
メモリを使いまくっている

OperaのBitTorrent機能を使ってダウンロードしたんだけれど、ダウンロード開始前のメモリの使い方が半端ない。こいつはダウンロードを開始する前にファイルサイズ分の領域をメモリに確保しようとするのだろうか。

タグ : BitTorrent,Linux,Opera,メモリ

2008/12/08 00:42:57 | Trackbacks (0) | Comments (2) | Technology

これはよい教科書

LPI-JapanというところがLinux標準教科書というのを出したみたいです。

情報学類の1年生で習う範囲くらいですかね。途中コマンドの説明ばかりだけれど、よく使うコマンドが並んでいるのでまぁアリか。

LinuxやMac触り始めの人はサクッと目を通してみる価値はあるかもしれません。

タグ : LPI-Japan,Linux,Mac,教科書

2008/09/24 21:52:15 | Trackbacks (0) | Comments (2) | Technology

これはよい教科書

LPI-JapanというところがLinux標準教科書というのを出したみたいです。

情報学類の1年生で習う範囲くらいですかね。途中コマンドの説明ばかりだけれど、よく使うコマンドが並んでいるのでまぁアリか。

LinuxやMac触り始めの人はサクッと目を通してみる価値はあるかもしれません。

タグ : LPI-Japan,Linux,Mac,教科書

2008/09/24 21:52:15 | Trackbacks (0) | Comments (2) | Technology

  • Top
  • Software
  • Blog
  • Laboratory
  • Profile
Search
Feeds of Blog
Archives

Copyright © 2004-2024 Ana-Kutsu All Rights Reserved.