PSP開發一 linux菜鳥fedora下配置psp開發環境

      雖然從我去年拿到psp的時候就很想自己能寫一個能在psp上運行的什麼,之前也在windows上嘗試過幾次配置psp開發環境,但是都沒有成功。十一放假,看了下運勢,說這個星期適合學習第二專長,想想自己很早之前就想好好學習下C,爲什麼不在linux下配置一個psp的開發環境呢!正好是一方兩便。

於是折騰開始了。下載了psptoolchain後果斷運行toolchain.sh,隨後錯誤接踵而來,我淹沒其中,以下就是今天遇到的錯誤。

1、無法訪問/usr/include/mpfr.h
      首先想到去/usr/include下面去找,發現果然沒有mpfr.h,網上搜了一下,也不知道mpfr.h是什麼,但是沒有就要讓他有,不然沒辦法走下去了,發現一個地址:http://petio.org/tools/mpfr.html ,照着上面的命令敲(雖然對linux不是很瞭解,但是裏面的命令是什麼意思還是知道的),弄完過後再去/usr/include下面一看,果然mpfr.h有了!
繼續
2、ERROR: set $PSPDEV before continuing
     我居然一眼就看出是沒有設環境變量,真是佩服我自己!可是linux下環境變量是怎麼設的,我也不知道,還好有google,一搜,發現第一條就是這個地址:http://forums.qj.net/psp-development-forum/113149-le-urgent-error-set-pspdev-before-continuing.html ,看了一下(雖然英語四級沒過,但是純英文的文檔可沒少看)。照着上面的最佳答案:

cd ~
echo 'export PSPDEV=/usr/local/pspdev' >> .bashrc
echo 'export PATH=$PATH:$PSPDEV/bin' >> .bashrc

敲(上面兩句的前半部分大致知道什麼意思,後面不清楚,後來才知道是個文件名  )。
敲完後沒用!居然沒用!

再搜,再vi ~/.bashrc,後來發現好多人在ubuntu上面配置psp環境的,一路看下來,發現ubuntu上配置完環境變量後可以用source ~/.bashrc來讀取新環境變量,我也用這個命令在fedora下面試一試。結果,沒報錯,再用export命令看一下,仔細查看發現已經有了,但是不是我最新修改的。搜一下fedora下面關於環境變量的主題,初步得出結果修改環境變量後要註銷才能起作用,算了註銷吧。
註銷再進來,export發現變成最新修改的了,./toolchain.sh!還是這個錯誤,難道環境變量還是不對!,再export,再三仔細查看,真是坑爹啊!PSPDEV=/usr/local/pspdev我居然寫成PSPSDEV=/usr/local/pspdev!粗心害死人啊!修改、註銷、登錄、./toolchain.sh,終於前進了!
3、文件 “binutils-2.16.1.tar.bz2” 不存在。
      到下載文件了,第一個就報錯!真是…………
      照着上面下載的路徑:ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.16.1.tar.bz2 ,在瀏覽器中用http訪問,發現是 404 not found,往上一級,發現有個列表,仔細查看,果然沒有報錯的這個文件名。
怎麼辦?修改那個什麼文件!?還是先搜索一下吧。
搜索後發現很多人都手動下載這些下載文件,說省時間,我想我是不是可以手動下載避過這個錯誤呢!沒有binutils-2.16.1.tar.bz2這個文件我就下載一個跟他很像的吧,wget http://ftp.gnu.org/pub/gnu/binutils/binutils-2.16.1a.tar.bz2下載到build文件夾下,rename爲binutils-2.16.1.tar.bz2。再./toolchain.sh結果,還是不行,估計是要刪掉那個script才行,不過我不敢啊,算了,修改scripts/001-binutils-2.16.1.sh吧,把ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.16.1.tar.bz2 改爲:ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.16.1a.tar.bz2 (就爲了這個小小的"a",我……)。

執行./toolchain.sh
繼續了!聽說時間很長,我先去洗衣服,然後再洗個澡,如果還沒有結束我再去逛個街。
4、svn: 無法連接主機“svn.ps2dev.org”: 連接超時
     好吧生活肯定不會都讓你如願以償。

     當我準備去洗澡的時候新的錯誤出現了,svn: 無法連接主機“svn.ps2dev.org”: 連接超時,這個之前已經看到別人有遇到這個問題了,沒辦法該改吧
按照:http://blog.csdn.net/mimepp/article/details/5893695 說的方法改了,沒用還是找不到。上面說ps2dev.org的東西都拷貝到psp.jim.sh上了,所以去psp.jim.sh上找吧,看看裏面需要修改的路徑在psp.jim.sh上是什麼路徑,很快就搞定,新路徑http://psp.jim.sh/svn/psp/trunk/pspsdk;http://psp.jim.sh/svn/psp/trunk/pspsdk; http://psp.jim.sh/svn/psp/trunk/psplinkusb。保存好修改的./scripts/003-pspsdk-stage1.sh ./scripts/006-pspsdk-stage2.sh ./scripts/009-psplinkusb.sh三個文件。
繼續./toolchain.sh
5、文件 “gdb-6.8.tar.bz2” 不存在。
     抽空去逛了下街回來,意料之中,錯誤出現。

     這個錯誤之前已經有類似的出現了,解決輕車熟路。在文件007-gdb-6.8.sh中把ftp://ftp.gnu.org/pub/gnu/gdb/gdb-6.8.tar.bz2 改爲ftp://ftp.gnu.org/pub/gnu/gdb/gdb-6.8a.tar.bz2 (到這裏我才發現原來光改這個地方還不行,在錯誤3這樣改可以是因爲,我之前手動下載了文件,然後手動將下載下來的文件重命名爲shell腳本里正確的文件名,所以這樣做可以。所以還需要修改其他的解壓shell,不過算了,我還是用我之前的方法,進入build文件夾把文新的文件名手動改成舊的吧。)
繼續
6、致命錯誤:usb.h:沒有那個文件或目錄
     多災多難啊!沒辦法,找原因吧。
     這個問題比較讓我覺得棘手,關鍵是不知道usb.h在什麼地方,先不急,我打開main.c看看先。一打開裏面很多頭文件,我把它們都拷出來仔細看了看,發現裏面有我大學很熟悉的stdio.h等,看裏面的路徑,我想應該再/usr/include下面去那裏看看,果然沒有usb.h,google一下,在看了無數外國朋友的問題與回答後,大致得出結論,這個是psp的usb鏈接用的,不過看我下載下來的文件命名的文件夾來看好像是windows用的啊,在fedora下有用嗎!不管了,上面有人說這些文件是和psplinkusb下載下來的退到build文件夾,抄起find -name usb.h,果然找到,順便把其他幾個include下面沒有的頭文件給找到,順便cp usb.h /usr/include下繼續編譯,發現有效果。
但是接着就給我來個:致命錯誤:windows.h:沒有那個文件或目錄。這下我徹底傻了。

忙了一天體力消耗殆盡,明天再整吧,今天前後連續弄了8個小時。還是沒能寫個hello psp出來,不過看到網上有人說這個009-psplinkusb.sh不是開發必備的,不過我也不知道,還沒有驗證,今天累了就到這吧。

另:不斷的嘗試,不斷的./toolchain.sh,每次都重頭來好浪費時間,到最後我實在忍不住了,建了一個備份文件夾,google了一下mv指令的用法:mv 006-pspsdk-stage2.sh ../scripts_bak把前面成功執行的sh文件全都移動到備份文件夾去,這樣快多了!

對於一個累計linux上機時間不足60小時的人來說,能在fedora下面配置psp開發環境,我真的很佩服我自己!

我要繼續加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章