Profile

書いてる人:

たけ-ちーず
紹介文:
SkypeID:take-cheeze

Link

RSS Feed

Search

Calender

Latest Article

Category

Access Counter

Online Counter

Show All Article

どうでもいい独り言。 と、少しの開発日記。
  • 11 «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • » 01
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 |
コンパイルは通った。しかし、未だ変換されず。
なんか最近、ずっとlibiconvに振り回されています。

今日は、文字コードが変換されない原因を探しているうちに脱線していました。
その脱線の原因は、libiconvのコンパイルを懲りもせずにやりだしたせいです。

libiconvのコンパイルをやったのは、色々手当たり次第にやっていたせいです。
でも、その手当たり次第で、何気にコンパイルを通してしまいました。

でも、脱線は脱線。
問題は、全く解決しませんでした。

わたしって、ダメな子ですね。


でも、ダメ人間で終わりたくないので、記録だけでも残しておきます。
全くの悪足掻きですが……。


とりあえず、最新のソースを落としてきて適当なところに解凍しました。
そして、build-aux/config.subとlibcharset/build-aux/config.subの編集をしました。

両ファイルとも編集内容は共通で編集箇所は三ヶ所でした。

一つ目。

| mipstx39 | mipstx39el \


の後ろに

| mipsallegrex | mipsallegrexel \


を書き加えました。

二つ目。

| mipstx39-* | mipstx39el-* \


の後ろに

| mipsallegrex-* | mipsallegrexel-* \


を書き加えました。

三つ目。

ps2)
basic_machine=i386-ibm
;;


の後ろに

psp)
basic_machine=mipsallegrexel-psp
os=-elf
;;


を書き加えました。

この辺は、このページを参考にしました。


次に、lib/gentranslit.cの編集をしました。
わたしの環境では、これをやらないと躓きます。

まず、

unsigned int data[0x100000];
int uni2index[0x110000];



unsigned int* data = malloc(sizeof(unsigned int)*0x100000);
if(data==NULL) exit(1);
int* uni2index = malloc(sizeof(int)*0x110000);
if(uni2index==NULL) exit(1);


に書き換えます。

そして、

if (ferror(stdout) || fclose(stdout))
exit(1);
exit(0);


の前に

free(data);
free(uni2index);


を書き加えます。

これは、要はスタックオーバーフローの回避策です。

このプログラムでは、ローカル配列で、かなりの容量を確保しようとしています。
でも、わたしの環境ではスタックの容量が足りなかったみたいです。
なので、ローカルで確保せず、ヒープで確保しました、ということです。

この解決策に気付くのには、けっこう時間掛かりました。


それで、

./autogen.sh
LDFLAGS="-L$(psp-config --pspsdk-path)/lib -lc -lpspuser -lpspnet_inet" \
./configure --host psp --prefix=$(psp-config --psp-prefix)


と打ってからsrclib/Makefileの

gl_LIBOBJS = canonicalize-lgpl.o error.o memmove.o readlink.o sigprocmask.o strerror.o



gl_LIBOBJS = canonicalize-lgpl.o error.o memmove.o readlink.o strerror.o


と書き換えます。
これは、実は使っていなかったsigprocmask.oという要らない子を除外する行為です。
端的に言えば、前にブログに書いたことを回避するための策です。


最後に、

make
make install


と打って、インストールが完了しました。


これ書いてて思ったんですけど、わたし、少しだけ進歩しましたね。
前までできなかった事が出来るようになったんですから。

とは言っても、ただの言い訳かもしれませんが……。


最近、なかなか進まなくて辛いです。
世の中、うまく行くコトの方が少ないといいますが、それでも辛いです。
世の中、面白くないことは、面白くないですから。

でも、まだ頑張れるので明日も頑張ります。
まだ、きっとうまく行くと信じていますから。


明日は、iconv_openの挙動あたりを探ってみます。
なんか、あの関数には、制約がありそうですから。

では、お休みなさい。
【2009/08/17 23:59】 | RPG2k_Emu | トラックバック(0) | コメント(0) |
<<意外に簡単なことだった。 | HOME | そろそろ夏休みが終わるらしいです。>>
コメント
コメントの投稿












管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://takecheeze.blog47.fc2.com/tb.php/81-73e524c1
この記事にトラックバックする(FC2ブログユーザー)
ホーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。