f Strawberry Perl 5.30 上安裝OpenSource IDE -- Padre ~ 迪貝之家

Pages

Strawberry Perl 5.30 上安裝OpenSource IDE -- Padre

我看了一下padre的更新
最新的一版是1.00
2013 11/09放上去的
雖然寫perl程式不需要用到IDE
我是安裝來玩看看
搞不好以後會很常寫perl
有個好工具總是會方便許多
安裝指令cpanm Padre -n下下去之後
Alien::wxWidgets這個模組的安裝跑好久
但會成功,害我差點以為是不是又哪裡掛了
還好最後成功了
接著就是要安裝Wx,這模組會掛
因為IDE就是圖形介面
所以wxWidgets與Wx都是跟圖形介面開發有關
仔細看Wx的安裝錯誤
它會告訴你,去看哪一個Log
打開來看之後
你會看到下列錯誤
C:\strawberry-perl-5.30.0.1-64bit-PDL\perl\lib\CORE/perl.h:175:16: error: 'my_perl' was not declared in this scope
# define aTHX my_perl
^~~~~~~
C:\strawberry-perl-5.30.0.1-64bit-PDL\perl\lib\CORE/embedvar.h:38:18: note: in expansion of macro 'aTHX'
# define vTHX aTHX
^~~~
C:\strawberry-perl-5.30.0.1-64bit-PDL\perl\lib\CORE/embedvar.h:54:19: note: in expansion of macro 'vTHX'
#define PL_Mem (vTHX->IMem)

我就用標了紅色的字串上網去查了
就找到了這一篇Bug #129768 for Wx
一看到它是個bug,想說就此打住了
OpenSource的領域,我怎麼去要求人家給個Patch出來?
又沒付錢...就只能耐心等待人家有空
佛心來著,釋放出一個更新
不過我還是耐著性子慢慢的把該bug文件整篇看完
突然發覺,好像不是不能自己解ㄝ
因為它只是在perl 本身及Wx模組的程式中
有一個重複宣告的地方
解法就是改掉Wx 模組中的一個header 檔
只是我不知道那個檔案在哪裡??
突然間又翻到了一份資料

Install Padre on Strawberry Perl for Windows

裏頭有一段
cpanm --look

其中一個的指令cpanm --look
就是讓你切到source code目錄
我就照著bug文件的描述
把要新增的字串加到了wxapi.h
因為社群的回應測試結果是成功的

wapi.h
改完存檔後我就下cpanm Wx -n
ㄝ...怎麼還是一樣
想了一下,再透過cpanm --look Wx比對目錄
喔..好...
原來每一次cpanm都會新建一個working directory
再一次切到source目錄
再一次改掉wxapi.h
用以下的指令來自己做compile的動作
perl Makefile.PL
gmake
gmake test
gmake install
(就是取代dmake, 它會告訴你太舊了)
四個指令做完
當然就是把Wx模組給裝了上去
然後再一次下cpanm Padre -n
就成功了ㄝ.....
哈.....真是好玩了!!
不過真的就OK嗎 ??
安裝好了之後,當然就是把IDE的畫面叫起來
其實很簡單啦!!
就是直接下padre指令
但是呢?? 又出現錯誤了.....
喔.....搞OpenSource真是累阿~~

Malformed UTF-8 character (fatal) at C:\strawberry-perl-5.30.0.1-64bit-PDL\perl\site\lib\Padre\Wx\Main.pm line 5564.
Compilation failed in require at C:\strawberry-perl-5.30.0.1-64bit-PDL\perl\site\lib\Padre\Wx\App.pm line 58.
Perl exited with active threads:
1 running and unjoined
0 finished and unjoined
0 running and detached


當然又是上網找資料.........
還真有阿~~
這一篇裏頭有答案

Padre does not work with Perl 5.26


只是有用的答案在其中一個人寫的一行話裡頭而已
一開始我還把它忽略掉的
因為在他的發文下頭
又有一個人說, 因為Wx的關係
要你只套用在5.28
我就心裡頭在想
Wx的問題我就已經解掉啦~~
所以我又去弄個5.28的環境來安裝padre
E04...騙肖ㄝ...問題一樣阿!!
我把那段話highlight出來

Malformed UTF-8 character


但他沒有寫解法
我也不知道怎麼找的
就突然找到了底下這一篇正解
來..我把他給貼出來
Malformed UTF-8 character











其實我一開始看不太懂他在寫什麼
比照之前lpawa的發言
對啦....就是改掉一個字就對了
但是我的畫面是這樣啊



看得出來我在講甚麼啦呼...
好吧!! 我就把死馬當活馬醫
就把哪個看起來不是正常字元從Main.pm裡頭給拿掉
然後再照著後續段落
要把某一行搬到某一行之後
db_increment









好了...都改完了
該是試著叫起IDE畫面了
padre












真的解了...沒呼巄吧!!
也是運氣啦!!
剛好都找到了相關資料
來執行昨天的c\test\test3.pl
看是否能夠正常調用paws模組
列出我的帳號裡的DynamoDB表格
DynamoDB