之前在Leopard (Mac OS X 10.5.X)的時候,都是靠Macports在討生活的,大部份我常用的ports都還Maintain的不錯,但到了Snow Leopard (Mac OS X 10.6.X) 的年代,發現許多ports都被發的bug都一直掛著沒人維護,小弟只好自力救濟了。像是著名的GDB神器,在console底下,只要下個 port search gdb ,就會出現這麼樣一個東西:gdb @6.8 (devel) 6.8版,還蠻新的嘛。接著再下 sudo port install gdb ,就會出現底下不堪入目的畫面
GDB: The GNU Project Debugger---> Computing dependencies for gdb 哪泥......macports裡頭竟然連gdb的檔案都沒放了,不再是萬能的了,此時只好靠萬能的”source code”以及"gcc"了,心想只要有心,沒有porting不過來呀...科科,就是這"灌C"的威力。先來抓個最新版的weekly build的GDB來嚐鮮一下
---> Verifying checksum(s) for gdb
Error: Target org.macports.checksum returned: Could not open file: /opt/local/var/macports/distfiles/gdb/gdb-6.8.tar.bz2
Error: Status 1 encountered during processing.wget ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-7.0.50.20091110.tar.bz2 接著, bunzip2 gdb-*.tar.bz2 解開這壓縮檔。重點戲來了,configure一下,藍色字是key point,記得加,這是在Snow Leopard上編gdb成功的關鍵: $ ./configure --disable-werror --build=x86_64-apple-darwin10 --prefix=/Users/kent/usr 這個時候build成功了,很開心的跑 gdb ./hello ,我想應該會出現
$ make && make installGNU gdb (GDB) 7.0.50.20091110 心想,搓屎…怎麼會這樣,找不到debug symbol..囧rz。(後來發現,好像每次都會出現,但還是可以正常使用,先不管…堪用),再接著執行
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin10".
For bug reporting instructions, please see:
Reading symbols from /Users/kent/RD1-2/practice/GDB/gdb-samples/hello...(no debugging symbols found)...done.
(gdb) (gdb) b main 後來求助於Google,似乎是權限的關係,假使你當初就用root權限安裝的話,就沒這問題了。若你和我一樣喜歡安裝在個人目錄下(有代--prefix=/Users/xxx/參數),記得將gdb作個權限相關設定
Breakpoint 1 at 0x100000f0c: file hello.c, line 6.
(gdb) run
Starting program: /Users/kent/RD1-2/practice/GDB/gdb-samples/hello
Unable to find Mach task port for process-id 80958: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
(gdb) $ sudo chgrp procmod /yourpath/gdb
$ sudo chmod g+s /yourpath/gdb
前一篇有個網友提到的擾人的"^M"符號的問題,果然從gdb v6.3.5升到gdb v7.0之後就迎刃而解了,照慣例,抓張圖吧。
Click Here to Close
※1.排序(Sort) : 點擊標題 2.快速顯示某項分類(Label) : 點擊分類名稱
Click Here to Close
Tags Cloud
My Secret Notebook (我的火星文記事本)
※請點擊此連結開始解讀火星文記事本(Click here to Decode):
c5X3jlpV7oPRK7T4atrTXlF8I2KtF+UkIlezLVtCdoxLReWF
mm0NiDU82M4jV6t2RBCBrz25cuC9sjNwAuamtlEmcM1VguTu
hVs5vX7xayeXoDLwLRIsXDdxVSYNoZecdMY16+hwqpbgm2ch
78a90t0Gr9zL74TcZYwjdl3BbmnCRBJjD88dRHxdcPqIiDGp
zWe9q/XdSxe6yXKdh/hwQJ+D+o6XPWboby+RmoOtn9wmdQnN
o8h7BKWLQQMO+5XEV0RDZmUO3X7ADN8bzC8JmhP1BVP2V80d
Fs3ohWPSt7UBKnHCwI5tyeakRQihDKCzfiP7F0J+spSxCSlR
PqAj0w88PWB2ax8Y2++K/XMFHF6VuSeRhSMCaExmTTLqngxc
WlEA551OvUriquyW8QQc6jVg8lQn4m4H78QgUPvc2F3LsYKm
fd9HLa+mXrnTgh4SfgyUmS84BZdoGpMbfM4OpuWgFVZcN2e/
uKhuJm7md4G0wyo7efCLPwWWWqxZG8yzwQAHDQr5p/3xZeX4
qjMXzpXiwCqLzTGbZPqx9XMDqtrardSQNAw3dJgxgWALNzyu
/OOiDZGnobvYgDXDRuMQHo1k7gvSR7J+SNIbw7cd4696ChIL
c97GW+hdMcpTOcK9dhIKK8tXDJxiM7OSA28KCN4Wn3N1iJ9y
w4Y6W4GqbSiRxrze5zwOGeG5SbvrYvJ4LSDgND6fszdE43uk
PoPKYyfg3r4JcwrcqDJXcv1jWDuLi1swUK8lXhLLA7Ahfl8a
r+3IJJ4bnUASn9UiEMRZsOKJvK83A/TVZTS5QTz9etA60x7T
67VlH432PnH/ktoaE1XmqhbFgZ7v9UD7ujgxFMYvJ7Y9dNcI
bd3iUVa9EmudYLEuw4Otze1lLL3NQgUb+NNjgKx7r6bUHdmZ
WW7V9g==
mm0NiDU82M4jV6t2RBCBrz25cuC9sjNwAuamtlEmcM1VguTu
hVs5vX7xayeXoDLwLRIsXDdxVSYNoZecdMY16+hwqpbgm2ch
78a90t0Gr9zL74TcZYwjdl3BbmnCRBJjD88dRHxdcPqIiDGp
zWe9q/XdSxe6yXKdh/hwQJ+D+o6XPWboby+RmoOtn9wmdQnN
o8h7BKWLQQMO+5XEV0RDZmUO3X7ADN8bzC8JmhP1BVP2V80d
Fs3ohWPSt7UBKnHCwI5tyeakRQihDKCzfiP7F0J+spSxCSlR
PqAj0w88PWB2ax8Y2++K/XMFHF6VuSeRhSMCaExmTTLqngxc
WlEA551OvUriquyW8QQc6jVg8lQn4m4H78QgUPvc2F3LsYKm
fd9HLa+mXrnTgh4SfgyUmS84BZdoGpMbfM4OpuWgFVZcN2e/
uKhuJm7md4G0wyo7efCLPwWWWqxZG8yzwQAHDQr5p/3xZeX4
qjMXzpXiwCqLzTGbZPqx9XMDqtrardSQNAw3dJgxgWALNzyu
/OOiDZGnobvYgDXDRuMQHo1k7gvSR7J+SNIbw7cd4696ChIL
c97GW+hdMcpTOcK9dhIKK8tXDJxiM7OSA28KCN4Wn3N1iJ9y
w4Y6W4GqbSiRxrze5zwOGeG5SbvrYvJ4LSDgND6fszdE43uk
PoPKYyfg3r4JcwrcqDJXcv1jWDuLi1swUK8lXhLLA7Ahfl8a
r+3IJJ4bnUASn9UiEMRZsOKJvK83A/TVZTS5QTz9etA60x7T
67VlH432PnH/ktoaE1XmqhbFgZ7v9UD7ujgxFMYvJ7Y9dNcI
bd3iUVa9EmudYLEuw4Otze1lLL3NQgUb+NNjgKx7r6bUHdmZ
WW7V9g==
My Flickr
Showing posts with label macports. Show all posts
Showing posts with label macports. Show all posts
| [+/-] |
[Mac/Snow Leopard] build GDB v7.0 from source |
.Comment counts:
7 Comments
| [+/-] |
[Mac] MacPorts on Snow Leopard (Mac OS X 10.6.1) |
自從上次升級到Snow Leopard之後,早就有心裡準備,知道MacPorts可能會先爛掉...XD,要能正常使用,必需升級到最新版的XCode,並且將MacPorts裡所有用的apps重build一次,過程中有點不太順利,想說只要 sudo port update -v ,再來個 sudo port upgrade outdated 就可以"無痛升級"了..,但「待志通常不像憨人想的那麼簡單」...囧rz。
後來在MacPorts的wiki上看到了這篇 Migrating a MacPorts install to a new major OS version or CPU architecture,並且想到之前還小懵懂無知,對於ports的操作也還不太熟,MacPorts被我惡搞,亂裝了一些有的沒的,既然現在要整理一下,那麼就...就通通砍掉重練吧吧吧....照著底下作就對了:
因為工作上與習慣的關係,漸漸地往CLI(Command-line interface)魔人一路邁進,對於GNU/Linux的CLI比較熟悉,由於Snow Leopard (Mac OS X)是屬於 *BSD Unix ,像是ls, find, grep...一些基本的指令多少有些差異。藉由強大的Macports,我們可以將Snow Leopard的CLI環境弄得跟GNU/Linux的類似,記得要要加"with_default_names"這個variant,這樣子build出來的binary才會以預設的app name,而不是g開頭的(Ex: gls(ls), gfind(find), gawk(awk)...)。底下這幾個ports就是我們的主角:
後來在MacPorts的wiki上看到了這篇 Migrating a MacPorts install to a new major OS version or CPU architecture,並且想到之前還小懵懂無知,對於ports的操作也還不太熟,MacPorts被我惡搞,亂裝了一些有的沒的,既然現在要整理一下,那麼就...就通通砍掉重練吧吧吧....照著底下作就對了:
- 首先將原本安裝過的軟體清單備份起來
port installed > myports.txt - 接著將所有安裝的軟體幹掉
sudo port clean installed
sudo port -f uninstall installed - 最後呢,一一裝回被移除的軟體吧
sudo port install portname +variant1 +variant2 ...
因為工作上與習慣的關係,漸漸地往CLI(Command-line interface)魔人一路邁進,對於GNU/Linux的CLI比較熟悉,由於Snow Leopard (Mac OS X)是屬於 *BSD Unix ,像是ls, find, grep...一些基本的指令多少有些差異。藉由強大的Macports,我們可以將Snow Leopard的CLI環境弄得跟GNU/Linux的類似,記得要要加"with_default_names"這個variant,這樣子build出來的binary才會以預設的app name,而不是g開頭的(Ex: gls(ls), gfind(find), gawk(awk)...)。底下這幾個ports就是我們的主角:
◎GNU Core Utilities:
coreutils
findutils
gawk
grep
gsed
bash
(安裝方式: sudo port install coreutils +with_default_names)
----------------------------------------------------------
◎順便記錄一下個人常用的:
bash-completion
cflow
ctags
cscope
htop
irssi
lesspipe
git-core
subversion
vim
colordiff
cowsay
wget
.Comment counts:
0 Comments
Subscribe to:
Posts (Atom)
