前回RINのコンパイルができずに2chに修行に行くといってから数日が経ちましたが実は2chではあまり修行していなかったり…なさぼてんです。
前回の記事のコメントを参考にいろいろと悪戦苦闘したので紹介します。
まず、unziplib.a・libpng.a・libz.aが無い件について。
さぼてんはこれらのライブラリは次のようなコマンドでインストールしました。
$ svn export svn://svn.pspdev.org/psp/trunk/zlib
$ cd zlib
$ make
$ make install
$ svn export svn://svn.pspdev.org/psp/trunk/libpng
$ cd libpng
$ make
$ make install
これでライブラリはインストールされたはずです。
が、これでも
psp-gcc: lib/unziplib.a: No such file or directory
psp-gcc: lib/libpng.a: No such file or directory
psp-gcc: lib/libz.a: No such file or directory
make: *** [out] Error 1
と出てくるΣ(゚д゚;)
※ちなみに上のインストールではunziplibについてはインストールしていないことはわかっています。
そこで…、RINのソースファイルについていたHowtoCompile.txtをもう一度読み返してみた結果…
(1)zlib・libpng・unziplibのソースをダウンロード
(2)RINのソースにあるlibフォルダのlibpng128にlibpngのソース、unziplibにunziplibのソース、zlib122にzlibのソースをそれぞれ上書きせずにコピー
(3)各フォルダでコンパイル
(4)できたzlib.a・libpng.a・unziplib.aをRINソースのlibフォルダにコピー
ということに気付きました!!
でもって、ライブラリの調整が終わってもういちどmakeしてみると…
psp-gcc -nostartfiles -Wl,-Ttext=0x08900000 startup.o gbcore/cpu.o gbcore/gb.o gbcore/lcd.o gbcore/sgb.o gbcore/rom.o gbcore/mbc.o gbcore/apu.o gbcore/cheat.o main.o pg.o renderer.o menu.o filer.o sound.o saveload.o image.o gz.o syscall.o lib/unziplib.a lib/libpng.a lib/libz.a -lc -o out
gbcore/cheat.o: In function `hex2n':
cheat.c:(.text+0x0): relocation truncated to fit: R_MIPS_GPREL16 against `__ctype_ptr'
gbcore/cheat.o: In function `cheat_load':
cheat.c:(.text+0x5e4): relocation truncated to fit: R_MIPS_GPREL16 against `__ctype_ptr'
/usr/local/pspdev/lib/gcc/psp/4.3.2/../../../../psp/lib/libc.a(setsockopt.o): In function `setsockopt':
../../../../../../newlib/libc/sys/psp/socket.c:293: undefined reference to `sceNetInetSetsockopt'
../../../../../../newlib/libc/sys/psp/socket.c:296: undefined reference to `sceNetInetGetErrno'
/usr/local/pspdev/lib/gcc/psp/4.3.2/../../../../psp/lib/libc.a(setsockopt.o): In function `getsockopt':
../../../../../../newlib/libc/sys/psp/socket.c:167: undefined reference to `sceNetInetGetsockopt'
../../../../../../newlib/libc/sys/psp/socket.c:170: undefined reference to `sceNetInetGetErrno'
collect2: ld returned 1 exit status
make: *** [out] Error 1
とでてきた((((((ノ゚⊿゚)ノ
なんかライブラリはどうにかなったぽいがまだまだ問題がある感じです。
まだまだ試行錯誤してみたいと思いマス。
ということで次回あたりにはRINのコンパイルを成功したいと思いマスのでよろしく|ω・`)ノ